参数表达式

CollectionParameter(集合参数)

CollectionParameter(集合参数)表达式用来引用“参数集合”资产。这些是可以由许多不同资产(例如材质蓝图等等)轻松重复使用的参数组。有关参数集合的更多信息,请务必参阅 参数集合文档

同一材质可以引用最多2种不同的MaterialParameterCollections(材质参数集合)。 一种主要用来作为游戏范围内的值,另一种作为关卡特定参数。 一个集合最多可以有1024个标量参数和1024个向量参数。

DynamicParameter(动态参数)

DynamicParameter(动态参数)表达式为粒子发射器提供管道,以便将最多四个要以任意方式处理的值传递给材质。这些值是通过放置在发射器上的 ParameterDynamic 模块在 Cascade 中设置的。

项目 说明

属性

参数名称(Param Names) 参数名称的数组。这里的值将确定材质编辑器中显示在表达式输出上的文本,并且将是 Cascade 中的 ParameterDynamic 模块中用来引用参数的名称。

输出

参数 1(Param1) 输出“参数名称”(Param names)属性中第一个参数的值。此输出的名称可根据“参数名称”(Param names)属性中的值而变化。
参数 2(Param2) 输出“参数名称”(Param names)属性中第二个参数的值。此输出的名称可根据“参数名称”(Param names)属性中的值而变化。
参数 3(Param3) 输出“参数名称”(Param names)属性中第三个参数的值。此输出的名称可根据“参数名称”(Param names)属性中的值而变化。
参数 4(Param4) 输出“参数名称”(Param names)属性中第四个参数的值。此输出的名称可根据“参数名称”(Param names)属性中的值而变化。

FontSampleParameter(字体取样参数)

FontSampleParameter(字体取样参数)表达式提供了一种在材质实例常量中公开基于字体的参数的方法,这使您可以在不同实例中轻松使用不同的字体。字体的阿尔法通道将包含字体轮廓值。您只能指定有效的字体页面。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

字体(Font) 包含要在表达式内保留的默认字体资产(来自 内容浏览器)。
字体纹理页面(Font Texture Page) 要用作纹理一部分的当前字体纹理页面。

FontSampleParameterExample.png

ScalarParameter(标量参数)

ScalarParameter(标量参数)表达式输出单个浮点值 (Constant(常量) ),这个值可在材质实例中访问和更改,或者由代码快速访问和更改。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

默认值(Default Value) 指定常量采用的初始值。

ScalarParameterExample.png

StaticBoolParameter(静态布尔参数)

StaticBoolParameter(静态布尔参数)的工作方式类似于 StaticSwitchParameter(静态开关参数),但是它仅创建一个布尔参数,而不实现开关。

此参数称为“静态”是因为它不可在运行时更改,而只能在材质实例编辑器中设置。静态开关是在编译时(而非运行时)进行应用。这意味着删除的材质分支决不会执行,因此静态开关在运行时实际上是自由的。另一方面,对于材质中 使用的 每一种静态参数组合(滥用静态参数组合可能会导致着色器激增),都必须通过编译来产生材质的新版本。请尽量减少材质中的静态参数数目以及实际使用的静态参数排列数。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

默认值(Default Value) 参数的默认布尔值,即 True(选中)或 False

此节点与材质函数 配合使用。

StaticSwitchParameter(静态开关参数)

StaticSwitchParameter(静态开关参数)表达式接收两个输入,并且在参数值为 true 时输出第一个输入的值,否则输出第二个输入的值。

此参数称为“静态”是因为它不可在运行时更改,而只能在材质实例编辑器中设置。静态开关是在编译时(而非运行时)进行应用。这意味着删除的材质分支决不会执行,因此静态开关在运行时实际上是自由的。另一方面,对于材质中 使用的 每一种静态参数组合(滥用静态参数组合可能会导致着色器激增),都必须通过编译来产生材质的新版本。请尽量减少材质中的静态参数数目以及实际使用的静态参数排列数。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

