-
HoudiniのFEM Solverは“ソフト”コリジョンによる制御の手法を使用しています。つまり、コリジョン反応の強度は、Solid ObjectやHybrid Objectに用意されている Repulsion パラメータで制御されます。 FEM Solverでは、不可能な設定によるシミュレーションの安定性の確保(ピンチ化)をし、そして、想定内のパフォーマンスが保証できるように意図的にコリジョンフォースの強度を制限します。 たいていの場合だと、見た目の貫通を回避するために Repulsion パラメータを調整する必要が出てきます。 経験則として、まずはデフォルトの Repulsion パラメータでシミュレーションを試してください。 それで貫通があれば、それが解消されるまで Repulsion の値の桁を1つずつ増やしてください(10倍していってください)。
-
Finite Element Solverは、ボリュームベース(SDF)とサーフェスベースのコリジョンのどちらにも対応しています。
-
サーフェスベースのコリジョン は、四面体メッシュの境界サーフェスに対する衝突のことです。
-
サーフェスベースのコリジョンが最も精度の高いオプションです。このコリジョンは連続衝突検出に対応しています。つまり、ソルバがフレーム間の頂点の軌跡を検査して、それらの中間フレームにおいてオブジェクトが交差しているかどうかを判断します。この連続衝突検出は、高速移動するオブジェクト間の衝突をソルバで処理することができます。
-
サーフェスベースのコリジョンは、時間軸において変形するジオメトリに対して唯一の選択肢となります。
-
サーフェスベースのコリジョンを使用する場合は、コリジョンオブジェクトが四面体化されていることが重要になります。ただし、FEMオブジェクトとポリゴンメッシュとのコリジョンはソフトコリジョンでは動作しません。
-
-
ボリュームベースのコリジョン は、プリミティブ頂点と符号付き距離フィールド(SDF)間の衝突のことです。
ボリュームベースのコリジョンは、Finite Elementには精度が悪いですが、処理が軽いオプションです。ボリュームベースのコリジョンは、景観の一部になっている大きなオブジェクトに対して効率の良い選択肢となります。
-
連続衝突検出には対応していません。
-
ソリッドオブジェクトの頂点のみがSDFと衝突します(エッジやフェース内面と衝突しません)。
-
変形するオブジェクトや高速移動するオブジェクトには使用しないでください。
-
Static Objectの Use volume based collision detection パラメータを有効にすることで、静的オブジェクトとの衝突にボリュームベースのコリジョンを使用するかどうかを選択することができます。
-
-
Solid Objectは、RBDなどの他のダイナミクスオブジェクトからの影響を受けることができますが、双方向での作用(ソリッド同士が影響し合ったり、他のオブジェクトから影響する)には他の有限要素オブジェクト(ソリッドと布)のみにしか対応していません。
-
Finite Elementオブジェクト(ソリッドと布)は、そのオブジェクトの Collisions タブの Collide within object を有効にすることで自己衝突させることができます。シミュレーションを速くしたいのであれば、自己衝突を無効にしてください。
-
FEM シェルフのSurface ColliderとVolume Colliderのツールは、Finite Elementオブジェクトと衝突できるように正しいパラメータでStatic Objectをセットアップします。
-
衝突検出には凸形状でなければならないという制限はありません。コリジョンは、凸形状でも凹形状でも動作します。
Houdini 20.0 Finite Elements(有限要素)