close

dissolve 是類似溶解  燒燼  的淡出效果

這裡我們會學到幾個 Node 的用法: Simple Texture, Noise, Multiply, Position, Step, Combine

dissolve1.gif

接續上一章 創建完 material 後 套用在物件的 SpriteRenderer 上

1.設定貼圖 -當套用 material 後 物件應該會是一片白 Inspecter 會提示你缺少了_MainTex 屬性 (這個名稱要注意 後面要一模一樣他才會讀

_maintex.jpg

 

2.點擊 Shader 打開我們的 Shadergraph 介面  右建新增一個Sample Texture 2D 的 node   

3.在左邊參數的視窗"+"號新增一個 Texture 2D 參數  將Reference名稱設定為 "_MainTex"  拖曳到Sample Texture 2D 的Texture(2D)讓他吃

+.jpg

4.新增 Node - Sample Noise 會得到一張雜訊 由不規則的白灰黑組成 可用X調整雜訊顆粒的大小  接下會用這張來當作透明度(A) 來跟貼圖合併

5.新增 Node - Step 這個 node 類似一個門檻的效果 他能穰 Noise 依照你設定的門檻值從白灰黑變成非黑即白  值越高黑色部分越多 相乘後透明部分則越多      (因為黑色是0  白色是1 雜訊由0~1的黑灰白組成 設定0.5就會把0.5以下的灰色都變成0)

6.為 Step 新增一個Vector1參數 用來控制從消失到出現 值域0~1 將它命名為Fade,  Reference命名為"_Fade" 以後會在code控制 "_Fade" 這個變數就可以達到淡入淡出的效果

7.新增 Node - Multiply 將 Step 的結果與貼圖的A相乘  因為貼圖通常自帶有透明度  貼圖的透明部分當然不用做效果  所以需要相乘  讓0(透明部分)*效果 = 0  

8.新增 Node - Combine 將 Multiply 處理過後的透明度 與貼圖的 RGB 合併 做為最終效果   

如果你的貼圖是序列圖 會發現效果因為序列圖的尺寸被拉伸了  

9. 新增 Node - Position 連結至 SampleNoise 的 UV(2)  將 Space 設定成 Object    讓 Noise 的UV不要跟著你的序列圖拉伸就會正常

最後的Shader Graph大概會長這樣

dissolve1.jpg

 

到這裡已有初步的效果了   接下來要做出"邊緣燃燒效果"的進階版

 

關於Node - Position 更詳細的說明可以看這影片

https://youtu.be/UJUlGJS3QpY

 

 

 

 

 

arrow
arrow
    文章標籤
    unity
    全站熱搜
    創作者介紹
    創作者 kv4716213 的頭像
    kv4716213

    阿翔Unity筆記

    kv4716213 發表在 痞客邦 留言(0) 人氣()