1. 程式人生 > >ShadeGraph教程之節點詳解8:UV Nodes

ShadeGraph教程之節點詳解8:UV Nodes

本文首發於洪流學堂微信公眾號。
洪流學堂,學Unity快人幾步

洪流學堂公眾號回覆節點,獲取ShaderGraph節點詳解PDF檔案(帶目錄)。

UV Nodes UV節點

與UV相關的節點。

Flipbook 圖象序列

建立一個影象畫素列,作為UV輸入。序列中序列圖的數量是由輸入的WidthHeight決定的。當前顯示第一個序列圖是由輸入引數Tile決定的。

這個節點經常用來建立貼圖動畫,通常用於粒子效果和sprite。方法是:將Time節點連到輸入引數的Tile中,輸出資料連線到Texture Sampler節點的UV輸入引數中。

UV資料的(0,0)點是左下角。(0,0)點在預覽視窗中顯示為黑色。但是影象序列通常是從左上角開始,所以Invert Y引數預設是勾中的。可以通過設定Invert XInvert Y來改變影象序列的方向。

Polar Coordinates 極座標

將輸入的UV座標轉換成極座標。在數學中,極座標系是一種二維座標系,其中平面上的每個點由參考點的距離和與參考方向的角度確定。

這個節點的結果是將輸入引數UV的x通道轉換為距輸入Center值對應點的距離值,並將y通道轉換為圍繞該點的旋轉角度值。

這些值可以分別通過輸入引數Radial ScaleLength Scale進行縮放。

Radial Shear 徑向剪下

將類似於波浪的徑向剪下扭曲效果應用於輸入引數UV。扭曲效果的中心參考點由輸入引數Center決定,效果的整體強度由輸入引數Strength決定。輸入引數Offset可用於偏移結果的各個通道。

Rotate 旋轉

將輸入值UV根據中心點Center進行旋轉,旋轉的量由輸入引數Rotation決定。旋轉量的單位可以通過Unit下拉框選擇角度Degrees或者弧度Radians。

Spherize 球面化

將類似於魚眼鏡頭的球形扭曲效果應用於輸入引數UV。扭曲效果的中心參考點由輸入引數Center定義,效果的整體強度由輸入引數Strength

定義。輸入引數Offset可用於偏移結果的各個通道。

Tiling And Offset 平鋪和偏移

這個功能我們會經常用到,一般只要有貼圖的材質上都會有Tiling And Offset。

將輸入引數UV的值,通過Tiling和Offset改變平鋪和偏移。

Triplanar

Triplanar 是通過世界空間投影生成UV和取樣貼圖的一種方式。輸入貼圖Texture會被取樣3次,世界空間的每個x,y和z軸上進行一次取樣,然後將結果資訊平面投影到模型上,並由法線或表面角度進行混合。生成的UV可以通過輸入引數Tile進行縮放,最終的混合強度可以通過輸入引數Blend進行控制。可以通過輸入引數PositionNormal來修改投影。這通常用於大型模型(如地形)的貼圖,大型模型使用UV座標時會出現問題或效率很低。

輸入貼圖的型別可以使用下拉選單Type進行切換。如果設定為Normal,法線將轉換到世界空間,因此可以構造新的切線,然後在輸出之前將其轉換回切線空間。

Twirl 扭曲

將類似於黑洞的旋轉扭曲效果應用於輸入的UV。扭曲效果的中心參考點由輸入引數Center決定,效果的整體強度由輸入引數Strength*決定。輸入Offset可用於偏移結果的各個通道。

image.png

小結

本文講解了ShaderGraph眾多Node中的UV Nodes。你可以收藏本文作為一個工具庫。本系列已更新完畢。

洪流學堂公眾號回覆節點,獲取ShaderGraph節點詳解PDF檔案(帶目錄)。

你有沒有飽受shader折磨的同學?你可以把今天的內容分享給他,或許你能幫到他。



《鄭洪智的Unity2018課》,傾盡我8年的開發經驗,結合最新的Unity2018,帶你從入門到精通。