1. 程式人生 > >Unity2018新功能搶鮮 | ShaderGraph實戰教程之溶解效果

Unity2018新功能搶鮮 | ShaderGraph實戰教程之溶解效果

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

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

上次我們講了ShaderGraph的配置,建立,編輯和在材質球上的使用,這節課我們通過一個例項來看一下如何用ShaderGraph快速建立一個溶解效果。

溶解效果

溶解效果是遊戲中常用的一種效果,可用於Boss死亡時的消失。溶解效果的原理是通過一張噪波貼圖,實現模型上隨機消失。下面我們一起來通過ShaderGraph實現這個效果吧!

1、建立一個PBR Graph,命名為DissolveGraph

2、新增Simple Noise節點,然後Noise設定不那麼密集,修改X為50;將Output連到PBR Master節點的Alpha。
在Unity中新增噪波非常容易,可以通過內建Noise節點通過程式生成。
Simple Noise節點

3、然後想要模型能有一部分消失,需要用到PBR Master節點的AlphaClipThreshold。

AlphaClipThreshold屬性:alpha值低於這個屬性的地方會被cut掉不顯示

我們需要提供一個引數,讓程式來控制溶解的過程。

控制溶解程度的引數

這樣我們修改這個Progress的值,就會有初步的溶解效果了!

溶解效果初版

4、但是做到這還不夠,我們需要模型的最基本的貼圖和法線貼圖。這些節點我們在全息效果那篇已經講解,如下圖所示建立這些節點。

建立貼圖

5、我們還想增加一個效果,讓溶解的過程看著像是被燒掉的感覺。

如下圖所示建立節點:

這裡用到了一個新的Step節點:
Step Node:如果輸入值In

大於等於Edge,則返回1,否則返回0

我們讓Edge的值稍微小於0,在這裡為-0.06,就可以讓溶解的邊緣擴大一些,這樣和FlameColor相乘,就能像邊緣被燃燒的感覺。最終的效果!

最終效果

小結

本文通過溶解效果的ShaderGraph,學了Simple Noise,Step節點的知識。
後續會有更多的例項教程,關注洪流學堂公眾號第一時間獲取。

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

本文的原始碼可以通過洪流學堂公眾號回覆 溶解 獲取。

Unity:世界領先的遊戲,VR/AR引擎
《鄭洪智的Unity2018課》,傾盡我8年的開發經驗,結合最新的Unity2018,帶你從入門到精通。
目前預售拼團,5.5折!