iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 18
0

Unity官方前二個星期才公佈了一段用Shader Graph製作Toon Shader的影片,本想按圖索驥的的學習,沒想到裡面有些客製化的節點似乎沒有含在範例中,故幾經思量還是暫時放棄。不過,既然是規劃了要了解Toon Shader,只好從簡易版的Cartoon Water Shader著手。

比照Glow shader和Dissolve shader的專案設置,但不放入騎士模型。直接用內建的Plane物件進行。先將顏色設置成藍色,且將Surface改成Transparent。

不例外的,這次一定會用某種雜訊(Noise)進行,除了之前提過的Simple Noise,會呈現出細顆粒雜訊外,有另一種雜訊,會呈現出群聚一團團的效果,那就是這次會率先使用的Voronoi節點。在預覽中,即可看到一團團的小黑點,它正好是可以拿來當作水波紋的呈現。

配合Time節點,就可以呈現出一些流動的效果。再加入雜訊的密集度設定值,可以調整更多的雜訊細節。

加入Power節點讓小黑點放大,突顯出邊緣。

給予藍色後再放入島嶼模型後看起來像是有些微流動感的的水面。

加上了Radical Shear節點後,讓雜訊有些旋渦狀。

水平面的效果做完後,接下來就是垂直面的效果,為了要讓水有高低起伏的呈現,又要使用另一種雜訊-Gradient Noise。搭配時間和Tilting And Offset節點,進行雜訊的UV面(XY面)移動。

加上Normal Vector節點後將相乘後的位移直接套用在位置(Position)的值,則海平面開始有上下的擺動。

完成之後,似乎有什麼值沒有設定好,它看起是有上下起伏,但擺動的幅度很誇張,反而不像是正常的海平面。這裡還要再好好研究一下。

今日測試用的專案放罝在Git Repo中的shader-unity-toon-water目錄裡,該展示用幽靈水管島出處為Sketchfab,用Blend進行轉檔後置於Unity中做為參考。

這幾天學習的幾個Shader在遊戲製作上都是很常碰到的,以往沒有接觸Shader只大約了解好像要怎麼做,但不會寫Shader程式碼的情況下,沒有額外花時間了解。藉著Shader Graph工具和網路上眾多的教學影片,讓這門深奧的學問以平易近人的方式展現。不過這幾天囫圇吞棗,也只了解皮毛。看樣子還是要額外多些時間才能夠真正的學會。

Unity Shader Graph的探索才剛開始,但對於Shader的教學實踐記錄到此先告一段落。接下來會先安排時間介紹、回顧Behavior Tree的視覺化工具-Behavior Designer。並希望自己能展開利用Behavior Tree進行Utility AI實驗。


上一篇
來學習Dissolve Shader
下一篇
不同於狀態機的Behavior Tree
系列文
探索Unity中的視覺化製作工具30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言