(192)紋理處理

紋理處理函數用於對基於紋理的操作進行特殊處理,例如調整紋理的 UV 以及裁切紋理等等。

紋理處理函數

以下是“紋理處理”類別下所有函數的列表。

CylindricalUVs(圓柱形 UV)

此函數使用以對象中心居中的圓柱形投射 UV 來圍繞對象平鋪紋理。

項目

說明

輸入

紋理對象(紋理對象)(TextureObject (Texture Object))

要通過圓柱形 UV 來投射的紋理。

輸入(標量)(In (Scalar))

接收投射圓柱體的高度(以全局空間單位計)。

法線(矢量 3)

輸入一個矢量,以使投射圓柱體旋轉。

輸出

圓柱體投射(Cylinder Projection)

輸出所產生的紋理,就像它是從某個圓柱體投射一樣。但是,沒有底面,因此紋理會在頂部和底部箍縮。

圓柱體帶頂部投射(Cylinder Projection w Top)

輸出所產生的紋理,就像它是從某個圓柱體投射一樣,並以底面補全。

CylindricalUVs(圓柱形 UV)

DetailTexturing(細節紋理處理)

DetailTexturing(細節紋理處理)函數用於簡化爲材質創建細節紋理的過程。細節紋理處理通過引入疊加在對象原始漫射及法線紋理上的更高度重複漫射及法線紋理組合,使紋理產生更加細膩的錯覺。這可以在近距離查看時產生更加細膩的效果錯覺。

項目

說明

輸入

比例(標量)(Scale (Scalar))

控制細節法線及漫射紋理的平鋪。

漫射(矢量 3)(Diffuse (Vector3))

需要更多細節的原始漫射紋理。

細節漫射(紋理對象)(DetailDiffuse (Texture Object))

添加的細節的漫射紋理。

漫射強度(標量)(DiffuseIntensity (Scalar))

要混合到原始漫射中的細節漫射量。

法線(矢量 3)(Normal (Vector3))

需要更多細節的原始法線紋理。

細節法線(紋理對象)(DetailNormal (Texture Object))

用來向原始法線貼圖添加更多細節的細節法線紋理。

法線強度(標量)(NormalIntensity (Scalar))

透過原始法線紋理顯示的細節法線紋理量。

輸出

漫射(Diffuse)

原始漫射紋理與細節漫射紋理混合後的結果。

法線(Normal)

原始法線紋理與細節法線紋理混合後的結果。

DetailTexturing(細節紋理處理)

LocalAlignedTexture(局部一致紋理)

LocalAlignedTexture(局部一致紋理)函數在局部空間中的對象上平鋪紋理。

雖然此函數有法線輸入,但目前這個輸入不起作用。

項目

說明

輸入

法線(矢量 3)(Normal (Vector3))

接收法線,以用作對象的表面參考。目前,這個輸入不起作用。

紋理對象(紋理對象)(TextureObject (Texture Object))

接收要在全局空間中平鋪的紋理。

輸出

XY 紋理(XY Texture)

按全局 X 和 Y 座標來平鋪紋理的結果。

XYZ 紋理(XYZ Texture)

按全局 X、Y 和 Z 座標來平鋪紋理的結果。

Z 紋理(Z Texture)

按全局 Z 座標來平鋪紋理的結果。

LocalAlignedTexture(局部一致紋理)

ZWorldSpaceFlow(Z 全局空間流動)

ZWorldSpaceFlow(Z 全局空間流動)函數沿對象的切線空間來推送紋理,這會導致該紋理看起來像是沿該表面“流動”。其工作方式如下:建立紋理在同一方向上平移所產生的兩個變體,但這兩個變體之間存在輕微的偏移。然後,以重複方式將各個變體疊加混合。

項目

說明

輸入

流動紋理(紋理對象)(FlowTexture (Texture Object))

這是要沿對象表面流動的紋理。

流動強度(標量)(FlowStrength (Scalar))

控制紋理的兩個平移版本彼此混合時發生的混合量。微調此值可控制發生混合的表面區域。

流動方向(矢量 2)(FlowDirection (Vector2))

這是一個 2D 矢量,用於控制紋理的流動方向。

UV(矢量 2)(UVs (Vector2))

紋理的任何現有 UV,用於控制平鋪。

流速(標量)(FlowSpeed (Scalar))

紋理在表面上的流動速度。

TangentSpaceFlow(切線空間流動)

TextureCropping(紋理裁切)

TextureCropping(紋理裁切)函數用於將給定的紋理裁切爲紋理座標平面上更小的偏移位置。此函數適合用來將一個顏色塊放到自發光紋理區域上。

