虚幻4材质介绍 Unreal4 Material Expression

发表于2018-12-28
评论1 733浏览

想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏美术行业精英群

167422913
1:AtmosphericFogColor:大气雾颜色,input: world pos
2.Desaturation(去饱和度):根据特定百分比将其输入的颜色转换为灰色阴影,输入亮度系数Luminance Factors和 百分比(饱和度系数)Fraction
3.Distance Cull Fade:相机距离淡入,输出一个从黑色逐渐消退到白色的标量值,并可用于使对象进入相机剔除距离后逐渐消退
4.ParticleColor,ParticleDirection,ParticleRadius(粒子半径,Unreal 单位),
5.ParticleMotionBlurFade(粒子运动模糊消退,该值代表因为运动模糊而在粒子上产生的消退量。值 1 代表不模糊,而黑色代表完全模糊)
6.ParticleRelativeTime:(粒子相对时间)其中 0 是生成时刻,而 1 是消亡时刻。
7.ParticleSize(粒子大小):输出粒子精灵的 X 和 Y 大小
8.ParticleSpeed(粒子速度):每个粒子的当前行进速度(以每秒 Unreal 单位数计)。
9.PerInstanceFadeAmount(按实例消退量):该值与应用于实例化静态网格(例如植物叶子)的消退量相关联,它是常量,但对于网格的每个实例,可以是不同的数值。
10.PerInstanceRandom(按实例随机):按材质所应用于的静态网格实例输出不同的随机浮点值 ,输出值将是介于 0 与目标平台的 RAND_MAX 之间的整数。
11.TwoSidedSign(双面符号):表达式适合在双面定制照明材质的背面翻转法线,以便与冯氏(Phong)明暗处理算法匹配。+1 表示双面材质的正面,-1 表示背面。
12.ActorPositionWS:该数据表示对象在世界场景空间中的位置
13.CameraPositionWS:该值表示摄像机在世界场景空间中的位置
14.LightmapUVs:表达式以双通道矢量值形式输出光照贴图 UV 纹理坐标。如果无法获得光照贴图 UV,那么将输出双通道矢量值 (0,0)。
15.ObjectOrientation :表达式输出对象的世界坐标的Up矢量。换言之,对象的localPos正z轴正指向的方向。
16.ObjectPositionWS:表达式输出对象边界的世界空间中心位置。例如,这对于为植物创建球形照明很有用。
17.ObjectRadius:对象半径,输出给定对象以 Unreal 单位计的半径值。系统会对比例缩放加以考虑,并且对于每个对象,结果可能是唯一的。
18.Panner:(平移)表达式输出可用于创建平移(或移动)纹理的 UV 纹理坐标。(Time)接收用来确定当前平移位置的值。Panner(平移)会生成根据“时间”(Time)输入而变化的 UV。“坐标”(Coordinate)输入可用于处理 Panner(平移)节点所生成的 UV(例如,使其偏移)
19.ParticlePositionWS(粒子全局空间位置):该数据代表每个粒子在全局空间中的位置。
20.PixelNormalWS:表达式根据当前法线输出矢量数据,该数据表示像素所面对的方向
21.Rotator:(旋转)表达式以双通道矢量值形式输出 UV 纹理坐标,该矢量值可用来创建旋转纹理。中心 X(CenterX)旋转中心的 U 坐标。中心 Y(CenterY)指定旋转中心的 V 坐标。参数同 Panner
22.SceneTexelSize(场景纹素大小):这对于在多分辨率系统中检测边缘十分有用,因为不进行此计算时,您就必须使用较小的静态值,从而导致分辨率较低时结果不一致。1/width
23.ScreenPosition:表达式输出当前所渲染像素的屏幕空间位置。输出0-1或者0-w范围内的值。
24.TextureCoordinate(纹理坐标)表达式以双通道矢量值形式输出 UV 纹理坐标,从而允许材质使用不同的 UV 通道、指定平铺以及以其他方式对网格的 UV 执行操作。 撤销镜像 U(Un Mirror U)如果为 true,那么撤销 U 方向上的所有镜像。要访问网格的第二个 UV 通道,请创建一个 TextureCoordinate(纹理坐标)节点,将其“坐标索引”(CoordinateIndex)设置为 1
25.VertexNormalWS 表达式输出世界场景空间顶点法线。它只能用于在顶点着色器中执行的材质输入。
26.ViewSize(视图大小)表达式输出一个 2D 矢量,以给出当前视图的大小(以像素为单位)也就是屏幕分辨率大小。
27.WorldPosition(像素世界坐标)表达式输出当前像素在全局空间中的位置。通常的用途是计算从相机到像素的距离以代替深度,这相当于正交相机得到的深度值。
28.Custom Code:表达式允许您编写定制 HLSL 着色器代码,这些代码可对任意数量的输入执行操作,并输出操作结果。在 Custom(定制)节点中编写的着色器代码将“按原样”针对目标平台进行编译,引擎无编译优化。
29.DepthFade(深度消退)表达式用来隐藏半透明对象与不透明对象相交时出现的不美观接缝。
30.PixelDepth(像素深度)表达式输出当前所渲染像素的深度,即从摄像机开始计算的距离。非0-1而是0-MaxZ
31.SceneDepth(场景深度)表达式输出现有的场景深度。这类似于 PixelDepth(像素深度) ,但是 PixelDepth(像素深度)只能在当前所绘制像素处进行深度取样,而 SceneDepth(场景深度)可以在 任何位置 进行深度取样。某些情况2个值一样,某些情况下不一样。
32.FontSample(字体取样)表达式允许您以常规 2D 纹理形式,从字体资源中取得纹理页面样本。字体的阿尔法通道将包含字体轮廓值
33.FontSampleParameter(字体取样参数)表达式提供了一种在材质实例常量中公开基于字体的参数的方法,这使您可以在不同实例中轻松使用不同的字体。字体的阿尔法通道将包含字体轮廓值
34.Material Function功能:
FunctionInput:表达式只能放在材质函数中,用于在该函数中定义该函数的某个输入。排序优先顺序(Sort Priority)指定确定 MaterialFunctionCall(材质函数调用)表达式中显示各个输入的顺序时,对于此输入要使用的优先顺序。
FunctionOutput:(函数输出)表达式只能放在材质函数中,用于在该函数中定义该函数的某个输出。
MaterialFunctionCall(材质函数调用)表达式允许您使用来自另一材质或函数的外部 材质函数 。
StaticBool(静态布尔值)表达式用来为函数内的静态布尔函数输入提供默认布尔值,此节点不会在任何内容之间切换,因此必须与 StaticSwitch(静态开关)节点配合使用。
StaticSwitch: (Value)接收一个布尔值,用于确定哪个输入处于活动状态。相当于宏的用法。
TextureObject(纹理对象)表达式用来为函数内的纹理函数输入提供默认纹理,此节点不会对该纹理进行实际取样,因此必须与“纹理取样”(TextureSample)节点配合使用。
35.LandscapeExpressions;地形相关
36. BreakMaterialAttributes:获取材质的某一层属性,比如metal或roughness.
37. MakeMaterialAttributes :(建立材质属性)节点的作用与 BreakMaterialAttributes(中断材质属性)节点正好相反.在将 MakeMaterialAttributes(建立材质属性)节点连接到材质时,您需要确保将主材质节点的 使用材质属性(Use Material Attributes)属性设置为 True(选中)
38.Math:数学表达式:
Abs(绝对值)
Add(加):输入的 R 通道、G 通道和 B 通道等等将分别相加
AppendVector(追加矢量):把RG类型变成RGB类型
Ceil(加一取整):使其 向上 舍入到下一个整数,对 0.2 执行 Ceil(加一取整)的结果是 1.0;对 (0.2,1.6) 执行 Ceil(加一取整)的结果是 (1.0,2.0)。
Clamp(限制)表达式接收值,并将它们约束到由最小值和最大值定义的指定范围.也可以单边限制最大或最小值。
ComponentMask:(分量蒙版)分量输出
Cosine(余弦)
Cross  Product(矢量积)表达式计算两个三通道矢量值输入的矢量积,并输出所产生的三通道矢量值.通常用来计算与另外两个方向都垂直的方向。
Divide(除)
Dot  Product(标量积)
Floor(减一取整)表达式接收值,使其 向下 舍入到上一个整数,并输出结果.对 0.2 执行 Floor(减一取整)的结果是 0.0;对 (0.2,1.6) 执行 Floor(减一取整)的结果是 (0.0,1.0)。
FMod(浮点余数)表达式返回对两个输入执行除法运算的浮点余数。在此示例中,FMod(浮点余数)每秒返回一个重复值,该值的范围限制在 0 到 1
Frac(小数)表达式接收值,并输出这些值的小数部分
If(如果)表达式对两个输入进行比较,然后根据比较结果传递另外三个输入值中的一个。所比较的两个输入必须都是单个浮点值。
Lerp:LinearInterpolate(线性插值)
Max(最大值)Min(最小值)
Multiply(乘)
Normalize(规范化)表达式计算并输出其输入的单位向量
OneMinus(一减)
Power(幂)
Sine(正弦)
Sqrt:SquareRoot(平方根)表达式输出输入值的平方根。SquareRoot(平方根)只能对单个浮点输入值执行运算。
Subtract(减)
39.CollectionParameter(集合参数)
40.DynamicParameter(动态参数)Vector4参数,表达式为粒子发射器提供管道,以便将最多四个要以任意方式处理的值传递给材质。这些值是通过放置在发射器上的 ParameterDynamic 模块在 Cascade 中设置的。
41.FontSampleParameter(字体取样参数)表达式提供了一种在材质实例常量中公开基于字体的参数的方法,这使您可以在不同实例中轻松使用不同的字体。字体的阿尔法通道将包含字体轮廓值。您只能指定有效的字体页面。
42.ScalarParameter(标量参数)float参数。
43.StaticBoolParameter(静态布尔参数)宏,此参数称为“静态”是因为它不可在运行时更改,而只能在材质实例编辑器中设置。工作方式类似于 StaticSwitchParameter(静态开关参数),但是它仅创建一个布尔参数,而不实现开关。
44.StaticSwitchParameter(静态开关参数)表达式接收两个输入,并且在参数值为 true 时输出第一个输入的值,否则输出第二个输入的值。
45.StaticComponentMaskParameter(静态分量蒙版参数)
46.VectorParameter(矢量参数)与 Constant4Vector(常量 4 矢量) 完全相同
47.TextureObjectParameter(纹理对象参数)
48.TextureSampleParameter2D(纹理取样参数 2D)表达式与 TextureSample(纹理取样)完全相同
49.TextureSampleParameterSubUV(纹理取样参数子 UV)表达式与 ParticleSubUV(粒子子 UV) 完全相同,只不过它是可在材质实例中以及通过代码来修改的参数。
50.TextureSampleParameterCube(纹理取样参数立方体)表达式与 TextureSample(纹理取样)完全相同,只不过它只接受立方体贴图,并且是可在材质实例中以及通过代码来修改的参数。
51.TextureProperty(纹理属性)用于公开您选择的纹理属性,例如纹理大小或纹素大小。
52.TextureObjectParameter(纹理对象参数)
53.BlackBody(黑体)表达式用来在材质中模拟 黑体辐射 效果。用户输入开氏温度,产生的颜色和强度可用来驱动“底色”(Base Color)和“自发光”(Emissive)值,以获得在物理上准确的结果。
54.BumpOffset(凹凸贴图偏移) 就是通常所谓的“视差贴图”。BumpOffset(凹凸贴图偏移)表达式可以使材质产生深度错觉,而不需要额外的几何体。BumpOffset(凹凸贴图偏移)材质使用灰阶 高度贴图 来提供深度信息。高度贴图中的值越亮,材质的“凸出”效果越明显;当摄像机在表面上移动时,这些区域将产生视差(移位)。高度贴图中较暗的区域将显得“距离较远”,其移位程度最小。
55.ConstantBiasScale(坐标映射)表达式接收输入值,加上偏差值,然后乘以比例缩放系数并输出结果。例如,要将输入数据从 [-1,1] 转换到 [0,1],请使用偏差值 1.0 和比例缩放系数 0.5。Out=(In+Bias)*Scale
56.DDX,DDY 表达式公开 DDX 导数计算,这是像素着色器计算中使用的一项 GPU 硬件功能。
57.DepthOfFieldFunction(视野深度函数)DOF强度效果,表达式使美工能够控制当视野深度使材质模糊时,材质所发生的情况。它输出介于 0 与 1 之间的值,其中 0 代表“清晰”,而 1 代表“完全模糊”。例如,这对于在纹理的清晰版本与模糊版本之间进行插值非常有用。“深度”(Depth)输入允许您使用其他计算来覆盖场景视野深度计算所产生的现有结果。
58.Distance(距离)
59.FeatureLevelSwitch(功能级别开关)节点允许您建立简化的材质,以用于功能不太强大的设备,为各个平台编写不同的代码。
默认值(Default)默认功能级别。
ES2由 OpenGL ES2 的核心功能定义的功能级别。
ES3.1由metal设备的功能定义的功能级别。
SM4由 DX10 Shader Model 4 的核心功能定义的功能级别。
SM5由 DX11 Shader Model 5 的核心功能定义的功能级别。
60.Fresnel(菲涅尔)表达式根据表面法线与摄像机方向的标量积来计算衰减。当表面法线正对着摄像机时,输出值为 0。当表面法线垂直于摄像机时,输出值为 1。结果限制在 [0,1] 范围内,以确保不会在中央产生任何负颜色。
指数(Exponent)指定输出值的衰减速度。值越大,意味着衰减越紧或越快。
基本反射系数(Base Reflect Fraction)指定从正对表面的方向查看表面时,镜面反射的小数。值为 1 将有效地禁用菲涅耳效果。
指数输入(ExponentIn)指定输出值的衰减速度。值越大,意味着衰减越紧或越快。如果使用此输入,那么值将始终取代“指数”(Exponent)属性值
基本反射小数(Base Reflect Fraction)指定从正对表面的方向查看表面时,镜面反射的小数。值为 1 将有效地禁用菲涅耳效果。如果使用此输入,那么值将始终取代“指数”(Exponent)属性值。
法线(Normal)接收三通道矢量值,该值代表表面在全局空间中的法线。要查看应用于菲涅耳对象表面的法线贴图的结果,请将该法线贴图连接到材质的“法线”(Normal)输入,然后连接一个 (PixelNormalWS(像素全局空间法线))[Engine/Rendering/Materials/ExpressionReference/Vector#PixelNormalWS] 表达式到 Fresnel(菲涅尔)上的此输入。如果未指定任何法线,那么将使用网格的切线法线。
61.GIReplace(GI 替换)允许美工指定另一个表达式链(通常较为简单),以便在材质用于 GI 时使用。静态间接光(StaticIndirect)用于烘焙间接照明。动态间接光(DynamicIndirect)用于动态间接照明
62.LightmassReplace(光照系统替换)表达式用来在编译材质以用于正常渲染用途时传递“实时”(Realtime)输入,并在导出材质到光照系统以用于全局照明时传递“光照系统”(Lightmass)输入。使用此表达式可以避免使用导出版本无法正确处理的材质表达式,例如 WorldPosition(全局位置)。
63.Noise(噪声)表达式建立过程式噪声场,以使您能够控制其生成方式。采样噪声图进行一定的操作。
比例(Scale)更改噪声单元的整体大小。数字越小,噪声越大。
质量(Quality)外观/性能设置。0 表示速度最快。较大的值将导致速度下降,但外观可能较好。
功能(Function)控制要计算的噪声类型。选项包括“单形”(Simplex)、“柏林”(Perlin)和“梯度”(Gradient)。
干扰(Turbulence)是否计算多个级别、彼此叠加的噪声。
级别数(Levels)要组合的不同噪声级别数。仅当激活“干扰”(Turbulence)后才有用。
最小输出(Output Min)噪声计算的最低值输出。
最大输出(Output Max)噪声计算的最高值输出。
级别比例(Level Scale)控制激活“干扰”(Turbulence)后各个级别的比例。默认值为 2,但较大的值可确保更高效率地使用少量级别。
位置(Position)允许通过 3D 矢量来调整纹理大小。
过滤宽度(FilterWidth)实际上,控制应用于噪声纹理的模糊量
64.QualitySwitch(质量开关)表达式允许根据引擎在不同质量级别之间的切换使用不同的表达式网络,例如在较低端的设备上使用较低的质量
65.RotateAboutAxis(绕轴旋转)表达式在给定旋转轴、该轴上的某个点以及旋转角度的情况下,旋转三通道矢量输入。此表达式适合于使用 WorldPositionOffset(全局位置偏移)产生质量优于简单剪切的动画
66.SphereMask(球体蒙版)表达式根据距离计算来输出蒙版值。如果某一个输出是某个点的位置,而另一输入是具有某半径的球体的中心,那么蒙版值将是 0(位于球体外部)和 1(位于球体内部),并存在一定的过渡区域。此表达式可作用于单分量、双分量、三分量和四分量矢量。
衰减半径(Attenuation Radius)指定用于距离计算的半径。
硬度百分比(Hardness Percent)指定过渡区域大小。此项目类似于 Photoshop 的笔刷硬度值。0 表示硬过渡,100 表示最大化过渡区域(软过渡)。
A 接收一个值,该值代表要检查的点的位置。
B 接收一个值,该值代表球体中心。
比自己计算距离再lerp更方便
67.AntialiasedTextureMask(抗锯齿纹理蒙版)表达式允许您使用软(抗锯齿)过渡蒙版来创建材质。此蒙版可用来在两个复杂材质属性之间混合,或者使阿尔法混合材质淡出(适合与“软屏蔽”配合使用)。您只需指定在其中一个通道(红色、绿色、蓝色或阿尔法)中指定了蒙版的材质,在此表达式中设置所使用的通道,并指定比较值。假设该通道存储 0(黑色)到 1(白色)范围内的灰阶值,比较功能将定义产生的蒙版是应该为 0 还是 1。此表达式是一个参数,这使 纹理(Texture)属性可以由子材质实例覆盖。
68.DistanceToNearestSurface(与最近表面的距离)材质表达式节点允许材质对“全局距离场”关卡中的任何点进行取样。 这个材质表达式将输出从距离场到场景中最近遮挡体的带符号距离(以全局空间单位计)。必须在 项目设置(Project Settings)的 渲染(Rendering)下启用 生成网格距离场(Generate Mesh Distance Fields),此表达式才能正确工作。
69.DistanceFieldGradient(距离场梯度)材质表达式节点进行规范化后,将输出对象在距离场中的 X,Y,Z 移动方向。 这使 DistanceFieldGradient(距离场梯度)材质表达式节点非常适合于需要模拟液体流的材质
70.DeriveNormalZ(派生法线 Z)表达式在给定 X 和 Y 分量的情况下派生切线空间法线的 Z 分量,并输出所产生的三通道切线空间法线。Z 计算方法为:Z = sqrt(1 - (x x + y y));
71.Transform(转换)表达式将三通道矢量值从一种参考坐标系转换到另一种参考坐标系。默认情况下,材质的所有着色器计算都在切线空间中完成。
Source:源空间
Destination:目的空间。
由于插值器受限制,VertexColor(顶点颜色)与 Transform(转换)节点互斥,Transform(转换)节点无法正确处理不一致的比例缩放。
72.TransformPosition(转换位置):顶点位置空间坐标转换,建议您不要使用此节点,因为用于偏离原始位置派生全局位置时,会产生严重的精度问题!请改为使用 WorldPosition(全局位置)节点。
73.对象大小(Object Bounds) 表达式输出对象在每个轴中的大小。如果用颜色表示,X轴、Y轴、Z轴分别对应于R、G、B。
74.ObjectOrientation 表达式输出对象的世界空间的Up矢量。换言之,对象的Local正z轴正指向此方向。
75.预蒙皮局部法线(Pre-Skinned Local Normal) 矢量表达式输出一个三信道矢量值,该值表示骨架网格体和静态网格体的局部表面法线。这让您能够实现局部对齐的三平面 材质以及在材质中实现网格体对齐效果。
76.预蒙皮局部位置(Pre-Skinned Local Position) 矢量表达式输出一个三信道矢量值,该值允许访问骨架网格体的默认姿势位置以便在每个顶点 输出中使用。这使您能够在动画角色上获得局部化效果。该矢量表达式也可用于静态网格体,它将返回 标准局部位置
77.ReflectionVectorWS 表达式在本质上类似于CameraVectorWS ,但它输出一个三信道矢量值,该值表示通过表面法线反射的摄像机方向
78.CameraVector 表达式输出一个三信道矢量值,该值表示摄像机相对于表面的方向,即像素到摄像机的方向。
79.Vector Noise矢量噪点材质(Vector Noise Material)表达式添加了更多的三维或四维矢量噪点结果以在材质中使用,开销大。
单元格噪点(Cellnoise)大约有10条指令。为三维网格中的每个对象返回随机颜色(即从应用于节点输入的数学下限运算)。对于给定位置,结果始终保持一致,因此可以提供一种可靠的方法来将随机性添加到材质中。该矢量噪点(Vector Noise)函数的计算非常便宜,因此没有必要为了性能而将它烘焙到纹理中。
Perlin三维噪点(Perlin 3D Noise)有125条指令。为三维网格中的每个对象返回随机颜色(即从应用于节点输入的数学下限运算)。对于给定位置,结果始终保持一致,因此可以提供一种可靠的方法来将随机性添加到材质中。该矢量噪点(Vector Noise)函数的计算非常便宜,因此没有必要为了性能而将它烘焙到纹理中。
Perlin梯度(Perlin Gradient)大约有106条指令。计算标量Perlin Simplex噪点的分析三维梯度。输出为四个信道,其中前三个(RGB)为梯度噪点,第四个(A)为标量噪点。该噪点类型对于表面上的凹凸或者流动贴图很有用。
Perlin梯度(Perlin Gradient)大约有162条指令。计算矢量Perlin Simplex噪点(又名旋度噪点)的分析三维旋度。输出为一个三维有向旋度矢量,它对流体或粒子流动很有用。
Voronoi计算与标量噪点材质节点相同的Voronoi噪点。标量Voronoi噪点在三维空间中散射种子点,并返回与相隔最近的一个种子点的距离。矢量噪点(Vector Noise)变体返回RGB中最近的种子点的位置,以及在A中与它相隔的距离。特别是与单元格噪点(Cellnoise)结合使用时,这可以允许每个Voronoi单元格执行一些随机行为。
----------------------输出-----------------------------------------------------------------------
World Position Offset (世界位置偏移)输入使得网格物体的顶点可由材质在世界空间内进行控制,Vertex顶点坐标偏移。 这对于使目标移动,改变形状,旋转以及一系列其他特效来说,都很有用
World Displacement (世界位移)的运行原理和World Position Offset(世界位置偏移)非常相似,但它使用的是多边形细分顶点而不是网格物体基础顶点。 为启用该项,材质的Tessellation(多边形细分)属性必须被设置为除 None (无)外的任意值。
Tessellation Multiplier (多边形细分乘数)控制沿表面方向的多边形细分数量,使得在需要时能添加更多的细节。 为能在World Displacement(世界位移)中启用该项,材质的Tessellation(多边形细分)属性必须被设置为除 None (无)外的任意值。
Subsurface Color(次表面颜色)输入仅在着色模型 属性被设置为Subsurface(次表面)时才可被启用。




-----------------------------------------------------------------------------------------------------------材质函数-------------------------------------
Blend_ColorBurn(混合_颜色加深)以“混合”(Blend)颜色越暗,在最终结果中使用该颜色越多的方式,对材质进行混合。如果“混合”(Blend)颜色为白色,则不进行任何更改。
Blend_ColorDodge(混合_颜色减淡)通过将“底色”(Base)颜色反转并将其除以“混合”(Blend)颜色,使结果变亮。
Blend_Darken(混合_变暗)针对“底色”(Base)和“混合”(Blend)颜色的每个像素,选择较暗的值。如果“混合”(Blend)颜色为白色,则不会产生变化。
Blend_Difference(混合_差异)通过从“混合”(Blend)中减去“底色”(Base),然后取结果的绝对值,创建反转样式的效果
Blend_Exclusion(混合_排除)将“底色”(Base)和“混合”(Blend)纹理二等分,对其进行组合,然后对结果执行部分反转
Blend_HardLight(混合_强光)与 Blend_Overlay(混合_覆盖)的粗糙版本相似,它会对“底色”(Base)和“混合”(Blend)进行筛滤或相乘。此函数对“混合”(Blend)颜色执行比较,从而每当“混合”(Blend)比 50% 灰度亮时,就通过“筛滤”(Screen)操作对“底色”(Base)和“混合”(Blend)进行组合。如果“混合”(Blend)比 50% 灰度暗,那么将像“乘”功能一样,将“底色”(Base)与“混合”(Blend)相乘。然后,提高最终结果的对比度,以产生粗糙输出。
Blend_Lighten(混合_变亮)对“底色”(Base)和“混合”(Blend)颜色的每个像素进行比较,并返回较亮的结果。
Blend_LinearBurn(混合_线性加深)将“底色”(Base)颜色与“混合”(Blend)颜色相加,然后从结果中减去 1。
Blend_LinearDodge(混合_线性减淡)将“底色”(Base)颜色与“混合”(Blend)颜色相加。
Blend_LinearLight(混合_线性光)是 Blend_Overlay(混合_覆盖)的线性版本,用于提供更粗糙的结果。此函数对“混合”(Blend)颜色执行比较,从而每当“混合”(Blend)比 50% 灰度亮时,就通过“筛滤”(Screen)操作对“底色”(Base)和“混合”(Blend)进行组合。如果“混合”(Blend)比 50% 灰度暗,那么将像“乘”功能一样,将“底色”(Base)与“混合”(Blend)相乘。
Blend_Overlay(混合_覆盖)对“底色”(Base)和“混合”(Blend)进行筛滤或相乘。此函数对“混合”(Blend)颜色执行比较,从而每当“混合”(Blend)比 50% 灰度亮时,就通过“筛滤”(Screen)操作对“底色”(Base)和“混合”(Blend)进行组合。如果“混合”(Blend)比 50% 灰度暗,那么将像“乘”功能一样,将“底色”(Base)与“混合”(Blend)相乘。
Blend_PinLight(混合_点光)与 Blend_Overlay(混合_覆盖)相似,它使“底色”(Base)和“混合”(Blend)一起变亮或变暗。此函数对“混合”(Blend)颜色执行比较,从而每当“混合”(Blend)比 50% 灰度亮时,就通过“筛滤”(Screen)操作对“底色”(Base)和“混合”(Blend)进行组合。如果“混合”(Blend)比 50% 灰度暗,那么将像“乘”功能一样,将“底色”(Base)与“混合”(Blend)相乘。对比度会软化,这使此函数成为 Overlay(覆盖)的不太粗糙版本。
Blend_Screen(混合_筛滤)按“混合”(Blend)颜色使“底色”(Base)变亮。其工作方式如下:对这两种颜色都执行“一减”,将它们相乘,然后对结果执行“一减”。
Blend_SoftLight(混合_柔光)是 Overlay(覆盖)的柔和版本。此函数对“混合”(Blend)颜色执行比较,从而每当“混合”(Blend)比 50% 灰度亮时,就通过“筛滤”(Screen)操作对“底色”(Base)和“混合”(Blend)进行组合。如果“混合”(Blend)比 50% 灰度暗,那么将像“乘”功能一样,将“底色”(Base)与“混合”(Blend)相乘。对比度会软化,这使此函数成为 Overlay(覆盖)的不太粗糙版本。
RadialGradientExponential(指数径向渐变)函数使用 UV 通道 0 来产生径向渐变,同时允许用户调整半径和中心点偏移。
UV(矢量 2)(UVs (Vector 2))用于控制渐变所在的位置及其涵盖 0-1 空间的程度。
中心点(矢量 2)(CenterPosition (Vector2))基于 0-1 的渐变中心位置偏移。
半径(标量)(Radius (Scalar))源自中心的径向渐变的大小。默认值 0.5 使渐变边缘位于纹理空间边缘附近。
密度(标量)(Density (Scalar))调整此函数所产生的渐变的硬度。这个数值越大,意味着渐变越清晰。
反转密度(布尔值)(Invert Density (Boolean))对于渐变,将白色反转为黑色,并将黑色反转为白色。
DiamondGradient(菱形渐变)函数使用 UV 通道 0 来产生径向渐变,同时允许用户调整渐变衰减率。
衰减(标量)(Falloff (Scalar))通过控制渐变从白色变为黑色的速度,提高渐变对比度。
LinearGradient(线性渐变):输入UV,函数输出 UV 通道 0 在 U 或 V 方向上产生线性渐变,其中,方向取决于所使用的输出节点。

SmoothCurve(平滑曲线)函数接收现有的纹理通道或渐变,并使用程序式曲线来控制从暗到亮的过渡。用户可调整此曲线的切线以更改结果
切换 1(标量)(Tangent 1 (Scalar))控制曲线的第二条切线的角度。
X(标量)(X (Scalar))传入的纹理通道或渐变。
切线 0(标量)(Tangent 0 (Scalar))控制曲线的第一条切线的角度。
ValueStep(值阶)函数接收现有的纹理通道或渐变,并根据用户的输入来输出纯黑白色图像。结果是一个蒙版,它代表与输入值相等的渐变部分。
蒙版偏移值(标量)(Mask Offset Value (Scalar))黑色点在结果中的位置偏移。
白色结果之前的数目(标量)(Number Before White Result (Scalar))控制输出到黑色的值数目上限。例如,如果您有从 0 到 10 的渐变,并将此值设置为 9,那么介于 0 与 9 之间的所有值均为黑色。10 将是白色。
渐变(标量)(Gradient (Scalar))接收值大于 1 的渐变
3ColorBlend(三色混合)函数根据灰阶阿尔法,以如下方式对 3 种输入颜色进行混合:
在输入ALpha为0 0.5 1时分别输出代表A B C的颜色权重

CheapContrast(低成本对比度)函数通过将直方图的高端重新映射到低端值,并将直方图的低端重新映射到高端值,提升输入的对比度。这类似于在 Photoshop 中应用色阶调整 ,以及将黑色和白色标志拉入到一个位中。用户可控制提升对比度的程度。Contrast 默认值为 0,这表示不更改。
CheapContrast_RGB 可输入三个标量的颜色进行对比度
SCurve(S 曲线)函数通过沿 S 曲线插入图像的每个通道值,提升图像的对比度。
3PointLevels(3 点色阶)函数接收一个图像,并在 3 个点(白色、黑色、中间色)之间重新映射每个通道的值。这类似于在 Photoshop 中应用色阶调整。但是,与 CheapContrast(低成本对比度)函数不同,此函数提供了全面的控制,使用户能够调整光线及明暗的插值(伽玛)。默认情况下,将以线性方式内插 3 个重新映射点。但是,如果您愿意,可以输入自己的定制插值曲线。
新黑色值(标量)(New Black Value (Scalar))为前一个 0 值设置新值。
新中间值(标量)(New Middle Value (Scalar))
新白色值(标量)(New White Value (Scalar))为前一个 1 值设置新值。
替换与“中间点”(Middle Point)输入值匹配的旧值。
中间点(标量)(Middle Point (Scalar))从输入图像中选择一个值,此值将替换为“中间点”(Middle Point)的值。
定义插值曲线(静态布尔值)(Define Interpolation Curve (StaticBool))如果您想使用“插值幂”(Interpolation Power)输入来定义自己的插值曲线,请设置为 true。
插值幂(标量)“Interpolation Power (Scalar)”这是应用于插值的幂节点。此节点用于控制三个点(黑色、白色和中间色)之间的插值。
反转插值幂(Invert Interpolation Power)如果您想要反转幂曲线(这通常会降低对比度而非提高对比度),请设置为 true。

HueShift(色调改变)函数使输入颜色的当前色调值偏移给定的百分比。此百分比基于 1,并以色环为中心。例如,变动 0.5% (50%) 将改变为互补色调,即色环上对面的色调。变动 1.0 (100%) 不会进行更改,因为这相当于正好绕色环旋转一周。
SmoothThreshold(平滑阈值)函数接收渐变、插值率和阈值(分界值)。然后,它根据输入,将平滑对比度应用于渐变。以下是每个输入的作用明细:
分界值(Cutoff Value)位于分界值以下的渐变输入值将受此操作影响。
线性插值(Lerp Value)添加一个负数或正数,以从原始值平滑地斜升或斜降。斜升或斜降在小于分界值的值中发生。
渐变(Gradient)此值用作对比度操作的基准。

AddComponents(分量相加)函数接收一个“矢量 2”、“矢量 3”或“矢量 4”,将其分量合并加到一起,然后输出结果。您必须使用适合于相应输入的输出
Pi(π)函数用作 π 的常量,并精确到第 6 位小数 (3.141592)。此节点还附有乘数输入
LinearSine(线性正弦)函数接收一个标量值,并输出该值的线性正弦或圆形线性正弦(介于 0 与 1 之间)。如果您将 Time(时间)表达式连接到值输入,并使用 LinearSine(线性正弦),那么可在输出中查看符合线性正弦波的动画。
值(标量)(Value (Scalar))这是要对其应用线性正弦函数的传入值。如果此值随时间推移而变化,那么输出将是波形。
周期(标量)(Period (Scalar))周期控制进行一次完整过渡所需的时间。大于 1 的输入值将使波形速度减慢。
-1 到 1(静态布尔值)(-1 to 1 (StaticBool))将此输入设置为 true 可调整波形的比例及偏移,使其介于 -1 与 1(而不是 0 与 1)之间。
正弦相位(静态布尔值)(Sine Phase (StaticBool))将此输入设置为 true 将输出普通正弦波,而不是输出线性正弦波。
线性正弦(Linear Sine)输出线性正弦波形。
圆形线性正弦(Rounded Linear Sine)输出具有圆形边缘的线性正弦波形。

VectorToRadialValue(矢量到径向值)函数将“矢量 2”矢量转换为角度,或者将 UV 坐标数据转换为径向坐标。对于矢量,角度将在一个通道中输出,而矢量长度在另一通道中输出。
矢量或 UV(矢量 2)(Vector or UVs (Vector2))接收一个“矢量 2”或一组 UV 坐标。混合坐标输出(静态布尔值)
(Swizzle Coordinate Output (StaticBool))对调输出的 U 和 V 分量。
输出
径向坐标(Radial Coordinates)返回输入的径向坐标。对于矢量,角度将在一个通道中输出,而距离在另一通道中输出。
矢量转换为角度(Vector Converted to Angle)返回输入矢量的角度,对于 UV,返回径向梯度。
线性距离(Linear Distance)返回输入矢量的线性长度,对于 UV,输出距离的径向梯度。
TimeWithSpeedVariable(具有速度变量的时间)函数与 Time(时间)节点相似,就是乘以个速度系数,但具有可选的乘数输入。这个函数可以输出相乘结果,或使用可选的“小数时间”(Frac Time)输出从而仅输出乘法运算结果的小数位。
OffsetAndScaleTo1(偏移并调整比例到 1)函数接收一个值,使其按给定的偏移量进行偏移,然后将结果比例重新调整到 0-1 范围。
PassThrough(直接传递)正如其名称所指,此节点的作用只是直接传递。
SplitComponents(拆分分量)函数用于拆分传入颜色或图像的分量,从而使您能够单独访问红色、绿色或蓝色通道。

Flipbook(图像序列)函数接收一个“2D 纹理”,例如精灵帧网格,并输出它们按顺序回放的动画。播放帧动画。
动画相位 (0-1)(标量)(Animation Phase (0-1) (Scalar))如果此输入接收到静态输入,那么结果将是图像序列中最接近的帧,就像这些帧的编号介于 0 与 1 之间一样。如果未提供输入,那么将自动使用时间。
行数(标量)(Number of Rows (Scalar))接收图像序列纹理的行数。
列数(标量)(Number of Columns (Scalar))接收图像序列纹理的列数。
纹理(2D 纹理)(Texture (Texture2D))接收一个“2D 纹理”,其中包含精灵表,即动画纹理的帧网格。
UV(矢量 2)(UVs (Vector2))接收一组 UV 坐标,以帮助进行平铺。
输出
结果(Result)输出一个图像,作为图像序列的结果。
UV(UVs)输出对应于纹理表的给定帧的 UV 坐标。
SoftOpacity(软不透明度)函数接收一个不透明度值,然后对其运行各种计算,从而产生一种柔和的感觉。它应用菲涅耳效果、基于深度的阿尔法以及像素深度。最终的结果会导致对象随着摄像机接近而逐渐消失
消退距离深度(标量)(DepthFadeDistance (Scalar))对象完全消失时的深度。仅当使用了 输出使用深度偏离(OutputUsesDepthBias)输出时才有效。
输入不透明度(标量)(OpacityIn (Scalar))这是传入不透明度值。
消退距离(标量)(FadeDistance (Scalar))距离表面多近时开始淡出。
输出
输出使用深度偏离(OutputUsesDepthBias)此输出会导致对象在其距离达到 消退距离深度(DepthFadeDistance)输入所设置的值时完全淡出,成为完全透明的状态。
输出无深度偏离(OutputNoDepthBias)此输出会导致对象在其到达摄像机时完全淡出,这表示没有偏移。此输出比 输出使用深度偏离(OutputUsesDepthBias) 少 12 条指令

3dParticleOpacity(3D 粒子不透明度)此函数的用途是帮助设置粒子,以使其在远离摄像机时逐渐消失https://api.unrealengine.com/CHN/Engine/Rendering/Materials/Functions/Reference/Particles/index.html

树干绘制:
PivotPainter_HierarchyData(支点描画器_层次结构数据)处理并组织支点描画器 MAXScript 存储在模型 UV 中的全局位置及角度信息。这个特定的函数专门用来处理对象层次结构。
PivotPainter_PerObjectData(支点描画器_每个对象的数据)处理并组织支点描画器 MAXScript 存储在模型 UV 中的全局位置及角度信息。这个特定的函数设计成逐个对象地进行处理。.
PivotPainter_PerObjectFoliageData(支点描画器_每个对象的植物叶子数据)处理并组织支点描画器 MAXScript 存储在模型 UV 中的全局位置及角度信息。此函数专门用于处理个别植物叶子对象
PivotPainter_TreeData(支点描画器_树数据处理并组织支点描画器脚本存储在模型 UV 中的全局位置及角度信息。以 树(tree)开头的输出用于处理由支点描画器 MAXScript 存储的模型 UV 信息。以 叶(Leaf)开头的输出用于处理由脚本中每个对象的支点描画部分存储的 UV 信息。

GeneratedBand(生成的色带)函数根据默认的纹理坐标生成水平或垂直的色带。波纹渐变可以用这个 输入对应uv
宽度(标量)(Width (Scalar))这是介于 0 与 1 之间的值,用于计算程序性色带的宽度。默认值为 0.25。
清晰度(标量)控制色带边缘的衰减。设置为 100 将生成非常清晰的带锯齿色带。
偏移(标量)(Offset (Scalar))此值将使色带在纹理空间中滑动。
方向开关(静态布尔值)(Direction Switch (StaticBool))将此值设置为 true 会导致色带呈垂直而非水平方向。默认值为 false,即水平方向。
比较(标量)(Compare (Scalar))这是要与纹理坐标进行比较以生成色带的值。默认值为 0.5。
输入坐标(矢量 2)(Input Coordinates (Vector2))接收一组定制 UV,而不是接收已内置到函数中的默认 UV。
GeneratedOffsetBands(生成的偏移色带):与 GeneratedBand(生成的色带)函数相似,GeneratedOffsetBands(生成的偏移色带)以程序方式在 UV 空间中创建生成的纹理色带。但是,此函数可以生成多个色带,而不是仅生成一个色带。
色带数(标量)(Bands (Scalar))修改色带总数。
NormalFromHeightmap(根据高度贴图建立法线贴图):此函数提供一种快捷的方法来根据现有的黑白高度贴图建立法线贴图,而不必将另一个纹理装入到内存中。
NormalFromHeightMapChaos(根据高度贴图建立混乱法线贴图)函数接收一个高度贴图,使其在 4 个方向上平移,然后将结果重新混合到一起,以建立混乱动画法线贴图。消耗大
坐标(矢量 2)(Coordinates (Vector2))接收坐标,以便正确地对高度贴图进行比例调整/平铺。
高度偏差(标量)(Height Bias (Scalar))这是一个差值,用于从高度贴图派生正确的高度。默认值为 0.005。
高度(标量)控制法线贴图的最终强度。默认值为 8。

ViewAlignedReflection(与视图一致的反射)此函数接收球形反射纹理并使其与视图一致。通过输入定制反射矢量,可以按一定的偏移来执行计算。根据球形纹理和反射向量返回平面纹理。cubemap采样。
反射矢量(矢量 3)(ReflectionVector (Vector 3))接收需要与视图一致的现有反射矢量。
反射纹理(纹理对象)(ReflectionTexture (TextureObject))接收现有的反射纹理,这必须是球形纹理。
输出
纹理(Texture)输出所产生的基于视图的反射纹理。
UV(UVs)输出反射纹理的 UV 坐标,以便可以在其他位置重新应用这些纹理
WorldAlignedReflection(与世界坐标一致的反射)此函数接收基于球体的传入反射纹理并使其与全局坐标一致。通过输入定制反射矢量,可以按一定的偏移来执行计算。
CustomReflectionVector(定制反射矢量)此函数使用法线贴图来生成一个反射矢量,该反射矢量独立于默认反射矢量以及基本着色器上的法线输入。就是reflect函数。
FuzzyShading(模糊明暗处理)此函数模仿类似于天鹅绒或苔藓的表面,并与菲涅耳计算类似。另外,此函数也适合于着色器效果,例如扫描电子显微镜。
漫射(矢量 3)(Diffuse (Vector3))接收要用作漫射颜色的纹理。
法线(矢量 3)(Normal (Vector3))接收一个法线贴图,用于扰乱模糊结果的表面。
核心暗度(标量)(CoreDarkness (Scalar))此值用于使对象在其法线与摄像机平行(通常朝向中心)的位置变暗。这个数值越大,意味着核心位置越暗。默认值为 0.8。
幂(标量)(Power (Scalar))控制从核心到边缘的衰减率。默认值为 6.0。
边缘亮度(标量)(EdgeBrightness (Scalar))控制表面的法线变为与摄像机垂直(通常朝向边缘)时表面的亮度。

FuzzyShadingGrass(草地模糊明暗处理)此函数用于提供草地明暗处理的漫射部分。与 FuzzyShading(模糊明暗处理)相似,此函数允许您在边缘处混入一种新颜色,方法如下:首先按给定的百分比去饱和度,然后对去饱和度后的区域应用定制颜色。
边缘去饱和度(标量)(EdgeDesat (Scalar))这是 0 到 1 的数值,用于控制应该将多少对象边缘去饱和度,以为边缘颜色腾出位置。

CylindricalUVs(圆柱形 UV)此函数使用以对象中心居中的圆柱形投射 UV 来围绕对象平铺纹理
纹理对象(纹理对象)(TextureObject (Texture Object))要通过圆柱形 UV 来投射的纹理。
圆柱高度输入(标量)(In (Scalar))接收投射圆柱体的高度(以全局空间单位计)。
圆柱方向法线(矢量 3)输入一个矢量,以使投射圆柱体旋转。
输出
圆柱体投射(Cylinder Projection)输出所产生的纹理,就像它是从某个圆柱体投射一样。但是,没有底面,因此纹理会在顶部和底部箍缩。
圆柱体带顶部投射(Cylinder Projection w Top)输出所产生的纹理,就像它是从某个圆柱体投射一样,并以底面补全。
DetailTexturing(细节纹理处理)函数用于简化为材质创建细节纹理的过程。细节纹理处理通过引入叠加detaildiffuse在原始漫反射及法线纹理上的基础上再进行纹理混合以显示更细节的纹理效果,使纹理产生更加细腻的感觉。这可以在近距离查看时产生更加细腻的效果感觉。
比例(标量)(Scale (Scalar))控制细节法线及漫反射纹理的平铺效果。
LocalAlignedTexture(局部一致纹理)函数在局部空间中的对象上平铺纹理。
法线(矢量 3)(Normal (Vector3))接收法线,以用作对象的表面参考。目前,这个输入不起作用。
纹理对象(纹理对象)(TextureObject (Texture Object))接收要在全局空间中平铺的纹理。
输出
XY 纹理(XY Texture)按世界坐标 X 和 Y 坐标来平铺纹理的结果。
XYZ 纹理(XYZ Texture)按世界坐标 X、Y 和 Z 坐标来平铺纹理的结果。
Z 纹理(Z Texture)按全局世界坐标 Z 坐标来平铺纹理的结果。
ZWorldSpaceFlow(Z 世界空间流动函数)函数沿对象的切线空间来平铺纹理,这会导致该纹理看起来像是沿该表面“流动”。其工作方式如下:建立纹理在同一方向上平移所产生的两个变体,但这两个变体之间存在轻微的偏移。然后,以重复方式将各个变体叠加混合。
流动纹理(纹理对象)(FlowTexture (Texture Object))这是要沿对象表面流动的纹理。
流动强度(标量)(FlowStrength (Scalar))控制纹理的两个平移版本彼此混合时发生的混合量。微调此值可控制发生混合的表面区域。
流动方向(矢量 2)(FlowDirection (Vector2))这是一个 2D 矢量,用于控制纹理的流动方向。
UV(矢量 2)(UVs (Vector2))纹理的任何现有 UV,用于控制平铺。
流速(标量)(FlowSpeed (Scalar))纹理在表面上的流动速度。
TextureCropping(纹理裁切)函数用于将给定的纹理裁切为纹理坐标平面上更小的偏移位置。此函数适合用来将一个颜色块放到自发光纹理区域上。
UV(矢量 2)(UVs (Vector2))在新裁切的纹理上使用的纹理坐标。
输入纹理(纹理对象)(TextureIn (Texture Object))要裁切的纹理。
左上角(矢量 2)(UpperLeftCorner (Vector2))纹理的新左上角的位置(在 0-1 纹理空间内)。
右下角(矢量 2)(LowerRightCorner (Vector2))纹理的新右下角的位置(在 0-1 纹理空间内)。
输出
已裁切(Cropped)裁切函数的结果。这与平铺操作非常相似。
已裁切及屏蔽(CroppedMasked)提供裁切函数的结果,但同时遮蔽(屏蔽)UpperLeftCorner(左上角)和 LowerRightCorner(右下角)所定义区域外部的区域。
裁切 UV(Crop UVs)新裁切的区域的 UV 坐标。
裁切蒙版(Crop Mask)黑色背景(蒙版)上的白色区域,用于表示要裁切的区域。
WorldAlignedNormal(世界空间法线采样)接收法线贴图,并使其纹理与全局空间一致,而不是与对象局部一致。它还支持按全局单位进行比例调整,而不是按纹理大小的百分比进行调整
纹理对象(纹理对象)(TextureObject (Texture Object))接收要在全局空间中平铺的纹理。
纹理大小(矢量 3)(TextureSize (Vector3))纹理大小,以 X、Y 和 Z 轴上的全局单位计。
法线(矢量 3)(Normal (Vector3))允许您指定全局空间的上方向轴的法线方向,从而旋转此函数所使用的坐标。默认值为 0,0,1,即,上方向 Z。
全局位置(矢量 3)(WorldPosition (Vector3))提供 3D 全局空间中纹理的开始点偏移。
输出
XY 纹理(XY Texture)在全局 X 和 Y 方向上投射纹理的结果。
XYZ 纹理(XYZ Texture)在全局 X、Y 和 Z 方向上投射纹理的结果。
XYZ 平顶(XYZFlatTop)在全局 X、Y 和 Z 方向上投射纹理并提升对比度的结果。
Z 纹理(Z Texture)在全局 Z 方向上投射纹理的结果。
WorldAlignedTexture(全局一致纹理)函数用于在全局空间中的对象表面上平铺纹理,此平铺与该对象的大小或旋转无关。此函数允许您指定投射纹理的方向,并按全局单位(而非纹理大小的百分比)进行比例调整。
纹理对象(纹理对象)(TextureObject (Texture Object))接收要在全局空间中平铺的纹理。
纹理大小(矢量 3)(TextureSize (Vector3))纹理大小,以 X、Y 和 Z 轴上的全局单位计。
全局位置(矢量 3)(WorldPosition (Vector3))提供 3D 全局空间中纹理的开始点偏移。
导出浮点 4(静态布尔值)(ExportFloat 4 (StaticBool))是否利用传入纹理的阿尔法通道。默认值为 false。
全局空间法线(矢量 3)(World Space Normal (Vector3))允许您指定全局空间的上方向轴的法线方向,从而旋转此函数所使用的坐标。默认值为 0,0,1,即,上方向 Z。
投射过渡对比度(矢量 3)(ProjectionTansitionContrast (Vector3))在 X、Y 和 Z 方向上投射时,此值控制两个投射平面相交时产生的混合对比度。
输出
XY 纹理(XY Texture)在全局 X 和 Y 方向上投射纹理的结果。
Z 纹理(Z Texture)在全局 Z 方向上投射纹理的结果。
XYZ 纹理(XYZ Texture)在全局 X、Y 和 Z 方向上投射纹理的结果。
3DSandMayaUVCoordinates(3D 沙 Maya UV 坐标)此函数翻转传入 UV 的绿色通道,以将 0,0 坐标放在左下角(就像在 3DS Max 和 Maya 中一样)而非左上角。这对于来自这些应用程序的模型非常重要,因为您可以避免翻转纹理。
CustomRotator(定制旋转,uv映射极坐标)函数允许您旋转纹理。但是,它与基本的 Rotator(旋转)表达式节点的区别在于,它会公开图像的旋转中心点。它还将旋转系统更改为基于 0-1,因此值 1 被视为全程旋转,即旋转 360 度。在标准的 Rotator(旋转)上,全程旋转需要大约 25.1 的“时间”(Time)输入。
UV(矢量 2)(UVs (Vector2))接收纹理的现有坐标。
旋转中心(矢量 2)(Rotation Center (Vector2))纹理空间 0-1 中用作旋转中心的位置。
旋转角度 (0-1)(标量)(Rotation Angle (0-1) (Scalar))0-1 格式的图像旋转,其中,1 表示全程旋转。
HeightLerp(高度插值)函数允许您根据高度贴图和过渡阶段值,在 2 个纹理之间执行线性插值。这允许您沿着发生插值的高度贴图来调整值。
A(矢量 3)(A (Vector3))用于插值计算的第一个纹理。
B(矢量 3)(B (Vector3))用于插值计算的第二个纹理。
过渡阶段(标量)(Transition Phase (Scalar))此值定义发生过渡的高度贴图范围。保留此值为 0.5 表示执行标准插值,而将值调整为接近 0 和 1 将分别朝向高度贴图底部或顶部发生偏移。
高度贴图(标量)(Height Texture (Scalar))用于插值操作的高度贴图。
对比度(标量)(Contrast (Scalar))使用 CheapContrast(低成本对比度)函数对高度贴图应用对比度提升。
输出
结果(Results)HeightLerp(高度插值)函数的混合结果。
阿尔法(Alpha)在插值中使用的阿尔法值(已提升对比度)。
无对比度插值阿尔法(Lerp Alpha No Contrast)在插值中使用的阿尔法值(未提升对比度)。
LocalSpaceSurfaceMirroring(局部空间表面镜像)函数将镜像应用于表面上所有朝向给定局部轴的面。表面区域上的其他区域将被屏蔽。这些蒙版可通过一个标量输入进行偏移,而整个计算可由法线贴图扰乱。这在您需要根据表面的拓扑来产生镜像时非常有用。
SubUV_Function(子 Uv_函数)适合于处理精灵表或纹理上具有多帧的动画。此函数接收一个纹理对象,并可根据输出来显示该纹理上各个帧的混合帧动画。
纹理(纹理对象)传入的精灵表纹理。
UV(矢量 2)(UVs (Vector2))纹理的 UV 坐标(以备需要执行平铺)。
子图像(矢量 2)(SubImages (Vector2))纹理上的帧数(水平及垂直)。
帧(标量)(Frame (Scalar))动画的当前帧。此值基于零,并且将根据小数值进行混合。例如,值 2.35 将在第三个与第四个帧之间产生 35% 的混合。
TwoSidedTexturing(双面纹理处理)函数为双面材质的两个面分别提供材质输入。如果材质的 双面(Two Sided)属性未激活,那么此函数不执行任何操作。
纹理 A 面(矢量 3)(Texture Side A (Vector3))在多边形的正面(外部)使用的纹理。
纹理 B 面(矢量 3)(Texture Side B (Vector3))在多边形的反面(内部)使用的纹理。
使用表面法线(静态布尔值)(Use Surface Normals (StaticBool))向着色器指出是否应使用传入的法线贴图来帮助计算网格的正面和反面。
WorldCoordinate3Way(全局坐标三向)函数按全局坐标将纹理投射到对象表面。用户可控制多个纹理在边缘处进行混合的方式,并可添加法线贴图以便在计算前扰乱表面。

Fresnel(菲涅尔)与普通的 Fresnel(菲涅尔)表达式节点不同,Fresnel(菲涅尔)函数允许您指定自己的一组用于计算方程式的矢量以及对混合进行其他调整。
法线矢量(矢量 3)(Normal Vector (Vector3))菲涅尔运算中使用的第一个矢量。这通常是表面矢量。
摄像机矢量(矢量 3)(Camera Vector (Vector3))摄像机方向的矢量。
反转菲涅尔(静态布尔值)(Invert Fresnel (StaticBool))此值用于反转运算,从而反转计算法线以产生结果的方式。
幂(标量)(Power (Scalar))此值控制颜色在核心与边缘之间衰减的速度。
使用低成本对比度(静态布尔值)(Use Cheap Contrast (StaticBool))此值激活内部的 CheapContrast(低成本对比度)函数,以提升菲涅耳效果的对比度。
低成本对比度 - 暗(标量)(Cheap contrast dark (Scalar))使用低成本对比度时,此值控制在结果中显示的暗值数量。不使用低成本对比度时,此值不起作用。
低成本对比度 - 亮(标量)(Cheap contrast bright (Scalar))使用低成本对比度时,此值控制在结果中显示的亮值数量。不使用低成本对比度时,此值不起作用。

SimpleGrassWind(简单草地风)函数对植物叶子应用基本的风运算,并允许您指定权重贴图和风力。这是无方向的风,它只是使植物叶子产生非常普通的移动效果。这应该是您添加的最后一个 WPO 节点。
风力(标量)(WindIntensity (Scalar))控制风影响网格的程度。
风权重(标量)(WindWeight (Scalar))这是一个灰阶贴图,用于控制网格顶点对风产生反应的程度。
风速(标量)(WindSpeed (Scalar))此值控制风速。
其他 WPO(矢量 3)(AdditionalWPO (Vector3))接收任何其他全局位置偏移网络或函数。
SplineThicken(样条加厚)函数用来使非常薄的多边形在渲染时显示为略厚。对于线缆、头发、草和其他此类对象,这种效果非常理想。使用此函数的对象应该极薄,并且应该在禁用“移除退化三角形”(Remove Degenerate Triangles)的情况下导入。
CameraOffset(摄像机偏移)函数可帮助您进行深度排序,因为它允许您在摄像机空间中移动对象,使其靠近或远离摄像机。就是顶点往摄像机方向偏移一点点,方便深度排序。
偏移量(标量)(OffsetAmount (Scalar))请输入一个正数或负数,以使您的模型在摄像机方向上产生偏移。请注意,正数值将使模型更接近摄像机,并且会在网格大大超出模型边界框时导致渲染错误。
限制填补(标量)(Clampe Padding (Scalar))为了防止偏移值的受限版本滑入摄像机而使用的填补量。
全局位置(矢量 3)(WorldPosition (Vector3))请输入模型的顶点全局位置。默认值 = 全局位置。
输出
受限摄像机偏移(Clamped Camera Offset)对摄像机偏移进行限制,以提早避免摄像机相交。请调整填补,以更改为了避免摄像机相交而保留的空间量。
摄像机偏移(Camera Offset)请将此值添加到其他全局位置偏移代码,或将其直接输入到全局位置偏移主材质,以使网格产生偏移。
ObjectScale(对象比例)函数一起或单独返回对象的 XYZ 比例。此函数与像素着色器不兼容。
PivotAxis(支点轴)函数用于在任意的轴上创建公共支点位置。此函数可以帮助创建旗帜运动。请不要使用接近旗帜顶端的单个支点,而应改为使用共享的 Z 点以及唯一的 X 和 Y 位置数据,沿对象的宽度创建更加现实的连接。
支点轴/位置(矢量 3)(Pivot Axis/Pos (Vector3))请输入一个数值,这个值将同时用作局部轴线轴和位置。如果您希望锁定模型,请输入 (0,0,1)。如果您希望锁定模型顶端,请以 (0,0,模型高度) 形式输入模型的高度。
输出
支点(Pivot)此输出可用作旋转轴节点中的支点。
RotateAboutWorldAxis_cheap(绕全局轴旋转_低成本)函数以低成本方式使对象绕全局轴旋转。请输入您希望使用的角度,并将输出连接到全局位置偏移。顶点旋转偏移。
ObjectPivotPoint(对象支点)函数返回全局空间中对象的支点。此函数与像素着色器不兼容。
StaticMeshMorphTargets(静态网格变形目标)函数将通过 3DS Max 的 Morph Packer MAXScript 添加的变形目标数据解包。
Wind(风)函数针对风力、速度乘以时间以及规范化风矢量提供了单独的输出。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

游戏学院公众号二维码
腾讯游戏学院
微信公众号

提供更专业的游戏知识学习平台