Unity 高清渲染管线 ShaderGraph 实现简单的表面水流效果
靈感
在玩 HDRP 的內置 Lit 著色器的時候,對它的 Mask Map 貼圖很感興趣,感覺似乎能夠為材質添加很多細節(jié)
?
查了下文檔,發(fā)現(xiàn) Mask Map 是分 RGBA 通道作為灰度蒙版,為材質添加金屬度、環(huán)境光遮蔽、細節(jié)貼圖蒙版與粗糙度效果的:
?
讓我最感興趣的是 A 通道的粗糙度蒙版,就像上圖那樣,能營造出非常類似物體表面的水霧的感覺。
恩..如果我用 Shader 讓這個 A 通道做一個平移,再加點噪聲,說不定就能做出來類似下雨時物體表面潺潺流水的效果?
實現(xiàn)思路
使用 ShaderGraph 的 Time 與 Tilling and Offset 節(jié)點將 UV 做一個平移,加上線性噪聲節(jié)點做一些扭曲,添加一點隨機性。最后直接復用原材質的 Mask Map 的 A 通道并應用擾動。用一個布爾來控制是否應用效果。添加各種屬性值就不說了。應該還不錯。
在實現(xiàn)過程中,由于 HDRP 的內置 Lit 著色器沒有 ShaderGraph 版本,就從論壇上找了一個官方的 Lit 著色器的 ShaderGraph 版本,QQ靚號購買平臺基于它進行修改。
效果
?
一些個人感受:
這是個很粗糙的效果,用到的節(jié)點也很少,之后要實際應用的話肯定要補充很多細節(jié),比如單獨做水流的 Mask 應該會好很多
個人認為的效果優(yōu)缺點:
優(yōu)點:
?
- 和網(wǎng)上其他的雨水效果比起來,對性能影響應該蠻低的。加上天氣效果以及一些點綴應該也能實現(xiàn)不錯的效果
- 簡單啊(連我都能做出來..),直接復用材質自己的 Mask Map 也懶省事了
- 因為不同材質的 Mask Map 不同,所以這個效果也會帶有各自材質的特點,不會說效果千篇一律看著疲勞
缺點:
?
- 對于較為光滑的平面類物體感覺效果比較一般
- 因為復用了原材質的 Mask Map,應用效果時材質自身的粗糙度會丟失,不太好
- 可遠觀而不可褻玩(bushi),在遠處看起來還不錯,如果離得太近的話就能比較明顯的看出來違和的平移與噪聲
總之還是個很粗糙的效果,不過這種思路應該還是有點意思的,必能活用于下一次..
總結
以上是生活随笔為你收集整理的Unity 高清渲染管线 ShaderGraph 实现简单的表面水流效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用redis实现5万人同服的“相位技术
- 下一篇: 小游戏掉帧卡顿启动慢运行内存不足……这些