On this page |
概要
通常では、3Dモデルは、オブジェクトの外殻で構成されています。ボロノイ破壊は、必要に応じて破片の間にサーフェスを補うことで"見せかけの"中身を表現するテクニックを使っています。
それとは対照的に、 有限要素ソリッド は、小さな3Dの四面体(4つの面で構成されたピラミッド)で構成した固体の塊としてオブジェクトを表現します。 これによって、ソルバは現実的な曲げ、弾力性、内部質量、欠け落ち、崩壊、粉砕をシミュレーションすることができます。
ソリッドオブジェクトは、硬い材質(例えば、金属や木材)や伸縮自在で、ゴムのように伸び、可塑性のある、だらりと垂れたようなオブジェクト(例えば、筋肉と脂肪)をシミュレーションすることができます。
シミュレーションネットワークでは、Solid Objectノードは、ソリッドシミュレーションオブジェクトを作成し、それをFEM Solverに送ります。
ほとんどの他のソルバとは対照的に、HoudiniのFinite Element Solverは 解像度に依存しません 。 つまり、オブジェクトの移動や変形の挙動は、四面体の密度に大きく左右されるわけではありません。 具体的には、Solid Objectが同じ設定であれば、解像度を上げたメッシュに適用しても同様の結果になります。 四面体メッシュの四面体を増やしても、シミュレーション結果に大きく影響しないというのが特徴です。
Finite Element Solverは、超弾性材料の計算を行なうことができます。 このような材料は、変形させた時にエネルギー密度を上昇させます。 そのエネルギー密度が次々に内部圧力とFEMノード(Houdiniポイント)のフォースとして定義されていって、シミュレーションオブジェクトの動きと挙動に影響します。 オブジェクトを大きく変形させるほど、そのエネルギー密度がオブジェクトにもっと蓄えられます。 Finite Element Visualizationは、シミュレーションオブジェクトのエネルギー密度を可視化することができます。
四面体ソリッド
Houdiniは、 四面体 (4つの面で構成されたピラミッド)のメッシュを使って有限要素ソリッドを表現します。
使用する四面体メッシュの複雑さと品質は、シミュレーションの効率性への影響が大きいです。通常では四面体が多いほどシミュレーション時間が増えます。一般的には、四面体の数が10倍になると、シミュレーション時間は少なくとも10倍以上遅くなります。
シミュレーションを高速化するには、できるだけ四面体を減らすと同時に目的のモーションを適切に表現するのに十分なメッシュ解像度を維持してください。 Solid Objectシェルフツールで作成されるセットアップから始めるのが良いでしょう。Solid Embed SOPのTet Sizeパラメータを調整することで、メッシュ解像度に影響を与えることができます。
非常に高品質なキャラクタシミュレーションをするために、Solid EmbedをRemesh → Solid Conform SOPの組み合わせに置き換える方が望ましいことがあります。
低解像度の四面体メッシュを使ったシミュレーションは、形状全体が似ている限り、高解像度の四面体メッシュを使ったシミュレーションとあまり変わりません。
四面体の数だけでなく、四面体の形状もシミュレーションの効率性に非常に影響があります。すべての四面体が正四面体に近いのが理想です。非常に小さい、非常に大きい、非常に平坦、非常に薄い四面体は、Finite Elementシミュレーションに良くない影響を与えてしまいます。Solid EmbedとSolid Conformのツールは、高品質の四面体が生成されるように設計されています。
Embedding(埋め込み)
レンダリング品質のモデルは、高品質のシミュレーションに必要なディテールよりも細かいディテールを含めることが多いです。 このようなモデルには穴や自己交差があることがあります。高解像度モデルから四面体メッシュを生成したとしても、そのメッシュは非常に高解像度で四面体の数が多すぎて、低品質なシミュレーションになってしまうことがあります。
以上の理由から、Houdiniはソリッドオブジェクトへの高解像度モデルの"埋め込み"に対応しています。
Houdiniは、低解像度の四面体メッシュに対してシミュレーションを実行してから、そのシミュレーションされた変形または粉砕を高解像度モデルに適用します。
これは、ポイントポジション、Velocity、(この埋め込まれたジオメトリに法線アトリビュート(N
)があれば)ポイント/頂点の法線に影響を与えます。
そのEmbedded(埋め込み)ジオメトリがシミュレーションしたジオメトリよりもディテールが細かい時に、その変形は不連続性が目立たないように(重心法よりも上手く)滑らかになります。
Solid Objectシェルフツールで作成されたノードセットアップを使用することで、よりカスタマイズされた埋め込みシミュレーションを作成することができます。
-
Embedded(埋め込み)高解像度ジオメトリのプリミティブは、四面体メッシュ内にできるだけ小さい隙間で収まっていることが重要です。そうでないと、シミュレーションが遅くなったり、低品質な結果になってしまうことがあります。
その埋め込まれたプリミティブまたはポイントがシミュレーションした四面体メッシュの内側にない場合、Solid Objectは警告を出します。 さらに、
fe_outlier_primitives
プリミティブグループとfe_outlier_points
ポイントグループがEmbedded(埋め込み)ジオメトリ上に生成されます。 これらのグループは、そのEmbedded(埋め込み)ジオメトリの一部が適切に四面体の中に含まれていないことを示します。 -
このEmbedded(埋め込み)ジオメトリは、四面体やポリゴン、または混在させて構成することができます。内部の破壊サーフェスが必要であれば、そのEmbedded(埋め込み)ジオメトリは、シミュレーションしたジオメトリが破壊された領域付近に四面体またはポリゴンがなければなりません。
-
fracturepart
Primitiveアトリビュートがシミュレーション四面体上に存在する時、それと同じ名前のアトリビュートをEmbedded(埋め込み)ジオメトリ上に追加して、そのEmbedded(埋め込み)ジオメトリの破壊の仕方を制御することもできます。
FEM(有限要素) vs. ばね
Finite Element Solverは、変形可能なソリッドの動きをシミュレーションします。 このSolverは、シミュレーションされる形状をSolid Continuum(固体連続体)として扱うので、パーティクル間の衝突とは対照的です。 つまり、内部質量と内部フォースが形状全体(四面体の内部を含む)に分布します。
Finite Elementシミュレーションは、シミュレーションされるボディ内で起こる内部の応力と歪みに基づいています。 これは、パーティクルベースの質量ばねシステムなどの他のソルバとはまったく対照的です。 パーティクルベースの質量ばねシステムの場合は、質量が頂点に集中していて、内部フォースがそれらの頂点間のばねで生成されます。
Finite Element SolverのSolid Continuum(固体連続体)の考え方は、以下のようにパーティクルベースのソルバよりもいくつか利点があります:
-
シミュレーションの挙動は、メッシュの解像度が変わっても非常に一貫性を保ちます。そのため、プリセットが予測可能になります。つまり、低解像度メッシュの(軽い)シミュレーショによって、高解像度メッシュのシミュレーションをうまく予測することができます。
-
Finite Elementシミュレーションの結果は、現実的です。これは、固体力学の原理に基づいた有限要素の結果です。
-
Finite Elementシステムは、位置ベースのパーティクルシステムと比べて、硬いオブジェクトのシミュレーションで効率的である傾向があります。
FEM(有限要素) vs. Grains(粒)
Particle Based Dynamics Grainソルバは、粒のペア間に拘束セットを使用します。 それらの拘束は、ポイントのペア間のRest Distance(静止距離)を表現し、PBDはそれらの拘束を実行して、シミュレーション中に形状を維持します。 ソルバは、主にポイントの位置を基準に動作します。 PBD手法の主な利点は、常に安定した高速な計算速度と、ポイントの位置を直接変更できるということです。 弾性エネルギーを持ったよく弾むオブジェクトや背景オブジェクトのシミュレーションに主に使用したいことでしょう。
FEM(有限要素法)ソルバは物理モデルに基づいており、歪や体積の維持による応力が含まれます。 ソルバは主に、フォースのシステムおよびフォースの偏導関数(偏微分)を解くことにより機能します。 FEM(有限要素法)ソルバ手法の主な利点は、物理ベースのシミュレーションのリアルさと、メッシュ解像度とサブステップサイズの変化に対して、材質の挙動を予測できるということです。きめが細かく物理的に正確なオブジェクトに主に使用したいことでしょう。
See also |