参数表达式
- CollectionParameter(集合参数)
- DynamicParameter(动态参数)
- FontSampleParameter(字体取样参数)
- ScalarParameter(标量参数)
- StaticBoolParameter(静态布尔参数)
- StaticSwitchParameter(静态开关参数)
- StaticComponentMaskParameter(静态分量蒙版参数)
- VectorParameter(矢量参数)
- TextureObjectParameter(纹理对象参数)
- TextureSampleParameter2D(纹理取样参数 2D)
- TextureSampleParameterSubUV(纹理取样参数子 UV)
- TextureSampleParameterCube(纹理取样参数立方体)
- TextureSampleParameterMovie(纹理取样参数电影)
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) | 要用作纹理一部分的当前字体纹理页面。 |
ScalarParameter(标量参数)
ScalarParameter(标量参数)表达式输出单个浮点值 (Constant(常量)
),这个值可在材质实例中访问和更改,或者由代码快速访问和更改。
项目 | 说明 |
---|---|
属性 |
|
参数名称(Parameter Name) |
指定用于在材质实例中以及通过代码来识别参数的名称。 |
组(Group) |
提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。 |
默认值(Default Value) | 指定常量采用的初始值。 |
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 | 接收具有任意数目通道的值。 |
用法示例:静态开关可用于除去材质的整个分支,而不会产生运行时成本。各个实例可具有不同的值,这使您能够建立模板化的着色器设置,而不会影响性能。
StaticComponentMaskParameter(静态分量蒙版参数)
StaticComponentMaskParameter(静态分量蒙版参数)表达式的行为就像是普通的组件蒙版一样,只不过实例可设置蒙版值。
此参数称为“静态”是因为它不可在运行时更改,而只能在材质实例编辑器中设置。静态开关是在编译时(而非运行时)进行应用。这意味着删除的材质分支决不会执行,因此静态开关在运行时实际上是自由的。另一方面,对于材质中 使用的 每一种静态参数组合(滥用静态参数组合可能会导致着色器激增),都必须通过编译来产生材质的新版本。请尽量减少材质中的静态参数数目以及实际使用的静态参数排列数。
项目 | 说明 |
---|---|
属性 |
|
参数名称(Parameter Name) |
指定用于在材质实例中以及通过代码来识别参数的名称。 |
组(Group) |
提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。 |
默认 R(Default R) | 如果选中此项目,那么会将输入值的红色通道(第一个通道)传递到输出。 |
默认 G(Default G) | 如果选中此项目,那么会将输入值的绿色通道(第二个通道)传递到输出。 |
默认 B(Default B) | 如果选中此项目,那么会将输入值的蓝色通道(第三个通道)传递到输出。 |
默认 A(Default A) | 如果选中此项目,那么会将输入值的阿尔法通道(第四个通道)传递到输出。 |
用法示例:静态组件蒙版可用来让实例选择所要使用的蒙版纹理通道。对于不必在运行时更改的静态蒙版,应始终使用这种方法,而不要将纹理查找乘以矢量参数以屏蔽通道,因为这将浪费纹理带宽和着色器指令。
VectorParameter(矢量参数)
VectorParameter(矢量参数)表达式与 Constant4Vector(常量 4 矢量) 完全相同,只不过它是可在材质实例中以及通过代码来修改的参数。VectorParameter(矢量参数)的一个好处是,它的值可使用取色器来设置。
项目 | 说明 |
---|---|
属性 |
|
参数名称(Parameter Name) |
指定用于在材质实例中以及通过代码来识别参数的名称。 |
组(Group) |
提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。 |
默认值(Default Value)
|
默认情况下输出的矢量(除非被 MaterialInstanceConstant(材质实例常量)覆盖)。
|
由于插值器受限制,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 | 输出颜色的阿尔法通道。如果纹理未包含阿尔法通道,那么将“阿尔法”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。 |