此函數並不會實際執行真實的裁切操作,例如 Photoshop 等圖像編輯軟件包中使用的裁切操作。而是,此函數將現有紋理重新映射到 UV 紋理空間中的新座標,這更像是比例調整,而非裁切。但是,此函數仍然非常適合用來生成蒙版以及向紋理區域添加顏色。

項目

說明

輸入

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)

黑色背景(蒙版)上的白色區域,用於表示要裁切的區域。

TextureCropping(紋理裁切)

WorldAlignedNormal(全局一致法線)

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 方向上投射紋理的結果。

WorldAlignedNormal(全局一致法線)

請注意,儘管地面已旋轉,但紋理仍與全局座標一致。

WorldAlignedTexture(全局一致紋理)

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 方向上投射紋理的結果。

WorldAlignedTexture(全局一致紋理)

請注意,儘管地面已旋轉,但紋理仍與全局座標一致。

3DSandMayaUVCoordinates(3D 沙 Maya UV 座標)

此函數翻轉傳入 UV 的綠色通道,以將 0,0 座標放在左下角(就像在 3DS Max 和 Maya 中一樣)而非左上角。這對於來自這些應用程序的模型非常重要,因爲您可以避免翻轉紋理。

項目

說明

輸入

  • UV 通道 0(UVChannel0) - 來自 UV 通道 0 且 V 翻轉的 UV。

  • UV 通道 1(UVChannel1) - 來自 UV 通道 1 且 V 翻轉的 UV。

  • UV 通道 2(UVChannel2) - 來自 UV 通道 2 且 V 翻轉的 UV。

  • UV 通道 3(UVChannel3) - 來自 UV 通道 3 且 V 翻轉的 UV。

3DSandMayaUVCoordinates(3D 沙 Maya UV 座標)

CustomRotator(定製旋轉)

CustomRotator(定製旋轉)函數允許您旋轉紋理。但是,它與基本的 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 表示全程旋轉。

CustomRotator(定製旋轉)

HeightLerp(高度插值)

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)

在插值中使用的阿爾法值(未提升對比度)。

HeightLerp(高度插值)

CameraWorldBlend(攝像機全局混合)

3 個主要全局矢量的輸出衰減結果(基於攝像機角度)。可用來根據攝像機的觀看方向在紋理之間進行混合。

此函數仍在開發中,可能無法提供預期的結果。

項目

說明

輸入

混合冪(標量)(Blend Power (Scalar))

兩個紋理之間的混合比率。

使用反射矢量(靜態布爾值)(Use Reflection Vector (StaticBool))

如果爲 true,那麼將使用 ReflectionVector(反射矢量)而非 CameraVector(攝像機矢量)(材質的“法線”(Normal)輸入將影響結果)。默認值爲 false。但是,目前沒有此開關的 false 輸入數據,因此將其保持設置爲 false 不會產生任何結果。

使用可平滑法線(靜態布爾值)(Use Smoothable Normals (StaticBool))

如果爲 true,那麼將使用 ReflectionVector(反射矢量)而非 CameraVector(攝像機矢量)(材質的“法線”(Normal)輸入將影響結果)。默認值爲 false。但是,目前沒有此開關的 false 輸入數據,因此將其保持設置爲 false 不會產生任何結果。

平滑反射百分比(標量)(Smooth Reflection Percentage (Scalar))

在混合前對應用於表面的法線進行平滑的程度。

輸出

XY True

當表面與 XY 平面對齊時朝向白色混合的衰減結果。

XZ True

當表面與 XZ 平面對齊時朝向白色混合的衰減結果。

YZ True

當表面與 YZ 平面對齊時朝向白色混合的衰減結果。

CameraWorldBlend(攝像機全局混合)

請注意,在表面與 XY 平面對齊的所有位置都會混入綠色紋理,而在其他位置都會混入紅色。

LocalSpaceSurfaceMirroring(局部空間表面鏡像)

LocalSpaceSurfaceMirroring(局部空間表面鏡像)函數將鏡像應用於表面上所有朝向給定局部軸的面。表面區域上的其他區域將被屏蔽。這些蒙版可通過一個標量輸入進行偏移,而整個計算可由法線貼圖擾亂。這在您需要根據表面的拓撲來產生鏡像時非常有用。

項目

說明

輸入

使用法線貼圖(靜態布爾值)(Use NormalMap (StaticBool))

設置應用法線貼圖後是否計算表面的方向。

法線貼圖(矢量 3)(Normal Map (Vector 3))

