常量表达式

输出值在编辑器中设置后或在游戏开始时设置后通常保持不变的表达式。

Windows
MacOS
Linux

输出值在编辑器中设置后或在游戏开始时设置后通常保持不变的表达式。

Constant

Constant(常量)表达式输出单个浮点值。这是最常用的表达式之一,并可连接到任何输入,而不必考虑该输入所需的通道数。例如,如果您将一个常量连接到需要 3 个矢量的输入,那么该常量值将用于全部 3 个元素。提供单个数值时,使用说明区域中的小三角形图标来折叠节点可能非常有用。

项目

说明

属性

R

指定表达式所输出的浮点值。

示例:0.7、-0.24 和 1.1

ConstantExample.png

通过在材质编辑器的图形区域中按住 1 键并 单击鼠标左键,可快速创建 Constant(常量)节点。

Constant2Vector

Constant2Vector(常量 2 矢量)表达式输出双通道矢量值,即输出两个常量数值。

项目

说明

属性

R

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

G

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

示例:(0.4, 0.6) 和 (1.05, -0.3)

用法示例:Constant2Vector(常量 2 矢量)对于修改纹理坐标非常有用,因为这些坐标也是双通道值。

Constant2Example.png

通过在材质编辑器的图形区域中按住 2 键并 单击鼠标左键,可快速创建 Constant2Vector(常量 2 矢量)节点。

Constant3Vector

Constant3Vector(常量 3 矢量)表达式输出三通道矢量值,即输出三个常量数值。您可以将 RGB 颜色看作 Constant3Vector(常量 3 矢量),其中每个通道都被赋予一种颜色(红色、绿色、蓝色)。

项目

说明

属性

R

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

G

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

B

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

示例:(0.4, 0.6, 0.0) 和 (1.05, -0.3, 0.3)

Constant3Example.png

通过在材质编辑器的图形区域中按住 3 键并 单击鼠标左键,可快速创建 Constant3Vector(常量 3 矢量)节点。

Constant4Vector

Constant4Vector(常量 4 矢量)表达式输出四通道矢量值,即输出四个常量数值。您可以将 RGBA 颜色看作 Constant4Vector(常量 4 矢量),其中每个通道都被赋予一种颜色(红色、绿色、蓝色、alpha)。

项目

说明

属性

R

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

G

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

B

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

A

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

示例:(0.4, 0.6, 0.0, 1.0) 和 (1.05, -0.3, 0.3, 0.5)

Constant4Example.png

通过在材质编辑器的图形区域中按住 4 键并 单击鼠标左键,可快速创建 Constant4Vector(常量 4 矢量)节点。

Distance Cull Fade

DistanceCullFade(距离剔除消退) 表达式输出一个从黑色逐渐消退到白色的标量值,并可用于使对象进入剔除距离后逐渐消退。请注意,它不会使对象淡出。

DistanceCullFadeExample.png

这个网络将使对象在摄像机进入剔除距离后淡入(而非"跳入")。

粒子颜色

基于在 级联(Cascade) 中定义的任何每粒子颜色数据,粒子颜色(ParticleColor) 表达式绑定到给定粒子的当前颜色。这必须插入到适当的信道(自发光颜色)。

项目

说明

输出

RGB

输出组合的RGB矢量数据。

R

输出红色信道数据。

G

输出绿色信道数据。

B

输出蓝色信道数据。

A

输出alpha信道数据。

ParticleColorExample.png

在这个例子中,您可以看到粒子颜色(ParticleColor)表达式为粒子提供了粒子系统中定义的颜色。

粒子方向

粒子方向(ParticleDirection) 表达式逐个粒子输出Vector3(RGB)数据,表示给定粒子当前运动的方向。

ParticleDirectionExample.png

在这幅图中您可以看到粒子的颜色是如何根据每个粒子当前的运动方向而变化的。

粒子动态模糊淡出

粒子动态模糊淡出(ParticleMotionBlurFade) 表达式输出一个值,该值表示由于动态模糊导致的粒子上的淡出量。值为1表示无模糊,黑色代表完全模糊。

ParticleMotionBlurFade.png

粒子半径

粒子半径(ParticleRadius) 表达式单独输出每个粒子的半径(采用虚幻单位)。例如,一旦半径达到某个点,就可以对材质进行更改。

ParticleRadiusExample.png

在这幅图中,当粒子半径超过7个单位时,它们从绿色变成红色。

粒子相对时间

粒子相对时间(ParticleRelativeTime) 表达式输出0到1之间的数字,表示粒子的年龄,0表示出生时刻,1表示死亡时刻。

ParticleRelativeTimeExample.png

在本例中,您可以看到粒子的相对时间被馈送到自发光颜色中,导致粒子从出生时的黑色逐渐变淡到死亡时的白色。

粒子大小

粒子大小(Particle Size) 表达式输出粒子sprite的X和Y大小。这可以用来驱动材质的某些方面。

ParticleSize.png

单击图像显示完整视图。

在上面的例子中,粒子大小(Particle Size)被增加并扩展为粒子颜色(Particle Color)。注意我们屏蔽了输出,所以我们只使用绿色信道,它对应于Y轴,或者粒子的长度。这意味着随着粒子的伸展,它们的颜色会变得更亮。当它们收缩时,它们会变暗。

粒子速度

粒子速度(ParticleSpeed) 输出正在运动的每个粒子的当前速度,单位为每秒虚幻单位。

ParticleSpeedExample.png

在本例中,粒子速度馈送粒子颜色,再除以10得到更有意义的结果。粒子减速时变黑。

PerInstanceFadeAmount

PerInstanceFadeAmount(按实例消退量)表达式输出一个浮点值,该值与应用于实例化静态网格(例如植物叶子)的消退量相关联。它是常量,但对于网格的每个实例,可以是不同的数值。

仅当应用于 InstancedStaticMesh(实例化静态网格)Actor 或其他利用 InstancedStaticMeshComponent(实例化静态网格组件)的 Actor 时,此表达式才有效。

PerInstanceRandom

PerInstanceRandom(按实例随机)表达式按材质所应用于的静态网格实例输出不同的随机浮点值。InstancedStaticMeshComponent(实例化静态网格组件)用于为实例设置随机浮点值,这个值将公开,以便可用于任何期望的内容(例如,窗外的随机光照水平)。它是常量,但对于网格的每个实例有所不同。

输出值将是介于 0 与目标平台的 RAND_MAX 之间的整数。

PerInstRandomResult.png PerInstanceRandomGraph.png

仅当应用于 InstancedStaticMesh(实例化静态网格)Actor 或其他利用 InstancedStaticMeshComponent(实例化静态网格组件)的 Actor 时,此表达式才有效。

Time

Time(时间)节点用来向材质(例如,Panner(平移)Cosine(余弦) 或其他时间相关操作)添加经历时间。

项目

说明

属性

忽略暂停(Ignore Pause)

如果为 true,那么时间将一直推进,即使游戏暂停也是这样。

周期(Period)

如果为 true,那么这将是时间回绕前经过的时间量。针对移动材质,这将以全精度在 CPU 上执行周期计算,而在 GPU 上,将以半精度运行(处理长度超过一分钟的周期时,可能会产生问题)。

TimeExample.png

上图中说明的网络将创建一个随时间推移而变化的材质,从而连贯地展现白色与黑色之间的正弦曲线过渡。如果启用了时间段,那么将时间段设置为 0 会有效地停止过渡,而设置为 1 相当于时间段为 false。设置接近于 0 的数值将使材质更迅速地变化。

TwoSidedSign

TwoSidedSign(双面符号)表达式适合在双面定制照明材质的背面翻转法线,以便与冯氏(Phong)明暗处理算法匹配。+1 表示双面材质的正面,-1 表示背面。

exp_twosidedsign.png

VertexColor

VertexColor(顶点颜色)表达式是材质的访问点,用于访问影响精灵粒子发射器的颜色模块的输出。

项目

说明

输出

RGB

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

R

输出颜色的红色通道。

G

输出颜色的绿色通道。

B

输出颜色的蓝色通道。

A

输出颜色的alpha通道。

VertexColorExample.png

以上网络将利用直接来自粒子系统的颜色和alpha数据。此类网络特别适合于实现火花等特殊效果。

ViewProperty

ViewProperty(视图属性) 表达式输出依赖于视图的常量属性,例如视野或渲染目标大小。要访问的视图属性可配置,并且,输出类型取决于所配置的待访问属性。

ViewPropertyExample.png

在此示例中,视野为 50 度。

ViewPropertyExampleFOV50.png

这是同一示例,其视野为 90 度。

ViewPropertyExampleFOV90.png

PrecomputedAOMask

PrecomputedAOMask(预先计算的 AO 蒙版)节点用来访问材质中光照系统计算的环境光遮蔽 (AO), 这可能很适合于过程式纹理贴图,或者在老化效果及尘埃随时间推移而缓慢积累的区域加入老化效果及尘埃。

您必须先使用光照系统来建立您所在关卡的照明,然后才能看到 PrecomputedAOMask(预先计算的 AO 蒙版)的结果。

PrecompitedAOMas_00.png

以上截屏使用 AO 蒙版让尘埃层自动混合到环境的角落。 要使用 AO 蒙版,您需要同时启用 全局设置(World Settings) -> 光照系统设置(Lightmass settings)下的 使用环境光遮蔽(Use Ambient Occlusion)生成环境光遮蔽材质蒙版(Generate Ambient Occlusion Material Mask),然后建立照明。 最大遮蔽距离(Max Occlusion Distance)等其他 AO 控制对于调整 AO 外观来说可能非常有用。 并且,请确保将 直接遮蔽小数(Direct Occlusion Fraction)间接遮蔽小数(Indirect Occlusion Fraction)都设置为 0,以使此 AO 不会应用于实际关卡照明。

PrecompitedAOSettings_00.png

您可使用 PrecomputedAOMask(预先计算的 AO 蒙版)材质表达式节点来访问任何材质中的 AO。 PrecomputedAOMask(预先计算的 AO 蒙版)作为 0 到 1 蒙版工作,其中 1 提供受 AO 影响的区域,而 0 提供不受影响的区域。 在下图中,您可以了解如何设置材质以利用 PrecomputedAOMask(预先计算的 AO 蒙版)。

PrecomputedAO_Material_00.png

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback