Unreal4材质表达式实用表达式类节点讲解0015

实用表达式 在一个或多个输入上执行各种实用程序操作的表达式。

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脱饱和

“去饱和度”表达式基于一定百分比将其输入去饱和,或将其输入的颜色转换为灰色阴影。
程序员:定义去饱和色D,输入色I和亮度因数L。输出将是O = (1 - Percent)( D.dot( I )) + Percent I

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及更高版本使用顶点变形产生的输出速度


这是在材质中使用上一个帧切换材质表达的示例。在此示例中,Previous Frame Switch使用恒定值来控制通过“乘”节点的方向模糊。

QualitySwitch质量开关

所述QualitySwitch表达允许使用基于发动机的质量水平,如使用低质量在低端设备之间交换的不同表达的网络。


Rotate About Axis绕轴旋转

在围绕坐标轴旋转表达旋转给定的旋转轴线,在轴线上的一个点,并且角度旋转的三信道向量的输入。对于使用WorldPositionOffset的动画,其质量比简单剪切效果更好的动画很有用。
在上面的示例中,预览平面似乎在其垂直轴上旋转。

SphereMask球面膜

所述SphereMask表达输出基于距离计算掩码值。如果一个输入是一个点的位置,而另一个输入是具有某个半径的球体的中心,则遮罩值为外部为0,内部为1,且具有一定的过渡区域。这适用于一个,两个,三个和四个分量矢量

在此示例中,当相机距离预览对象超过256个单位时,预览对象将平滑地淡化为黑色。

Thin translucent薄半透明

“稀薄半透明材料输出”表达式可一次准确地表示基于物理的透明材料。这使您能够创建真正的着色或彩色透明材料,以准确地响应照明和阴影。

创建有色玻璃材料时,需要白色镜面高光和有色背景。使用基于物理的着色器一次性渲染它们,以说明从空气反射到玻璃中以及从玻璃反射到空气中的光反弹。

通过在“材料详细信息”面板中设置以下内容,启用“稀薄半透明”材料输出:

混合模式:半透明
着色模型:薄半透明
照明模式:表面正向着色

Vector noise矢量噪声

“矢量噪声材质”表达式添加了更多的3D或4D矢量噪声结果,供您在“材质”中使用。由于这些函数的运行时开销,建议使用它们开发外观后,建议使用 虚幻引擎4.13及更高版本中引入的“绘制材质以渲染目标蓝图”功能将所有或部分计算结果烘焙到“纹理”中。。这些材料图表达式允许在引擎中针对最终资产开发程序外观,从而提供了一种替代方法,可以使用外部工具创建程序生成的纹理,以将其应用于UE4中的资产。在矢量噪声材质表达式的内部,可以找到以下矢量噪声类型。

下面是一种简单的石床材料,它使用Vector Noise / Voronoi的距离分量来调制一些表面凹凸并融合到裂缝中的苔藓中,并将种子位置与Vector Noise / Cellnoise结合在一起以更改每个岩石的颜色和凹凸高度。
可以将基于导数的运算Perlin Curl和Perlin Gradient一起加倍频程,就像常规的Perlin杂音一样。对于更复杂的表达式的导数,有必要计算表达式结果的梯度。为了解决这个问题,请将要计算的表达式放入“材质函数”中,并将其与以下辅助节点一起使用。
这些辅助材料函数使用以四面体模式隔开的基本表达式的四个求值来近似这些基于导数的运算。

在下面,您将找到矢量噪声材料表达式中各种噪声函数的描述。



单元噪声材料示例:

Perlin渐变 材质示例:

Voronoi 材料示例:

你可能感兴趣的:(Unreal4材质表达式实用表达式类节点讲解0015)