Version:

Gradient Baker 组件

使用 Gradient Baker 组件可将复杂的渐变节点图烘焙成一张静态图像。这样,你就可以在运行时使用单个 Image Gradient来优化性能,而不用每次都计算整个节点图。

例如,假设您有一个复杂的梯度链,其中包含一个生成器和多个梯度修改器。

你可以创建一个Gradient Baker,并将其输入梯度连接到你想要烘焙的梯度链输出。Gradient Baker还需要一个输入边界,用于对数据进行采样。将这两部分连接起来后,图形将如下所示。

Complex chain with gradient baker

点击Bake image组件上的Gradient Baker按钮,就能烘焙出一张静态图像,该图像可用于单个 Image Gradient,从而将整个复杂图形简化为单个组件。

Complex chain with gradient baker

最后一个优化步骤是选中梯度链中的所有梯度,并将其标记为 Editor only。这将防止在运行时加载/计算它们。您也可以选择将Gradient Baker标记为Editor only,但这不会产生任何影响,因为它没有运行时组件。

Mark gradient/gradient generators Editor only to disable at runtime

提供方

Gradient Signal Gem

Gradient Baker 属性

属性说明默认值
Preview显示在应用所有属性后将从该组件烘焙出的渐变图像。
Input Bounds带有形状组件的实体,用于确定数据采样的位置。EntityIdNone
Resolution输出烘焙图像的分辨率。Vector2: 1 to InfinityX:512, Y:512
Output Format输出烘焙图像的输出格式。R8, R16, R32R32
Output Path输出图像的文件路径。

注意: 默认情况下,初始输出路径的后缀为 _gsi。这是因为将消耗输出图像的Image Gradient只支持可用像素格式的子集。后缀 _gsi 将确保资产处理器使用受支持的格式。如果输出图像已配置为使用受支持的格式,则可以省略后缀 _gsi。有关此限制的更多信息,请参阅 Image Gradient文档
AZ::IO::PathNone

Gradient 属性

属性说明默认值
Gradient Entity Id设置具有活动 Gradient 组件的实体。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设置输入梯度的中值。Float: 0.0 - 1.01.0
Input Min设置输入梯度的最小值。Float: 0.0 - 1.00.0
Input Max设置输入梯度的最大值。Float: 0.0 - 1.01.0
Output Min设置输出梯度的最小值。Float: 0.0 - 1.00.0
Output Max设置输出梯度的最大值。Float: 0.0 - 1.01.0

GradientBakerRequestBus

使用以下带有 GradientBakerRequestBus EBus 接口的请求函数与 Gradient Baker 组件进行通信。

方法名称说明参数返回值脚本化
BakeImage将图像烘焙到输出路径。NoneNoneYes
GetInputBounds返回要采样的输入边界的 AZ::EntityId。NoneAZ::EntityIdYes
SetInputBounds设置要采样的输入边界的 AZ::EntityId。AZ::EntityIdNoneYes
GetOutputResolution返回烘焙图像的输出分辨率。NoneAZ::Vector2Yes
SetOutputResolution设置烘焙图像的输出分辨率。AZ::Vector2NoneYes
GetOutputFormat返回烘焙图像的输出格式。NoneGradientSignal::OutputFormatYes
SetOutputFormat设置烘焙图像的输出格式。GradientSignal::OutputFormatNoneYes
GetOutputImagePath返回烘焙输出图像的路径。NoneAZ::IO::PathYes
SetOutputImagePath设置输出图像的烘焙路径。AZ::IO::PathNoneYes