houdini+unity河流(三)
作者:由 楊超wantnon 發表于 動漫時間:2019-03-28
————————更新:
改進效果見:楊超wantnon:houdini+ue4河流
——————————————-
接上篇:楊超:houdini+unity河流(二)
https://www。zhihu。com/video/1094401926871040000
本篇說wet mask和depthmap。
一,wet mask
wet mask用來標記哪些部分被河水浸溼。
下面五個圖依次是:
河面擠出,地形,河面減地形,河面減地形塗黑,顏色傳遞給地形(得到地形的wet mask)
石頭的wet mask生成過程類似,之所以地形的wet mask和石頭的wet mask分開生成,是由於兩者的過度寬窄不同——地形粗糙吸水,過度寬;石頭光滑,過度窄。
另外注意,houdini的attribute transfer節點是自帶過度(擴張)功能的,主要靠這兩個引數:
此處用這個過度比用attribute blur要好,原因是attribute blur只是blur,而不是擴張。
最終wet mask如下:
二,depthmap
depthmap是存河水深度,即河面各點與河床的高度差。以便用來控制水的透明度——越淺的地方越透明。
需要說明的是,用水的深度控制透明度是不對的,應該是用zbuffer深度控制水的透明度,如下圖所示:
但手遊中往往由於開銷較大不讓用zbuffer深度,所以只好用depthmap深度代替。
求depthmap,從河面各點向河床發射線即可,沒什麼可說的。結果如下:
至此河流製作中幾個主要mask生成方法就都說完了。