默认值(Default Value) 如果为 true,那么输出将是第一个输入。否则,输出将是第二个输入。
扩展标题显示(Extended Caption Display) 如果为 true,那么表达式的标题栏将显示表达式的值。

输入

A 接收具有任意数目通道的值。
B 接收具有任意数目通道的值。

用法示例:静态开关可用于除去材质的整个分支,而不会产生运行时成本。各个实例可具有不同的值,这使您能够建立模板化的着色器设置,而不会影响性能。

StaticSwitchParameterExample_A.png

StaticSwitchParameterExample_B.png

StaticComponentMaskParameter(静态分量蒙版参数)

StaticComponentMaskParameter(静态分量蒙版参数)表达式的行为就像是普通的组件蒙版一样,只不过实例可设置蒙版值。

此参数称为“静态”是因为它不可在运行时更改,而只能在材质实例编辑器中设置。静态开关是在编译时(而非运行时)进行应用。这意味着删除的材质分支决不会执行,因此静态开关在运行时实际上是自由的。另一方面,对于材质中 使用的 每一种静态参数组合(滥用静态参数组合可能会导致着色器激增),都必须通过编译来产生材质的新版本。请尽量减少材质中的静态参数数目以及实际使用的静态参数排列数。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

默认 R(Default R) 如果选中此项目,那么会将输入值的红色通道(第一个通道)传递到输出。
默认 G(Default G) 如果选中此项目,那么会将输入值的绿色通道(第二个通道)传递到输出。
默认 B(Default B) 如果选中此项目,那么会将输入值的蓝色通道(第三个通道)传递到输出。
默认 A(Default A) 如果选中此项目,那么会将输入值的阿尔法通道(第四个通道)传递到输出。

用法示例:静态组件蒙版可用来让实例选择所要使用的蒙版纹理通道。对于不必在运行时更改的静态蒙版,应始终使用这种方法,而不要将纹理查找乘以矢量参数以屏蔽通道,因为这将浪费纹理带宽和着色器指令。

StaticComponentMaskParameterExample.png

VectorParameter(矢量参数)

VectorParameter(矢量参数)表达式与 Constant4Vector(常量 4 矢量) 完全相同,只不过它是可在材质实例中以及通过代码来修改的参数。VectorParameter(矢量参数)的一个好处是,它的值可使用取色器来设置。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

默认值(Default Value)
  • R

  • G

  • B

  • A

默认情况下输出的矢量(除非被 MaterialInstanceConstant(材质实例常量)覆盖)。
  • 指定表达式所输出的矢量的红色(第一个)通道的浮点值。

  • 指定表达式所输出的矢量的绿色(第二个)通道的浮点值。

  • 指定表达式所输出的矢量的蓝色(第三个)通道的浮点值。

  • 指定表达式所输出的矢量的阿尔法(第四个)通道的浮点值。

VectorParameterExample.png

由于插值器受限制,VertexColor(顶点颜色)与 Transform(转换)节点互斥。如果您同时使用 Transform(转换)节点和 VertexColor(顶点颜色),那么 VertexColor(顶点颜色)的结果为全白色。

程序员需知:对于精灵粒子,颜色将按顶点传达给着色器,而网格粒子的颜色将设置为着色器常量。

TextureObjectParameter(纹理对象参数)

TextureObjectParameter(纹理对象参数)表达式定义一个纹理参数并输出纹理对象,以便在调用具有纹理输入的函数的材质中使用。此节点不会对该纹理进行实际取样,因此必须与“纹理取样”(TextureSample)节点配合使用。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

纹理(Texture) 指定表达式所取样的纹理。
取样类型(Sampler Type) 此节点所要取样并输出的数据类型。
Mip 值模式(MipValueMode) 对纹理应用一个将会影响外观及性能的噪声值。

此节点与材质函数 配合使用。

