Ureal Engine

Unreal4材质表达式参数表达式类节点讲解0011

2021-03-06  本文已影响0人  深呼吸10911

参数表达式将 属性暴露给材质实例的表达式将在子实例中被覆盖或在运行时被修改。

Collection Parameters收集参数

收集参数表达式用于引用一个参数集合的资产。这些参数组可以被许多不同的资产轻松地重用,例如材料,蓝图等等。
材质最多可以引用两个不同的MaterialParameterCollections。一个通常用于游戏范围的值,而另一个则可以用于特定于关卡的参数。一个集合最多可以具有1024个标量参数和1024个矢量参数。

DynamicParameter动态参数

所述DynamicParameter表达提供粒子发射器传递到四个值的材料以任何方式使用的导管。这些值是通过放置在发射器上的ParameterDynamic模块在Cascade中设置的。

FontSampleParameter字体采样参数

所述FontSampleParameter表达提供了一种在材料实例恒定暴露基于字体参数,因此很容易在不同的实例使用不同的字体。字体的Alpha通道将包含字体轮廓值。只允许指定有效的字体页面。

ScalarParameter标量参数

所述ScalarParameter表达式输出一个浮点值(常数 可以在材料的实例或在由代码动态访问和改变)。



StaticBoolParameter静态布尔参数

该StaticBoolParameter就像StaticSwitchParameter,但它仅创建一个布尔参数,并没有实现开关。

此参数名为static,因为它无法在运行时更改,只能在“材质实例编辑器”中设置。静态开关是在编译时而不是在运行时应用的。这意味着将不会执行任何掉落的物料分支,因此静态开关在运行时有效地释放了。另一方面,必须为材料中使用的每种静态参数组合编译出新版本的材料,如果滥用,这可能导致着色器爆炸。尝试最小化材质中的静态参数数量以及实际使用的那些静态参数的排列数量。

该节点与MaterialFunctions一起使用 。

StaticSwitchParameter静态开关参数

所述StaticSwitchParameter表达发生在两个输入,并输出第一,如果参数的值是真,且所述第二否则。

此参数名为static,因为它无法在运行时更改,只能在“材质实例编辑器”中设置。静态开关是在编译时而不是在运行时应用的。这意味着将不会执行任何掉落的物料分支,因此静态开关在运行时有效地释放了。另一方面,必须为材料中使用的每种静态参数组合编译出新版本的材料,如果滥用,这可能导致着色器爆炸。尝试最小化材质中的静态参数数量以及实际使用的那些静态参数的排列数量。


StaticComponentMaskParameter静态组件蒙版参数

所述StaticComponentMaskParameter表达的行为就像一个普通的组件蒙版,除了将蒙版值可以通过实例来设置。

此参数名为static,因为它无法在运行时更改,只能在“材质实例编辑器”中设置。静态开关是在编译时而不是在运行时应用的。这意味着将不会执行任何掉落的物料分支,因此静态开关在运行时有效地释放了。另一方面,必须为材料中使用的每种静态参数组合编译出新版本的材料,如果滥用,这可能导致着色器爆炸。尝试最小化材质中的静态参数数量以及实际使用的那些静态参数的排列数量。


用法示例:静态组件蒙版可用于让实例选择要使用的蒙版纹理的通道。如果遮罩是静态的(不需要在运行时更改),则应始终使用此方法,而不是将纹理查找与矢量参数相乘以掩盖通道,因为这会浪费纹理带宽和着色器指令。

VectorParameter向量参数

所述VectorParameter表达式是相同的Constant4Vector ,不同之处在于它是一个参数,并且可以在通过代码材料和实例进行修改。VectorParameter的优点之一是可以使用“颜色”选择器设置其值。

由于插值器的限制,VertexColor与Transform节点互斥。如果同时使用Transform节点和VertexColor,则VertexColor将全部变为白色。
程序员:对于精灵粒子,每个顶点的颜色都传递给着色器,而网格粒子的颜色则设置为着色器常数。

TextureObjectParameter纹理对象参数

所述TextureObjectParameter表达式定义的纹理参数,并输出纹理对象,在调用与纹理输入的函数的材料使用。该节点实际上并不对纹理进行采样,因此必须与TextureSample节点结合使用。


该节点与MaterialFunctions一起使用 。

TextureSampleParameter2D纹理样本参数2D

所述TextureSampleParameter2D表达式同纹理样本是相同的,除了它是可在通过代码材料和实例进行修改的参数的TextureSample(纹理样本)。

TextureSampleParameterSubUV

所述TextureSampleParameterSubUV表达式是与ParticleSubUV 相同的,不同之处在于它是一个可以通过在代码中的材料和实例进行修改的参数。

TextureSampleParameterCube

所述TextureSampleParameterCube表达式与texture sample是相同的,但它仅接受立方体贴图的TextureSample并且它是可在通过代码材料和实例进行修改的参数。

TextureSampleParameterMovie

所述TextureSampleParameterMovie表达式是相同的,但它仅接受电影纹理(宾克电影)的TextureSample,它是可在通过代码材料和实例进行修改的参数。

上一篇下一篇

猜你喜欢

热点阅读