您當前的位置:首頁 > 遊戲

Houdini Terrian & UE4 (六)製作Flowmap

作者:由 鍵盤俠·伍德 發表于 遊戲時間:2019-07-09

導言

對於遊戲場景來說,水流是動景很重要的一環。

傳統的水面製作中,一般是做2-3個方向的波疊加,或者製作一個隨機的flowmap,這樣做出來的水面自然是沒有靈魂的【手動滑稽】。

所以,這裡我們用houdini來製作一個基於地形的flowmap,讓場景擁有基於高度的水流效果。

首先,製作flowmap需要用到官方的Game Shelf,下面是github的連結,下載後按照說明載入到houdini環境即可。

準備一個基礎地形

還是一如既往的按照最簡(lan)單(duo)的方法建立一個地形。

Houdini Terrian & UE4 (六)製作Flowmap

把hda扔進UE4,找一個河流,在上面鋪上一層地形樣條曲線。

Houdini Terrian & UE4 (六)製作Flowmap

為了方便看出水流情況,我們做一個比較明顯的貼圖。

Houdini Terrian & UE4 (六)製作Flowmap

製作一個最簡單的panner 材質

Houdini Terrian & UE4 (六)製作Flowmap

嗯。初始的樣子大概就是這樣了,可以看出,相當的沒有靈魂。

Houdini Terrian & UE4 (六)製作Flowmap

在houdini中製作flowmap

最上面的FlowMapTest就是我們上面所用到的基礎地形節點。當然,也可以從UE4中把高度圖匯出到houdini。

我們把Hightfield轉化為polygon,用於後續計算頂點資料。

可以用subdivide將整個地形分的更細,提高解析度。

然後就進入計算flowmap了,這裡我們用到了GameDev Flowmap節點,然後選擇從Slope生成flowmap資訊,勾上Visualize後就可以在houdini裡看到頂點上的一根根“毛”了。毛的方向和顏色就是當前點的flowmap方向。

然後用Flowmap Color方法把頂點上的flowmap資訊儲存為Point的Cd顏色屬性。

利用Attribute Promote將Point的Cd給到Vertex。

最後利用GameDev Simple Baker節點,配置一下生成的資訊和生成路徑,點選Render就可以生成Flowmap到指定位置了。

Houdini Terrian & UE4 (六)製作Flowmap

emmmm這裡因為不明所以的座標軸問題,匯出的圖片要順時針旋轉90度才能和遊戲中的地形對上。

利用UE4的Flowmap_Simple就可以把flowmap的資訊和我們前面做的貼圖疊加後輸出材質了。

這裡只是最最最最基礎(實在是太懶了)的節點了,法線貼圖,畫素偏移和DepthFade折射都沒有做。

【注:為了取到正確的資訊,這裡世界位置要準確的除以地形尺寸*100(這裡是100900),如果地形不在000點,要把ObjectPosition也考慮進去】

【注:需要翻轉y方向】

【注:紅綠通道要剪去0.5來判斷方向正負】

Houdini Terrian & UE4 (六)製作Flowmap

下面就是見證奇蹟的時刻了。

Houdini Terrian & UE4 (六)製作Flowmap

Houdini Terrian & UE4 (六)製作Flowmap

gif限制10M壓縮的細節都沒了,湊合看個意思吧。

後記

上面只是Flowmap的最基本使用,在houdini中flowmap還有下面這些節點可以用,比如畫刷,阻擋計算和引導線的節點,可以利用更多引數來製作flowmap。

比如我們做出來的波紋只有斜率方向的明顯波動,就可以利用flowmap guide節點來賦予一個主體流向。

Houdini Terrian & UE4 (六)製作Flowmap

最後一點:請用一臺好一點的機器來跑houdini部分,並且注意儲存!!!

標簽: FlowMap  houdini  節點  地形