1. 程式人生 > >ue4使用houdini製作FBX破碎動畫 houdini遊戲工具(二)

ue4使用houdini製作FBX破碎動畫 houdini遊戲工具(二)

剛體破碎是一個很常見的特效,很多種dcc軟體都能製作,在引擎中也有一些實時的簡單破碎效果。目前大多數時候影視中需要剛體破碎可能在不同軟體製作並通過後期合成,有些需要複雜動畫的通常在軟體中採用abc格式進行互導。(abc格式是Alembic格式的簡稱,是一個開源的格式,常用於cg中間過程模型動畫在不同軟體中互導進行進一步處理,最近一些年已經在各大cg軟體中普及了,這裡就不擴充套件了詳見http://www.alembic.io/

但是在遊戲當中abc的體積是巨大的,而且早些時候遊戲引擎大多不支援abc格式。

 

目前ue4或者u3d都支援abc,但是隻適合在某些情況下解決一些棘手的問題,主要問題是abc檔案隨模型和幀數增加變得體積巨大,實時使用基本會很卡,很少會直接應用在遊戲當中。Fbx格式是遊戲中動畫的常用格式,所以這裡介紹一種可以將遊戲中比較常見的一種特效破碎匯出成fbx的方式,原理基本上就是把每個碎塊和原點建立骨架用來烘焙。houdini常用來做製作各種影視特效,然後有了下面匯出fbx外掛,影視動畫中的一些破碎特效經過優化後也能很好得用於實時引擎。

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

https://www.sidefx.com/tutorials/game-tools-rbd-to-fbx/

https://github.com/sideeffects/GameDevelopmentToolset

 

官網上有使用介紹,不過這個外掛在使用上也有些限制,如果直接使用工具架上的工具,那麼會發現其實fbx匯出來的是一個空的內容,所以下面放上最簡化的一個示例,記得模型要縮小數倍左右匯入,否則解算量巨大。

下面是obj下僅有的一個節點box裡內容

節點上需要注意的是assemble,記得匯出pack物體

下面Dopnet裡的樣子

Rbdpack裡拾取一下之前pack的物體或者就第一個幾何體

在out裡面放上rbd to fbx

匯出設定,需要注意的是需要匯出的節點是obj裡面的根節點(我這裡是box),如果直接選擇裡面的節點可能有匯出問題,另外rbd物體匯出不用擔心地面或者其他靜態物體被匯出,這個還是挺方便的。

Ue4匯入物體注意我們這個是骨架物體,所以務必勾選骨架和動畫選項。

Normal之類也要勾選才能正常匯入。

Physics asset不用勾,因為這個破碎肯定沒法再物理了,不需要增加額外的檔案量。

匯入後一般是上面三個檔案,拖入anim檔案即可直接播放。

當然外掛還是有些侷限性,比如k幀的rbd物體k幀資訊是沒有用的,除此以外還有很多可以繼續優化的問題,比如破碎內部的uv和Normal等都需要自己再進行修飾,當然houdini優勢就是做好一個模板就能用好多次了。