-
Finite Element Solverは、ボリュームベース(SDF)とサーフェスベースのコリジョンのどちらにも対応しています。
-
サーフェスベースのコリジョン は、四面体、ポリゴン、ポリライン、パーティクルなどのジオメトリ間の衝突のことです。
-
サーフェスベースのコリジョンが最も精度の高いオプションです。このコリジョンは連続衝突検出に対応しています。つまり、ソルバがフレーム間の頂点の軌跡を検査して、それらの中間フレームにおいてオブジェクトが交差しているかどうかを判断します。この連続衝突検出は、高速移動するオブジェクト間の衝突をソルバで処理することができます。
-
サーフェスベースのコリジョンは、時間軸において変形するジオメトリに対して唯一の選択肢となります。
-
サーフェスベースのコリジョンを使用する場合は、必ずしも外部ジオメトリを三角形化する必要もなければ効率されるとも限りません。ただし、外部ジオメトリのポリゴンは五角形以上にしてはいけません。
-
-
ボリュームベースのコリジョン は、プリミティブ頂点と符号付き距離フィールド(SDF)間の衝突のことです。
ボリュームベースのコリジョンは、Finite Elementには精度が悪いですが、処理が軽いオプションです。ボリュームベースのコリジョンは、景観の一部になっている大きなオブジェクトに対して効率の良い選択肢となります。
-
連続衝突検出には対応していません。
-
ソリッドオブジェクトの頂点のみがSDFと衝突します(エッジやフェース内面と衝突しません)。
-
変形するオブジェクトや高速移動するオブジェクトには使用しないでください。
-
Static Objectの Use volume based collision detection パラメータを有効にすることで、静的オブジェクトとの衝突にボリュームベースのコリジョンを使用するかどうかを選択することができます。
-
-
Solid Objectは、RBDなどの他のダイナミクスオブジェクトからの影響を受けることができますが、双方向での作用(ソリッド同士が影響し合ったり、他のオブジェクトから影響する)には他の有限要素オブジェクト(ソリッドと布)のみにしか対応していません。
-
Finite Elementオブジェクト(ソリッドと布)は、そのオブジェクトの Collisions タブの Collide within object を有効にすることで自己衝突させることができます。シミュレーションを速くしたいのであれば、自己衝突を無効にしてください。
-
Cloth と Solid のシェルフタブのDeforming ColliderとRigid colliderのツールは、Finite Elementオブジェクト(ソリッドと布)と衝突できるように正しいパラメータでStatic Objectをセットアップします。
-
Solid ObjectまたはCloth ObjectをポリゴンのStatic Objectと衝突させる時には、それらのポリゴンの向きが重要になってきます。つまり、そのポリゴンの法線方向がオブジェクトの外側に向いていなければなりません。Solid ObjectまたはCloth Objectは、外部オブジェクトのポリゴンの内側には衝突しません。このポリゴンの向きは、サーフェスベースのコリジョンをStatic Objectに使用する時にのみ重要になります。
-
衝突検出には凸形状でなければならないという制限はありません。コリジョンは、凸形状でも凹形状でも動作します。
-
有限要素オブジェクト以外のオブジェクトとの相互作用を上手く動作させるには、シミュレーションネットワークのサブステップを上げてください。これによって、シミュレーション全体が遅くなってしまいます。
他のオブジェクトとの相互作用が速いほど、シミュレーションネットワークのサブネットを上げる必要があります。
Houdini 17.0 Finite Elements(有限要素)