提升参数¶
本教程引导您将着色器图中的常数节点提升为参数。提升后的常数会成为生成的着色器上的 Uniform,并作为 Material Type 上的属性公开,您可以在 Kanzi Studio 的 Properties 面板中编辑该属性,并在运行时查看其效果。
前提条件¶
开始之前,请先启用 Shader Graph Editor。请参阅 启用着色器图编辑器。
创建基础着色器图¶
在本节中,您将构建一个最简单的 Fullscreen 着色器图,用单个 Color4 常数驱动 Material Output 的 Color 输入。
在 Library 中,按 Alt 并右键单击 Materials and Textures > Shader Graphs,然后选择 Shader Graph。Kanzi Studio 会创建材质类型为 Fullscreen 的着色器图,并在画布上放置一个 Material Output 节点。
在画布上点击右键并选择 Color4。点击节点上的色块并选取一种颜色。
从 Color4 节点的 result 输出端口拖动到 Material Output 节点的 Color 输入端口。
点击 Generate Shader。着色器编译成功后,Kanzi Studio 会在 Library 中创建一个 Material Type。
将常数提升为参数¶
任何常数节点(Scalar、Int、Vec2、Vec3、Vec4、Color3、Color4)都可以提升为参数。
在本节中,您将提升 Color4 节点,以便在 Properties 面板中而不是在节点上编辑其值。
右键点击 Color4 节点。
选择 Promote to Parameter。节点会更新,表明该常数现在是参数。
点击 Generate Shader 重新生成着色器。提升后的常数现在是 Material Type 上的 Uniform,并作为属性出现在每个使用该 Material Type 的 Material 上。
如果启用了 Generate Shader 旁边的 Auto 开关,编辑器会自动为您重新生成着色器。
在 Properties 面板中编辑参数¶
要更改提升后参数的值并在运行时查看效果:
在 Kanzi Studio 的 Library 中,选择该着色器图生成的 Material。
在 Properties 面板中,找到与已提升参数对应的属性并更改其值。
在使用该 Material 的任何地方观察更改。由于该参数现在是 Uniform,Kanzi Studio 无需重新生成着色器即可应用新值。
取消提升参数¶
要将参数还原为常数,请右键点击提升后的节点并选择 Unpromote from Parameter。节点在提升期间持有的值会成为新的常数值,重新生成着色器后,对应的属性会从 Material Type 中消失。