提升参数

本教程引导您将着色器图中的常数节点提升为参数。提升后的常数会成为生成的着色器上的 Uniform,并作为 Material Type 上的属性公开,您可以在 Kanzi Studio 的 Properties 面板中编辑该属性,并在运行时查看其效果。

前提条件

开始之前,请先启用 Shader Graph Editor。请参阅 启用着色器图编辑器。

创建基础着色器图

在本节中,您将构建一个最简单的 Fullscreen 着色器图,用单个 Color4 常数驱动 Material Output 的 Color 输入。

  1. 在 Library 中,按 Alt 并右键单击 Materials and Textures > Shader Graphs,然后选择 Shader Graph。Kanzi Studio 会创建材质类型为 Fullscreen 的着色器图,并在画布上放置一个 Material Output 节点。

  2. 在画布上点击右键并选择 Color4。点击节点上的色块并选取一种颜色。

  3. 从 Color4 节点的 result 输出端口拖动到 Material Output 节点的 Color 输入端口。

  4. 点击 Generate Shader。着色器编译成功后,Kanzi Studio 会在 Library 中创建一个 Material Type。

将常数提升为参数

任何常数节点(Scalar、Int、Vec2、Vec3、Vec4、Color3、Color4)都可以提升为参数。

在本节中,您将提升 Color4 节点,以便在 Properties 面板中而不是在节点上编辑其值。

  1. 右键点击 Color4 节点。

  2. 选择 Promote to Parameter。节点会更新,表明该常数现在是参数。

    ../../_images/promote-context-menu.png
  3. 点击 Generate Shader 重新生成着色器。提升后的常数现在是 Material Type 上的 Uniform,并作为属性出现在每个使用该 Material Type 的 Material 上。

    如果启用了 Generate Shader 旁边的 Auto 开关,编辑器会自动为您重新生成着色器。

在 Properties 面板中编辑参数

要更改提升后参数的值并在运行时查看效果:

  1. 在 Kanzi Studio 的 Library 中,选择该着色器图生成的 Material。

  2. 在 Properties 面板中,找到与已提升参数对应的属性并更改其值。

    ../../_images/runtime-parameter-changes.gif
  3. 在使用该 Material 的任何地方观察更改。由于该参数现在是 Uniform,Kanzi Studio 无需重新生成着色器即可应用新值。

取消提升参数

要将参数还原为常数,请右键点击提升后的节点并选择 Unpromote from Parameter。节点在提升期间持有的值会成为新的常数值,重新生成着色器后,对应的属性会从 Material Type 中消失。

另请参阅

着色器图(实验性)

创建着色器图

创建 PBR 材质

使用材料