您當前的位置:首頁 > 動漫

houdini+unity河流(三)

作者:由 楊超wantnon 發表于 動漫時間:2019-03-28

————————更新:

改進效果見:楊超wantnon:houdini+ue4河流

——————————————-

接上篇:楊超:houdini+unity河流(二)

houdini+unity河流(三)

https://www。zhihu。com/video/1094401926871040000

本篇說wet mask和depthmap。

一,wet mask

wet mask用來標記哪些部分被河水浸溼。

下面五個圖依次是:

河面擠出,地形,河面減地形,河面減地形塗黑,顏色傳遞給地形(得到地形的wet mask)

houdini+unity河流(三)

houdini+unity河流(三)

石頭的wet mask生成過程類似,之所以地形的wet mask和石頭的wet mask分開生成,是由於兩者的過度寬窄不同——地形粗糙吸水,過度寬;石頭光滑,過度窄。

另外注意,houdini的attribute transfer節點是自帶過度(擴張)功能的,主要靠這兩個引數:

houdini+unity河流(三)

此處用這個過度比用attribute blur要好,原因是attribute blur只是blur,而不是擴張。

最終wet mask如下:

houdini+unity河流(三)

二,depthmap

depthmap是存河水深度,即河面各點與河床的高度差。以便用來控制水的透明度——越淺的地方越透明。

需要說明的是,用水的深度控制透明度是不對的,應該是用zbuffer深度控制水的透明度,如下圖所示:

houdini+unity河流(三)

但手遊中往往由於開銷較大不讓用zbuffer深度,所以只好用depthmap深度代替。

求depthmap,從河面各點向河床發射線即可,沒什麼可說的。結果如下:

houdini+unity河流(三)

至此河流製作中幾個主要mask生成方法就都說完了。

標簽: mask  wet  河面  地形  houdini