参数表达式

这类表达式向材质实例公开属性,以便在子实例中覆盖或在运行时修改。

Windows
MacOS
Linux

CollectionParameter

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

材质最多可以引用两个不同的材质参数集合。一个通常用于表示游戏范围的值, 另一个可以用于表示特定于关卡的参数。一个集合最多可以包含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内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

字体(Font)

包含要在表达式内保留的默认字体资产(来自 内容浏览器)。

字体纹理页面(Font Texture Page)

要用作纹理一部分的当前字体纹理页面。

FontSampleParameterExample.png

ScalarParameter

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

默认值(Default Value)

指定常量采用的初始值。

ScalarParameterExample.png

StaticBoolParameter

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

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

默认值(Default Value)

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

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

StaticSwitchParameter

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

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

默认值(Default Value)

如果为 true,那么输出将是第一个输入。否则,输出将是第二个输入。

扩展标题显示(Extended Caption Display)

如果为 true,那么表达式的标题栏将显示表达式的值。

输入

A

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

B

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

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

StaticSwitchParameterExample_A.png

StaticSwitchParameterExample_B.png

StaticComponentMaskParameter

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

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

默认 R(Default R)

如果选中此项目,那么会将输入值的红色通道(第一个通道)传递到输出。

默认 G(Default G)

如果选中此项目,那么会将输入值的绿色通道(第二个通道)传递到输出。

默认 B(Default B)

如果选中此项目,那么会将输入值的蓝色通道(第三个通道)传递到输出。

默认 A(Default A)

如果选中此项目,那么会将输入值的alpha通道(第四个通道)传递到输出。

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

StaticComponentMaskParameterExample.png

VectorParameter

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

默认值(Default Value)

  • R

  • G

  • B

  • A

默认情况下输出的矢量(除非被 MaterialInstanceConstant(材质实例常量)覆盖)。

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

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

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

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

VectorParameterExample.png

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

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

TextureObjectParameter

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

纹理(Texture)

指定表达式所取样的纹理。

取样类型(Sampler Type)

此节点所要取样并输出的数据类型。

Mip 值模式(MipValueMode)

通过计算的默认硬件选择如何定制取样的mip等级或派生物。这会影响外观及性能的噪声值。

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

TextureSampleParameter2D(纹理取样参数 2D)

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

纹理(Texture)

指定表达式所取样的纹理。

取样类型(Sampler Type)

此节点所要取样并输出的数据类型。

Mip 值模式(MipValueMode)

通过计算的默认硬件选择如何定制取样的mip等级或派生物。这会影响外观及性能的噪声值。

输入

UVs

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

输出

RGB

输出颜色的三通道 RGB 矢量值。

R

输出颜色的红色通道。

G

输出颜色的绿色通道。

B

输出颜色的蓝色通道。

A

输出颜色的alpha通道。如果纹理未包含alpha通道,那么将“alpha”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。

TextureSampleParameterSubUV

TextureSampleParameterSubUV 表达式与ParticleSubUV一致,除了它是一个参数,可以在材质实例中修改,也可以通过代码修改。

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

混合(Blend)

将SubUV sprite布局的每一帧都混合在一起,而不是立即从一个帧“弹出”到下一个。

纹理(Texture)

指定表达式采样的纹理。

采样器类型(Sampler Type)

将从节点取样和输出的数据类型。

MipValueMode

选择如何从默认计算的硬件自定义示例的mip级别或导数。影响外观和性能。

Inputs

UVs

UV输入被忽略,不执行任何操作。

输出

RGB

输出颜色的三信道RGB矢量值。

R

输出颜色的红色信道。

G

输出颜色的绿色信道。

B

输出颜色的蓝色信道。

A

输出颜色的alpha信道。如果纹理不包含alpha信道,将“alpha”信道连接到某物上,虽然从技术上讲不违法,但总是会得到0(黑色)。

TextureSampleParameterCube

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

纹理(Texture)

指定表达式所取样的纹理。

取样类型(Sampler Type)

此节点所要取样并输出的数据类型。

Mip 值模式(MipValueMode)

通过计算的默认硬件选择如何定制取样的mip等级或派生物。这会影响外观及性能的噪声值。

输入

UVs

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

输出

RGB

输出颜色的三通道 RGB 矢量值。

R

输出颜色的红色通道。

G

输出颜色的绿色通道。

B

输出颜色的蓝色通道。

A

输出颜色的alpha通道。如果纹理未包含alpha通道,那么将“alpha”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。

TextureSampleParameterMovie

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

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

纹理(Texture)

指定表达式所取样的纹理。

取样类型(Sampler Type)

此节点所要取样并输出的数据类型。

Mip 值模式(MipValueMode)

通过计算的默认硬件选择如何定制取样的mip等级或派生物。这会影响外观及性能的噪声值。

输入

UVs

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

输出

RGB

输出颜色的三通道 RGB 矢量值。

R

输出颜色的红色通道。

G

输出颜色的绿色通道。

B

输出颜色的蓝色通道。

A

输出颜色的alpha通道。如果纹理未包含alpha通道,那么将“alpha”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。

标签
Select Skin
Light
Dark

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见