UE4材质节点介绍201130_A02
D-J凸ker
2020年11月30日 15:08

UE4材质节点介绍

-----------------------------------------------------------------------------------------------------------材质函数-------------------------------------

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(风)函数针对风力、速度乘以时间以及规范化风矢量提供了单独的输出