Choose your operating system:
Windows
macOS
Linux
ActorPositionWS
ActorPositionWS 输出矢量3(RGB)数据,该数据表示对象在世界场景空间中的位置以及其上的材质。
在此示例中,您可以看到ActorPositionWS被直接输入到材质的底色(Base Color)中。因此,当每个球体被移至三维空间中的不同位置时,每个球体以及应用于它们的材质将显示不同的颜色。请注意,ActorPositionWS节点的结果将除以1600,以创建一个漂亮的混合颜色,而不是流行颜色。
CameraPositionWS
CameraWorldPosition 表达式输出三信道矢量值,该值表示摄像机在世界场景空间中的位置。
当摄像机旋转时,预览球体会改变颜色。
LightmapUVs
LightmapUVs(光照贴图 UV)表达式以双通道矢量值形式输出光照贴图 UV 纹理坐标。如果无法获得光照贴图 UV,那么将输出双通道矢量值 (0,0)。
ObjectOrientation
ObjectOrientation 表达式输出对象的世界场景向上矢量。换言之,对象的局部正z轴正指向此方向。
ObjectPositionWS
ObjectPositionWS 表达式输出对象边界的世界场景空间中心位置。例如,这对于为植物创建球形照明很有用。
ObjectRadius
ObjectRadius(对象半径)输出给定对象以 Unreal 单位计的半径值。系统会对比例缩放加以考虑,并且对于每个对象,结果可能是唯一的。
在此示例中,两个网格都接收此材质,而在此材质中,ObjectRadius(对象半径)将输送到"漫射"(Diffuse)中。ObjectRadius(对象半径)输出将除以 512,以提供更有意义的视觉效果。
Panner
Panner(平移)表达式输出可用于创建平移(或移动)纹理的 UV 纹理坐标。
项目 |
说明 |
|
---|---|---|
属性 |
||
速度 X(SpeedX) |
指定在 U 方向上平移坐标的速度。 |
|
速度 Y(SpeedY) |
指定在 V 方向上平移坐标的速度。 |
|
输入 |
||
坐标(Coordinate) |
接收可以通过表达式来修改的基本 UV 纹理坐标。 |
|
时间(Time) |
接收用来确定当前平移位置的值。这通常是用来提供常量平移效果的 Time(时间) 表达式,但是,也可以使用 Constant(常量) 或 ScalarParameter(标量参数) 来设置特定偏移,或者通过 Matinee 或蓝图来控制平移。 |
Panner(平移)会生成根据"时间"(Time)输入而变化的 UV。"坐标"(Coordinate)输入可用于处理 Panner(平移)节点所生成的 UV(例如,使其偏移)。
粒子位置WS
粒子位置WS(ParticlePositionWS) 表达式输出代表世界场景空间中每个单独粒子位置的Vector3(RGB)数据。
在这幅图像中,粒子位置WS(ParticlePositionWS)被馈送到自发光颜色中来显示数据。粒子系统被放大以显示颜色是如何根据位置变化的。
PixelNormalWS
PixelNormalWS 表达式根据当前法线输出矢量数据,该数据表示像素所面对的方向。
在此示例中,PixelNormalWS被输入到底色(Base Color)中。请注意,法线贴图用于给出逐像素结果。
Rotator
Rotator(旋转)表达式以双通道矢量值形式输出 UV 纹理坐标,该矢量值可用来创建旋转纹理。
项目 |
说明 |
|
---|---|---|
属性 |
||
中心 X(CenterX) |
指定旋转中心的 U 坐标。 |
|
中心 Y(CenterY) |
指定旋转中心的 V 坐标。 |
|
速度(Speed) |
指定以顺时针方向旋转坐标的速度。 |
|
输入 |
||
坐标(Coordinate) |
接收可以通过表达式来修改的基本 UV 纹理坐标。 |
|
时间(Time) |
接收用来确定当前旋转位置的值。这通常是用来提供常量旋转效果的 Time(时间) 表达式,但是,也可以使用 Constant(常量) 或 ScalarParameter(标量参数) 来设置特定偏移,或者通过 Matinee 或蓝图来控制旋转。 |
SceneTexelSize
SceneTexelSize(场景纹素大小)表达式允许按纹素大小进行偏移,正如您使用 SceneColor(场景颜色)和 SceneDepth(场景深度)表达式时执行的偏移操作。这对于在多分辨率系统中检测边缘十分有用,因为不进行此计算时,您就必须使用较小的静态值,从而导致分辨率较低时结果不一致。
ScreenPosition
ScreenPosition(屏幕位置)表达式输出当前所渲染像素的屏幕空间位置。
TextureCoordinate
TextureCoordinate(纹理坐标)表达式以双通道矢量值形式输出 UV 纹理坐标,从而允许材质使用不同的 UV 通道、指定平铺以及以其他方式对网格的 UV 执行操作。
项目 |
说明 |
|
---|---|---|
属性 |
||
坐标索引(Coordinate Index) |
指定要使用的 UV 通道。 |
|
U 平铺(UTiling) |
指定 U 方向上的平铺量。 |
|
V 平铺(VTiling) |
指定 V 方向上的平铺量。 |
|
撤销镜像 U(Un Mirror U) |
如果为 true,那么撤销 U 方向上的所有镜像。 |
|
撤销镜像 V(Un Mirror V) |
如果为 true,那么撤销 V 方向上的所有镜像。 |
用法示例:要访问网格的第二个 UV 通道,请创建一个 TextureCoordinate(纹理坐标)节点,将其"坐标索引"(CoordinateIndex)设置为 1(0 表示第一个通道,1 表示第二个通道,等等),并将其连接到 TextureSample(纹理取样)节点的 UV 输入。
VertexNormalWS
VertexNormalWS 表达式输出世界场景空间顶点法线。它只能用于在顶点着色器中执行的材质输入,例如WorldPositionOffset。该表达式对于设置网格体增大或缩小很有用。请注意,沿法线偏移位置会导致几何图形沿UV缝隙拆分。
在上面的示例中,由于每个顶点在各自的法线方向上移动,预览球体似乎会随着正弦运动按比例放大和缩小。
ViewSize
ViewSize(视图大小)表达式输出一个 2D 矢量,以给出当前视图的大小(以像素为单位)。这对于使材质根据当前屏幕分辨率产生各种变化来说非常有用。
|
|
---|---|
预览窗口大小:740x700 |
预览窗口大小:740x280 |
在此示例中,ViewSize(视图大小)输送到"底色"(Base Color)。结果将除以 2,400,以提供更有意义的结果。
WorldPosition
WorldPosition(全局位置)表达式输出当前像素在全局空间中的位置。要实现可视化,只需将输出连接到"自发光"(Emissive):
常见用法是确定从摄像机到像素的径向距离,而不是像 PixelDepth(像素深度)那样确定正交距离。WorldPosition(全局位置)也可用作纹理坐标,并让不相关的网格在它们彼此邻近时进行纹理坐标匹配。以下是使用 WorldPosition.xy 对纹理进行二维贴图的基本示例: