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

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

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

下面是工程導出插件和方式:

sidefx.com/tutorials/ga

github.com/sideeffects/

官網上有使用介紹,不過這個插件在使用上也有些限制,如果直接使用工具架上的工具,那麼會發現其實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優勢就是做好一個模板就能用好多次了。

下面是實際效果

視頻封面


推薦閱讀:
相關文章