Version:

Gradient Mixer 组件

Gradient Mixer 组件通过层混合操作混合多个输入梯度层,生成新的梯度。

提供方

Gradient Signal Gem

Gradient Mixer 属性

Gradient Mixer component properties

属性说明默认值
Preview在世界空间中显示该组件应用所有属性后的输出渐变效果。选择 Show Larger Preview按钮,可查看一个单独的可停靠窗口,其中包含更大的预览渐变效果。
Pin Preview to Shape设置一个具有兼容Shape组件的实体,作为预览的位置和边界框。EntityIdCurrent Entity
Preview Position设置预览的世界位置。

只有在Pin Preview to Shape中没有选择实体时,此字段才可用。
Vector3: -Infinity to InfinityX:0.0, Y:0.0, Z:0.0
Preview Size设置预览的尺寸。Vector3: 0.0 to InfinityX:1.0, Y:1.0, Z:1.0
Constrain to Shape如果Enabled,渐变预览只会显示在Pin Preview to Shape中所选实体形状内的渐变。

此字段仅在Pin Preview to Shape中选择了实体时可用。
BooleanDisabled
Layers一个包含梯度和梯度运算的数组。 梯度运算的应用顺序与该数组相同。
Layers - Enabled切换该渐变层的影响力。BooleanEnabled
Layers - Operation设置用于将此梯度图层与之前所有图层的结果混合的函数。更多信息请参考后面的 梯度混合操作部分。Initialize, Multiply, Linear Dodge (Add), Subtract, Darken (Min), Lighten (Max), Average, Normal, or Overlay.Initialize
Layers - Gradient请参阅下面的 Gradient 属性

Gradient 属性

Gradient properties

属性说明默认值
Gradient Entity Id设置具有活动 GradientGradient Modifier 组件的实体。EntityIdNone
Opacity设置输入渐变的不透明度。Float: 0.0 - 1.01.0
Invert Input反转输入梯度的值。BooleanDisabled
Preview (Input)显示由 Gradient Entity Id 中设置的实体提供的渐变,并应用以下渐变属性。
Enable Transform如果Enabled,则可以修改输入梯度的平移、缩放和旋转。BooleanDisabled
Translate设置输入梯度的平移。Vector3: -Infinity to InfinityX:0.0, Y:0.0, Z:0.0
Scale设置输入梯度的比例。Vector3: 0.0001 to InfinityX:1.0, Y:1.0, Z:1.0
Rotate设置输入梯度的旋转角度。Vector3: -Infinity to InfinityX:0.0, Y:0.0, Z:0.0
Enable Levels如果Enabled,则输入梯度的输入值和输出值可通过以下属性进行修改。BooleanDisabled
Input Mid重映射输入梯度中大于0和小于1值的中点。Input Mid值为 0.5,则输出渐变效果较暗。 如果Input Mid值为2.0,则输出渐变效果较浅。Float: 0.0 - 10.01.0
Input Min重映射输入梯度,使其位于Input MinInput Max之间。 所有小于或等于Input Min的输出梯度值都会设置为0Float: 0.0 - 1.00.0
Input Max重映射输入梯度,使其位于Input MinInput Max之间。 所有大于或等于Input Max的输出梯度值都会设置为1Float: 0.0 - 1.01.0
Output Min设置输出梯度的最小值。重映射输入梯度,使其位于Output MinOutput Max之间。Float: 0.0 - 1.00.0
Output Max设置输出梯度的最大值。重映射输入梯度,使其位于Output MinOutput Max之间。Float: 0.0 - 1.01.0

梯度混合操作

下面的示例混合了这些梯度:

第1个 Gradient第2个 Gradient
Linear ramp gradientNoise gradient
注意:
渐变的Opacity属性在其Operation之后应用。
混合运算说明混合后的 Gradient
Initialize将混合渐变的值初始化为当前渐变层的值。与Normal操作不同的是,当Opacity小于 1时,当前渐变层不会与之前渐变层的结果混合。Example gradients mixed with the initialize operation
Multiply将当前梯度值与前几层的结果相乘。Example gradients mixed with the multiply operation
Linear Dodge (Add)将当前梯度值与前几层的结果相加。Example gradients mixed with the linear dodge-add operation
Subtract将当前梯度值与前几层的结果相减。Example gradients mixed with the subtract operation
Darken (Min)从当前梯度和前几层的结果中选择最小值。Example gradients mixed with the darken-min operation
Lighten (Max)从当前梯度和前几层的结果中选择最大值。Example gradients mixed with the lighten-max operation
Average求当前梯度值和前几层结果的平均值。Example gradients mixed with the average operation
Normal使用 Opacity 的值来平均当前渐变值和之前图层的结果。如果Opacity等于1,则选择当前梯度的值。Example gradients mixed with the normal operation
Overlay增强混合渐变中高低值的对比度。 如果前几层的结果值小于.5,该操作将使混合渐变变暗。 如果数值大于 .5,混合渐变将变亮。Example gradients mixed with the overlay operation

MixedGradientRequestBus

使用以下带有 MixedGradientRequestBus EBus 接口的请求函数,与游戏中的渐变混合器组件进行通信。

方法名称说明参数返回值可脚本化
AddLayer将图层添加到 Layers 数组的末尾。Mixed Gradient LayerNoneYes
GetLayer返回指定索引处的混合梯度层。Layer Index: IntegerMixed Gradient LayerYes
GetNumLayers返回混合梯度层的数量。NoneCount: IntegerYes
RemoveLayer删除指定索引处的混合梯度图层。Layer Index: IntegerNoneYes