TextureSampleParameter2D(纹理取样参数 2D)

TextureSampleParameter2D(纹理取样参数 2D)表达式与 TextureSample(纹理取样)完全相同,只不过它是可在材质实例中以及通过代码来修改的参数。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

纹理(Texture) 指定表达式所取样的纹理。
取样类型(Sampler Type) 此节点所要取样并输出的数据类型。
Mip 值模式(MipValueMode) 对纹理应用一个将会影响外观及性能的噪声值。

输入

UVs 接收 UV 纹理坐标,以用于纹理。如果没有任何值输入到 UVs,那么将使用材质所应用于的网格的纹理坐标。

输出

RGB 输出颜色的三通道 RGB 矢量值。
R 输出颜色的红色通道。
G 输出颜色的绿色通道。
B 输出颜色的蓝色通道。
A 输出颜色的阿尔法通道。如果纹理未包含阿尔法通道,那么将“阿尔法”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。

TextureSampleParameterSubUV(纹理取样参数子 UV)

TextureSampleParameterSubUV(纹理取样参数子 UV)表达式与 ParticleSubUV(粒子子 UV) 完全相同,只不过它是可在材质实例中以及通过代码来修改的参数。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

混合(Blend) 将 SubUV(子 UV)精灵布局的每个帧混合,而不是从一个帧立即“跳跃”到下一个帧。
纹理(Texture) 指定表达式所取样的纹理。
取样类型(Sampler Type) 此节点所要取样并输出的数据类型。
Mip 值模式(MipValueMode) 对纹理应用一个将会影响外观及性能的噪声值。

输入

UVs UV 输入将被忽略,不起任何作用。

输出

RGB 输出颜色的三通道 RGB 矢量值。
R 输出颜色的红色通道。
G 输出颜色的绿色通道。
B 输出颜色的蓝色通道。
A 输出颜色的阿尔法通道。如果纹理未包含阿尔法通道,那么将“阿尔法”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。

TextureSampleParameterCube(纹理取样参数立方体)

TextureSampleParameterCube(纹理取样参数立方体)表达式与 TextureSample(纹理取样)完全相同,只不过它只接受立方体贴图,并且是可在材质实例中以及通过代码来修改的参数。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

纹理(Texture) 指定表达式所取样的纹理。
取样类型(Sampler Type) 此节点所要取样并输出的数据类型。
Mip 值模式(MipValueMode) 对纹理应用一个将会影响外观及性能的噪声值。

输入

UVs 接收 UV 纹理坐标,以用于纹理。如果没有任何值输入到 UVs,那么将使用材质所应用于的网格的纹理坐标。这必须是三通道矢量值。

输出

RGB 输出颜色的三通道 RGB 矢量值。
R 输出颜色的红色通道。
G 输出颜色的绿色通道。
B 输出颜色的蓝色通道。
A 输出颜色的阿尔法通道。如果纹理未包含阿尔法通道,那么将“阿尔法”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。

TextureSampleParameterMovie(纹理取样参数电影)

TextureSampleParameterMovie(纹理取样参数电影)表达式与 TextureSample(纹理取样)完全相同,只不过它只接受电影贴图(Bink 电影),并且是可在材质实例中以及通过代码来修改的参数。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

纹理(Texture) 指定表达式所取样的纹理。
取样类型(Sampler Type) 此节点所要取样并输出的数据类型。
Mip 值模式(MipValueMode) 对纹理应用一个将会影响外观及性能的噪声值。

输入

UVs 接收 UV 纹理坐标,以用于纹理。如果没有任何值输入到 UVs,那么将使用材质所应用于的网格的纹理坐标。

输出

RGB 输出颜色的三通道 RGB 矢量值。
R 输出颜色的红色通道。
G 输出颜色的绿色通道。
B 输出颜色的蓝色通道。
A 输出颜色的阿尔法通道。如果纹理未包含阿尔法通道,那么将“阿尔法”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。