接收一個法線貼圖,用於在計算局部拓撲之前擾亂對象的表面。

輸入(標量)(In (Scalar))

這是一個偏移值,用於移動所產生的蒙版。

輸出

局部 X(Local X)

輸出屏蔽後的鏡像效果,此效果隻影響朝向局部 X 軸的表面。

局部 Y(Local Y)

輸出屏蔽後的鏡像效果,此效果隻影響朝向局部 Y 軸的表面。

局部 Z(Local Z)

輸出屏蔽後的鏡像效果,此效果隻影響朝向局部 Z 軸的表面。

SubUV_Function(子 UV_函數)

SubUV_Function(子 Uv_函數)適合於處理精靈表或紋理上具有多幀的動畫。此函數接收一個紋理對象,並可根據輸出來顯示該紋理上各個幀的混合幀動畫。

項目

說明

輸入

紋理(紋理對象)

傳入的精靈表紋理。

UV(矢量 2)(UVs (Vector2))

紋理的 UV 座標(以備需要執行平鋪)。

子圖像(矢量 2)(SubImages (Vector2))

紋理上的幀數(水平及垂直)。

幀(標量)(Frame (Scalar))

動畫的當前幀。此值基於零,並且將根據小數值進行混合。例如,值 2.35 將在第三個與第四個幀之間產生 35% 的混合。

SubUV_Function(子 UV_函數)

TwoSidedTexturing(雙面紋理處理)

TwoSidedTexturing(雙面紋理處理)函數爲雙面材質的兩個面分別提供材質輸入。如果材質的 雙面(Two Sided)屬性未激活,那麼此函數不執行任何操作。

項目

說明

輸入

紋理 A 面(矢量 3)(Texture Side A (Vector3))

在多邊形的正面(外部)使用的紋理。

紋理 B 面(矢量 3)(Texture Side B (Vector3))

在多邊形的反面(內部)使用的紋理。

使用表面法線(靜態布爾值)(Use Surface Normals (StaticBool))

向着色器指出是否應使用傳入的法線貼圖來幫助計算網格的正面和反面。

TwoSidedTexturing(雙面紋理處理)

WorldCoordinate3Way(全局座標三向)

WorldCoordinate3Way(全局座標三向)函數按全局座標將紋理投射到對象表面。用戶可控制多個紋理在邊緣處進行混合的方式,並可添加法線貼圖以便在計算前擾亂表面。

因爲這些紋理按全局座標進行投射,所以給定對象的任何運動或旋轉都會導致紋理“漂浮”在表面上。

項目

說明

輸入

XY 紋理(紋理對象)(XY Texture (Texture Object))

要投射到 XY 平面的紋理。

YZ 紋理(紋理對象)(YZ Texture (Texture Object))

要投射到 YZ 平面的紋理。

XZ 紋理(紋理對象)(XZ Texture (Texture Object))

要投射到 XZ 平面的紋理。

XY 比例(標量)(XY Scale (Scalar))

針對要投射到 XY 平面的紋理應用的比例調整。

YZ 比例(標量)(YZ Scale (Scalar))

針對要投射到 YZ 平面的紋理應用的比例調整。

XZ 比例(標量)(XZ Scale (Scalar))

針對要投射到 XZ 平面的紋理應用的比例調整。

混合指數 Y Z(標量)(Blend Exponent Y Z (Scalar))

控制沿 Y 和 Z 投射的紋理之間的過渡比率。

混合乘 Y Z(標量)(Blend Mult Y Z (Scalar))

使面之間的混合倍增。

混合指數 X(標量)(Blend Exponent X (Scalar))

控制沿 X 投射的紋理之間的過渡比率。

混合乘 X(標量)(Blend Mult X (Scalar))

使面之間的混合倍增。

單個紋理(靜態布爾值)(Single Texture (StaticBool))

設置爲 true 時,將僅使用應用於 XY 紋理(XY Texture)輸入的紋理,並將其投射到全部三個面。

法線(矢量 3)(Normal (Vector3))

接收一個法線貼圖用於混合計算(使用此貼圖來確定表面所面對的方向)。

全局位置(矢量 3)(WorldPosition (Vector3))

這個可選的輸出用於使投射中心的位置產生偏移。

輸出

XYZ 輸出(XYZ Output)

輸出全部三個紋理,這些紋理從相應平面投射並在邊緣處混合。

XY

僅輸出沿 XY 平面投射的紋理。

XZ

僅輸出沿 XZ 平面投射的紋理。

YZ

僅輸出沿 YZ 平面投射的紋理。

WorldCoordinate3Way(全局座標三向)

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