1. 程式人生 > >ue4使用houdini製作體積雲 houdini遊戲工具(一)

ue4使用houdini製作體積雲 houdini遊戲工具(一)

標題圖是raymarch材質和ue4自帶體積霧結合,雖然自帶體積光線投影上還有問題,但是基本材質衝突不是很大,可以用於影視或者動畫的體積雲表現。

 

傳統遊戲中做雲霧的方式大多數使用貼片粒子,但是這樣的雲霧缺少體積感,而且在形狀上精度也不高。

Ue4.16以後自帶可以體積霧效果也可以模擬體積雲,擁有很驚人的效果

當然Ue4做體積的雲的方式有很多種,下面介紹一種方式,利用Houdini將雲匯出成貼圖然後在ue4中還原,還能借助影視專案中的雲效果放進ue4當中,可以說是很方便了。

在表現上雖然有些欠缺但是基本已經夠了(精度由貼圖控制)

ue4中雲的效果和houdini中原始雲的效果

官方介紹在這(需要登入epic帳號才能跳轉)

https://forums.unrealengine.com/showthread.php?143821

ue4需要用到這個外掛unreal-engine-public-share-cdn.unrealengine.com/ShaderBits-GDC-Pack.zip

簡單的說這個工程中提供了一種raymarch材質,可以將雲的序列圖切片在ue4當中還原出實體的雲出來。

 

houdini匯出切片方式的雲需要依靠houdini遊戲工具當中的rop volume to texture

下面是工程匯出外掛和方式

https://www.sidefx.com/tutorials/write-volume-slices-to-texture-for-ue4/

https://www.orbolt.com/asset/Benny::renderVolume

https://github.com/sideeffects/GameDevelopmentToolset

方法比較簡單,將外掛直接放入houdini的otls資料夾內,

匯入要處理的幾何體做成雲的形狀,並用noise增加雲的細節,

然後使用wrangle節點反向雲的顏色,因為白色代表了雲的密度,而純黑色代表了空處,

加入外掛rop_volume_texture節點,

Slices表示總塊數,一般是每行塊數Images Per Line的平方

Resolution是貼圖整體邊長,

要提高雲的精度就要提高邊長和每行的塊數了。

 

 

最後匯出exr圖片。

下面是匯入到ue4中圖片的設定,這樣才能被材質正確識別。

放入材質球上,

填寫正確的xyFrames(就是對應Houdini的每行塊數Images Per Line)

最後三行顏色是模擬雲上的平行光,因為雲霧是不受光照的。

如果場景中的雲和其他物體可以相交,如果有切片效果那是雲的渲染精度不夠了,可以在steps裡調整精度。

另外場景內雲和雲不能重疊,會有閃爍問題。