dissolve 是類似溶解 燒燼 的淡出效果
這裡我們會學到幾個 Node 的用法: Simple Texture, Noise, Multiply, Position, Step, Combine
接續上一章 創建完 material 後 套用在物件的 SpriteRenderer 上
1.設定貼圖 -當套用 material 後 物件應該會是一片白 Inspecter 會提示你缺少了_MainTex 屬性 (這個名稱要注意 後面要一模一樣他才會讀
2.點擊 Shader 打開我們的 Shadergraph 介面 右建新增一個Sample Texture 2D 的 node
3.在左邊參數的視窗"+"號新增一個 Texture 2D 參數 將Reference名稱設定為 "_MainTex" 拖曳到Sample Texture 2D 的Texture(2D)讓他吃
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大概會長這樣
到這裡已有初步的效果了 接下來要做出"邊緣燃燒效果"的進階版
關於Node - Position 更詳細的說明可以看這影片
留言列表