(175)矢量表達式

ActorPositionWS(Actor 全局空間位置)

ActorPositionWS(Actor 全局空間位置)輸出 Vector3 (RGB) 數據,該數據代表使用此材質的對象在全局空間中的位置。

ActorPositionColors.png ActorPositionNetwork.png

在此示例中,您可以看到 ActorPositionWS(Actor 全局空間位置)直接輸送到材質的“底色”(Base Color)。因此,此材質所應用於的每個球體在 3D 空間中移動到不同位置時將顯示不同的顏色。請注意,ActorPositionWS(Actor 全局空間位置)節點的結果將除以 1600 以創建美觀的混合顏色,而不是讓顏色突變。

CameraPositionWS(攝像機全局空間位置)

CameraWorldPosition(攝像機全局空間位置)表達式輸出三通道矢量值,該值代表攝像機在全局空間中的位置。

當攝像機旋轉時,預覽球體的顏色將發生變化。

CameraPositionWSExample.png CameraPositionWSNetwork.png

CameraVectorWS(攝像機全局空間矢量)

CameraVector(攝像機矢量)表達式輸出一個三通道矢量值,該值代表攝像機相對於表面的方向,即從像素到攝像機的方向。

用法示例:CameraVector(攝像機矢量)經常用來模擬環境貼圖,方法如下:將 CameraVector(攝像機矢量)連接到 ComponentMask(分量蒙版),並使用 CameraVector(攝像機矢量)的 X 和 Y 通道作爲紋理座標。

CameraVectorWSExample.png

Constant2Vector(常量 2 矢量)

Constant2Vector(常量 2 矢量)表達式輸出雙通道矢量值,即輸出兩個常量數值。

項目

說明

屬性

R

指定表達式所輸出的矢量的紅色(第一個)通道的浮點值。

G

指定表達式所輸出的矢量的綠色(第二個)通道的浮點值。

示例:(0.4, 0.6) 和 (1.05, -0.3)

用法示例:Constant2Vector(常量 2 矢量)對於修改紋理座標非常有用,因爲這些座標也是雙通道值。

Constant2Example.png

通過在材質編輯器的圖形區域中按住 2 鍵並 單擊鼠標左鍵,可快速創建 Constant2Vector(常量 2 矢量)節點。

Constant3Vector(常量 3 矢量)

Constant3Vector(常量 3 矢量)表達式輸出三通道矢量值,即輸出三個常量數值。您可以將 RGB 顏色看作 Constant3Vector(常量 3 矢量),其中每個通道都被賦予一種顏色(紅色、綠色、藍色)。

項目

說明

屬性

R

指定表達式所輸出的矢量的紅色(第一個)通道的浮點值。

G

指定表達式所輸出的矢量的綠色(第二個)通道的浮點值。

B

指定表達式所輸出的矢量的藍色(第三個)通道的浮點值。

示例:(0.4, 0.6, 0.0) 和 (1.05, -0.3, 0.3)

Constant3Example.png

通過在材質編輯器的圖形區域中按住 3 鍵並 單擊鼠標左鍵,可快速創建 Constant3Vector(常量 3 矢量)節點。

Constant4Vector(常量 4 矢量)

Constant4Vector(常量 4 矢量)表達式輸出四通道矢量值,即輸出四個常量數值。您可以將 RGBA 顏色看作 Constant4Vector(常量 4 矢量),其中每個通道都被賦予一種顏色(紅色、綠色、藍色、阿爾法)。

項目

說明

屬性

R

指定表達式所輸出的矢量的紅色(第一個)通道的浮點值。

G

指定表達式所輸出的矢量的綠色(第二個)通道的浮點值。

B

指定表達式所輸出的矢量的藍色(第三個)通道的浮點值。

A

指定表達式所輸出的矢量的阿爾法(第四個)通道的浮點值。

示例:(0.4, 0.6, 0.0, 1.0) 和 (1.05, -0.3, 0.3, 0.5)

Constant4Example.png

通過在材質編輯器的圖形區域中按住 4 鍵並 單擊鼠標左鍵,可快速創建 Constant4Vector(常量 4 矢量)節點。

LightVector(光線矢量)

在虛幻引擎 4 中,建議您不要使用此表達式,因爲照明計算現在延遲進行。

ObjectBounds(對象界限)

ObjectBounds(對象界限)表達式輸出對象在每個軸上的大小。如果用作顏色,那麼 X、Y 和 Z 軸分別對應於 R、G 和 B。

ObjectBoundsScene.png ObjectBoundsNetwork.png

在以上示例中,您可以看到對象顏色對應於對象的最長軸。

ObjectOrientation(對象方向)

ObjectOrientation(對象方向)表達式輸出對象的全局空間向上矢量。即,對象的局部正向 Z 軸指向此方向。

ObjectOrientationExample.png

ObjectPositionWS(對象全局空間位置)

ObjectPositionWS(對象全局空間位置)表達式輸出對象界限的全局空間中心位置。例如,在爲植物創建球面照明時,此表達式很有用。

WorldPositionWSScene.png WorldPositionNetwork.png

ParticlePositionWS(粒子全局空間位置)

ParticlePositionWS(粒子全局空間位置)表達式輸出 Vector3 (RGB) 數據,該數據代表每個粒子在全局空間中的位置。

ParticlePositionWS.png

在此圖中,將 ParticlePositionWS(粒子全局空間位置)輸送到自發光顏色,以將數據可視化。粒子系統已按比例放大,以顯示顏色根據位置而變化的情況。

PixelNormalWS(像素全局空間法線)

PixelNormalWS(像素全局空間法線)表達式輸出矢量數據,該數據代表像素所面對的方向(基於當前法線)。

PixelNormalWSExample.png

在此示例中,PixelNormalWS(像素全局空間法線)輸送到“底色”(Base Color)。請注意,使用了法線貼圖按像素產生結果。

ReflectionVectorWS(反射全局空間矢量)

ReflectionVectorWS(反射全局空間矢量)表達式類似於 CameraVectorWS(攝像機全局空間矢量) ,但是它輸出三通道矢量值,該值代表反射在表面法線上的攝像機方向。

用法示例:ReflectionVector(反射矢量)通常用於環境貼圖,其中,反射矢量的 X/Y 分量用作立方體貼圖紋理的 UV。

ReflectionVectorWSExample.png

VertexNormalWS(頂點全局空間法線)

VertexNormalWS(頂點全局空間法線)表達式輸出全局空間頂點法線。它只能在頂點着色器(例如 WorldPositionOffset(全局位置偏移))中執行的材質輸入中使用。此表達式對於使網格伸縮而言非常有用。請注意,使位置沿法線偏移將導致幾何體沿 UV 縫合分裂。

VertexNormalWSExample.png

在以上示例中,預覽球體隨正弦運動而放大和縮小,這是因爲每個頂點都在它們自已的法線方向上移動。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章