实用表达式 在一个或多个输入上执行各种实用程序操作的表达式。
utility:实用、效用、公共设施、公用
实用程序表达式节点是可以以不同于过去的多种方式影响材料的节点。例如,GIReplace节点将使用您输入的给定值替换对象间接反射颜色,而“线性插值”节点将帮助基于Alpha输入在两个“纹理”之间进行混合。在接下来的页面上,您将找到UE4材质编辑器中可用的所有Utility Expressions节点的详细说明。
AntialiasedTextureMask抗锯齿纹理遮罩
所述AntialiasedTextureMask表达允许创建使用软(抗混淆)过渡掩模的材料。该遮罩可用于在两种复杂的材质属性之间混合,或淡出alpha混合的材质(与SoftMasked配合使用时效果很好)。只需使用一个通道(红色,绿色,蓝色或Alpha)中指定的遮罩指定纹理,在表达式中设置使用的通道并指定比较值。假设通道存储的灰度值为0 =黑色到1 =白色,比较函数将定义结果蒙版是0还是1。此表达式是一个参数,允许子材质MaterialInstance覆盖Texture属性。BlackBody黑体
该黑体表达模拟的效果黑体辐射 的材料中。用户输入温度(以开尔文为单位),结果颜色和强度可用于驱动“基础颜色”和“发射率”值,以获得物理上准确的结果。凹凸偏移BumpOffset
BumpOffset是虚幻引擎4的术语,通常称为“视差映射”。凹凸偏移表达式使材质无需额外的几何图形即可产生深度错觉。BumpOffset材质使用灰度高度图来提供深度信息。高度图中的值越亮,材质将“弹出”的越多。当相机在整个表面上移动时,这些区域将视差(移动)。高度图中较暗的区域“更远”,并且偏移最小。ConstantBiasScale恒定偏差缩放
所述ConstantBiasScale表达式接收一个输入值,增加了一个偏差值加到它,然后通过缩放因子输出该结果相乘。因此,例如,要将输入数据从[-1,1]转换为[0,1],您将使用1.0的偏差和0.5的小数位。DDX
DDX表达暴露DDX导数计算,在像素着色器计算中使用的GPU硬件特征。
DDY
所述DDY表达暴露DDX导数计算,在像素着色器计算中使用的GPU硬件特征。
深度淡入
所述DepthFade表达用于隐藏时半透明不透明那些对象相交所发生难看的接缝。DepthOfFieldFunction场深函数
该区域功能的深度表达的目的是给艺术家的控制权当它是由景深模糊会发生什么情况的材料。它输出一个介于0-1之间的值,以使0表示“聚焦”,而1表示“完全模糊”。例如,这对于在纹理的清晰版本和模糊版本之间进行插值非常有用。深度输入允许场景的景深计算中的现有结果被其他计算覆盖。desaturation脱饱和
“去饱和度”表达式基于一定百分比将其输入去饱和,或将其输入的颜色转换为灰色阴影。Distance距离
距离表达式计算两个点/颜色/位置/向量并输出所得到的值之间的(欧几里得)距离。这适用于一个,两个,三个和四个分量向量,但是表达式的两个输入必须具有相同数量的通道。
DistanceFieldGradient距离场渐变
所述DistanceFieldGradient材质表达式节点,归一化时,输出X,Y,Z方向上的物体将与在距离场移动。这使得“距离场渐变材质表达”节点非常适合需要模拟液体流动的材质。
这是一个如何在材质中使用DistanceFieldGradient材质表达式的示例。在下面的此示例中,请确保注意,先对DistanceFieldGradient进行了规范化,然后将其输入到“遮罩通道”节点中。这样做的原因是因为如果不先对DistanceFieldGradient进行规范化,就无法获得方向性数据。添加了“遮罩通道”参数,以便在“材质实例”中更轻松地进行RGB通道切换。必须在“渲染”下的“项目设置”中启用“生成网格距离字段”,此表达式才能正常工作。
这是一个使用DistanceFieldGradient的示例。下图显示了启用各种RGB时DistanceFieldGradient将使用哪些数据。
DistanceToNearestSurface距离最近的表面
“到最近的表面材质表达”的“距离”节点允许材质对“全局距离字段”级别中的任何点进行采样。材质表达的工作方式是:以世界空间单位输出从距离字段到场景中最近的遮挡物的有符号距离。
这是实际使用的“到最近的表面材质的距离”表达式的示例。必须在“渲染”下的“项目设置”中启用“生成网格距离字段”,此表达式才能正常工作。
FeatureLevelSwitch
该特色水平开关节点可以让简化材料低功率设备。
用法示例:您可能拥有一种材质,该材质具有10个重叠的纹理和复杂的数学运算,但只有一个用于移动设备的静态纹理(功能级别ES2)。
Fresnel菲涅耳
在菲涅耳式计算基于所述表面法线的点积和方向,以照相机的衰减。当表面法线直接指向相机时,输出值为0。当表面法线垂直于摄影机时,输出值为1。结果被钳位到[0,1],因此您的中央没有任何负色。GIReplace——GI替换
GIReplace允许艺术家在将材料用于GI时指定不同的,通常更简单的表达链。
用法示例:Lightmass静态GI和LPV动态GI使用它。
请注意,有两个红色框-一个从绿色反射回来,而不是红色。
Light Mass Replace轻量级替换
该LightmassReplace编译为正常渲染目的的材料时表达简单地通过实时输入,和导出该材料到Lightmass全局照明时通过Lightmass的输入。这对于解决导出版本无法正确处理的材质表达式很有用,例如WorldPosition。LinearInterpolate线性插值
在LinearInterpolate基于用作掩模的第三输入值的两个输入值(S)之间的表达共混物。可以将其视为定义两个纹理之间过渡的蒙版,例如Photoshop中的图层蒙版。遮罩Alpha的强度决定了从两个输入值中获取的颜色比率。如果Alpha为0.0,则使用第一个输入。如果Alpha为1.0,则使用第二个输入。如果Alpha在0.0到1.0之间,则输出是两个输入之间的混合。请记住,混合发生在每个通道上。因此,如果Alpha是RGB颜色,则Alpha的红色通道值将定义A和B的红色通道之间的混合,而与Alpha的绿色通道无关,后者定义A和B的绿色通道之间的混合。程序员: LinearInterpolate根据参数值Alpha在A和B之间执行每通道的套索。
Noise噪音
“噪声”表达式创建一个过程噪声字段,使您可以控制其生成方式。
previous frame switch上一帧切换
使用上一帧切换材质表达,您可以支持 在材质中实现的复杂顶点动画以生成正确的运动矢量,以便它们可以与时间AA和运动模糊一起正常使用。
仅作为时间函数的材质无需修改即可工作,但是,它们无法说明可能影响动画的其他变量,例如“材质参数”。以前的帧切换材质表达使美术人员可以通过跟踪这些参数的变化方式来手动解决这些类型的问题,例如在“蓝图”中,他们可以手动提供由帧之间的“世界位置偏移”变化引起的运动矢量生成的表达。
必须在“渲染”下的“项目设置”中启用来自顶点变形的速度,此表达式才能起作用:
4.24和更高版本使用来自“顶点变形”的准确速度
4.25及更高版本使用顶点变形产生的输出速度
QualitySwitch质量开关
所述QualitySwitch表达允许使用基于发动机的质量水平,如使用低质量在低端设备之间交换的不同表达的网络。
Rotate About Axis绕轴旋转
在围绕坐标轴旋转表达旋转给定的旋转轴线,在轴线上的一个点,并且角度旋转的三信道向量的输入。对于使用WorldPositionOffset的动画,其质量比简单剪切效果更好的动画很有用。SphereMask球面膜
所述SphereMask表达输出基于距离计算掩码值。如果一个输入是一个点的位置,而另一个输入是具有某个半径的球体的中心,则遮罩值为外部为0,内部为1,且具有一定的过渡区域。这适用于一个,两个,三个和四个分量矢量Thin translucent薄半透明
“稀薄半透明材料输出”表达式可一次准确地表示基于物理的透明材料。这使您能够创建真正的着色或彩色透明材料,以准确地响应照明和阴影。通过在“材料详细信息”面板中设置以下内容,启用“稀薄半透明”材料输出:
混合模式:半透明
着色模型:薄半透明
照明模式:表面正向着色
Vector noise矢量噪声
在下面,您将找到矢量噪声材料表达式中各种噪声函数的描述。