gamebox

unityとかゲームとか

【unity】Obi Fluid part4:リアルなコリジョンは重すぎるという話【アセット】

【Unity 2019.2.6f1】

メッシュコリダーを使用してパーティクルとモデルのリアルなコリジョンを取ってみるの巻

 

f:id:rgamebox:20191118232833p:plain

 

f:id:rgamebox:20191118235451g:plain

 

・全編動画はこちら

 

これまでの記事

【unity】Obi Fluidを使ってみる1 導入編【アセット】 - gamebox

【unity】Obi Fluidを使ってみる2 液体を白くする【アセット】 - gamebox

【unity】Obi Fluidを使ってみる3:液体を白くする2 別アプローチ【アセット】 - gamebox

 

MeshCollider & ObiFluidを試してみる

ObiFluidの流体パーティクルはMeshColliderとのコリジョンにも対応しています。

f:id:rgamebox:20191118233949p:plain

f:id:rgamebox:20191118233958p:plain

 

顔と身体をモデル(メッシュ)通りのコリジョンを生成して動かしてみると、

f:id:rgamebox:20191118234146p:plain

パーティクルが身体や顔に当たると、簡単に10FPSを切ります。

パーティクルを多数出した時には1FPSを下回る事もあり、動画の録画すら失敗しかけました。

 

結論:MeshColliderは重すぎて使えない

簡易コリジョンよりも格段にリアルで重くなければ良いのですが…

FPSが下がり過ぎて無理です。(私のPCはそれなりのスペックあると思います)

ゲームどころかテストすらままならない感じ。

 

パーティクルの負荷低減機能もあるのでそこらへんを駆使したら、もう少し軽くなる可能性はあるけど、まあ実用には届かないです。

 

私の記事のその2,3でやっている様なダミー(簡易)コリダーなら、十分実用の範囲なのでその手法が良いと思います。