Unity 6.3
0 онлайн 0 гостей 3 в системе
Вход

Color32.LerpUnclamped

Declaration

public static Color32 LerpUnclamped(Color32 a, Color32 b, float t);

Параметры

Параметр Описание
a Начальный цвет, возвращаемый, когда t = 0.
b Конечный цвет, возвращаемый при t = 1.
t Коэффициент интерполяции. Коэффициент не будет закреплен и может находиться вне диапазона [0; 1].

Возвращаемое значение

Color32 Цвет, полученный в результате линейной интерполяции между и a и b.

Описание

Линейная интерполяция между цветами a и b с использованием коэффициента интерполяции t.

t закрепляется между 0 и 1. Когда t равняется 0, функция возвращает a. Когда t равняется 1, функция возвращает b.

Если t меньше 0 или больше 1, результат будет линейно экстраполирован из a и b. Например, Color32.LerpUnclamped(new Color32(0, 0, 0, 0), new Color32(50, 50, 50, 50), 3) возвратит цвет, указанный new Color32(150, 150, 150, 150).

Поскольку Color32 хранит каждый цветовой канал в виде байта, незакрепленная интерполяция может привести к переполнению или переполнению целых чисел, что приведет к тому, что интерполированное значение будет перевернуто и останется в диапазоне байта. Например, Color32.LerpUnclamped(new Color32(0, 0, 0, 0), new Color32(200, 200, 200, 200), 2) возвратит цвет, указанный new Color32(144, 144, 144, 144), потому что (200 * 2) mod 256 = 144.

Нижеследующий скрипт установит цвет MeshRenderer на результат незакрепленной интерполяции с использованием параметров, указанных в инспекторе. Чтобы использовать скрипт, прикрепите его к GameObject с MeshRenderer.

using UnityEngine;

[RequireComponent(typeof(MeshRenderer))] public class ColorLerp : MonoBehaviour { public Color32 colorA = Color.white; public Color32 colorB = Color.red; public float interpolationRatio = 0.5f;

private Material material;

private void Start() { material = GetComponent<Renderer>().material; }

void Update() { material.color = Color32.LerpUnclamped(colorA, colorB, interpolationRatio); } }

Дополнительные ресурсы: ,Lerp,.