Version: 2023.1

Gradient

class in UnityEngine

切换到手册

描述

Represents a Gradient used for animating colors.

Gradients allow animating or interpolating colors by having several "color keys" and "alpha keys". Color keys and alpha keys are separate, and each key has a time specified for it, ranging from 0.0 (0%) to 1.0 (100%). Note that the alpha and colors keys will be automatically sorted by time value and that it is ensured to always have a minimum of 2 color keys and 2 alpha keys.

How the colors are interpolated between the keys is controlled by GradientMode.

Public Gradient variables used in scripts automatically display the gradient editor in the inspector window. GradientUsageAttribute allows specifying whether the gradient colors should be high dynamic range for editing.

using UnityEngine;

public class ExampleScript : MonoBehaviour { void Start() { var gradient = new Gradient();

// Blend color from red at 0% to blue at 100% var colors = new GradientColorKey[2]; colors[0] = new GradientColorKey(Color.red, 0.0f); colors[1] = new GradientColorKey(Color.blue, 1.0f);

// Blend alpha from opaque at 0% to transparent at 100% var alphas = new GradientAlphaKey[2]; alphas[0] = new GradientAlphaKey(1.0f, 0.0f); alphas[1] = new GradientAlphaKey(0.0f, 1.0f);

gradient.SetKeys(colors, alphas);

// What's the color at the relative time 0.25 (25%) ? Debug.Log(gradient.Evaluate(0.25f)); } }

变量

alphaKeys在渐变中定义的所有 Alpha 键。
colorKeys在渐变中定义的所有颜色键。
colorSpaceIndicates the color space that the gradient color keys are using.
modeControls how the gradient colors are interpolated.

构造函数

Gradient创建新的 Gradient 对象。

公共函数

Evaluate计算给定时间处的颜色。
SetKeys使用颜色键和 Alpha 键的数组设置渐变。