Houdini 20.0 Finite Elements(有限要素)

有限要素法(FEM)について

有限要素法(FEM)は、ソリッドオブジェクト(つまり、“中身が詰まった”オブジェクト)をシミュレーションします。

On this page

概要

HoudiniのFEMソルバを使用することで、高品質な弾性材料シミュレーションを作成することができます。 これは、特に有機組織などの局所的に強い体積維持のある非線形性の高い素材の現実的なシミュレーションに非常に適しています。 これは、例えば筋肉や皮膚のシミュレーションなどCharacter FXに応用が効きます。

四面体(tets)で表現されたソリッドオブジェクトに加えて、HoudiniのFEM Solverではポリゴンシェルのシミュレーションが可能です。 3Dソリッドと2Dシェルを単体シミュレーションオブジェクトに組み合わせることさえもできます。 例えば、シェルのポイントをソリッドのサーフェスと共有させることができます。 さらに、ポリラインにも対応しているので、ワイヤーをオブジェクトに取り付けることができます。 これらすべてを組み合わせれば、孤立ポイントもFEMでシミュレーションすることができます。

シミュレーションネットワークでは、利用可能なFEMオブジェクトのタイプが2つあります: FEM Solid ObjectノードFEM Hybrid Objectノード。 FEM Solid Objectは3次元ソリッドに特化しています。つまり、ジオメトリが完全に四面体で存在している必要があります。 (Tet ConformTet Embedを含む)“Tet”系SOPsを使用することで四面体ソリッドをポリゴンから構築することができます。 FEM Hybrid Objectは、四面体(3D)、ポリゴン(2D)、ポリライン(1D)、孤立ポイント(0D)の組み合わせに対応しています。 FEM Solid ObjectノードFEM Hybrid ObjectノードはどちらもFEM Solverで認識され計算されます。

ほとんどの他のソルバとは対照的に、HoudiniのFinite Element Solverは 解像度に依存しません 。 つまり、オブジェクトの移動や変形の挙動は、プリミティブの密度に大きく左右されるわけではありません。 具体的には、FEM Objectが同じ設定であれば、解像度を上げたメッシュに適用しても同様の結果になります。 四面体メッシュの四面体を増やしても、シミュレーション結果に大きく影響しないというのが特徴です。

FEM Solverは、超弾性材料の計算を行なうことができます。 このような材料は、変形させた時にエネルギー密度を上昇させます。 そのエネルギー密度が次々に内部圧力とFEMノード(Houdiniポイント)のフォースとして定義されていって、シミュレーションオブジェクトの動きと挙動に影響します。 オブジェクトを大きく変形させるほど、そのエネルギー密度がオブジェクトにもっと蓄えられます。

四面体ソリッド

通常では、3Dモデルは、オブジェクトの外殻で構成されています。ボロノイ破壊は、必要に応じて破片の間にサーフェスを補うことで“見せかけの”中身を表現するテクニックを使っています。 それとは対照的に、FEM Solid Objectはオブジェクトを小さな3Dの 四面体 (4つの面で構成されたピラミッド)で構成した固体の塊としてオブジェクトを表現します。 これによって、ソルバは現実的な曲げ、弾力性、内部質量、欠け落ち、崩壊、粉砕をシミュレーションすることができます。 FEM Solid Objectは、硬い材質(例えば、金属や木材)や伸縮自在で、ゴムのように伸び、可塑性のある、だらりと垂れたようなオブジェクト(例えば、筋肉と脂肪)を表現することができます。

使用する四面体メッシュの複雑さと品質は、シミュレーションの効率性への影響が大きいです。通常では四面体が多いほどシミュレーション時間が増えます。一般的には、四面体の数が10倍になると、シミュレーション時間は少なくとも10倍以上遅くなります。

シミュレーションを高速化するには、できるだけ四面体を減らすと同時に目的のモーションを適切に表現するのに十分なメッシュ解像度を維持してください。 Solid Objectシェルフツールで作成されるセットアップから始めるのが良いでしょう。Tet Embed SOPのTet Sizeパラメータを調整することで、メッシュ解像度に影響を与えることができます。

非常に高品質なキャラクタシミュレーションをするために、Tet EmbedをRemeshTet Conform SOPの組み合わせに置き換える方が望ましいことがあります。

低解像度の四面体メッシュを使ったシミュレーションは、形状全体が似ている限り、高解像度の四面体メッシュを使ったシミュレーションとあまり変わりません。

四面体の数だけでなく、四面体の形状もシミュレーションの効率性に非常に影響があります。すべての四面体が正四面体に近いのが理想です。非常に小さい、非常に大きい、非常に平坦、非常に薄い四面体は、Finite Elementシミュレーションに良くない影響を与えてしまいます。Tet EmbedとTet Conformのツールは、高品質の四面体が生成されるように設計されています。 FEMを使用してシミュレーションをする前に、FEM Validate SOPを使用して四面体メッシュの品質を検査することを強く推奨します。

Embedding(埋め込み)

レンダリング品質のモデルは、高品質のシミュレーションに必要なディテールよりも細かいディテールを含めることが多いです。 ましてや、レンダーモデルには穴や自己交差があって、典型的に非常に低品質な四面体になってしまいます。 (例えばTet Conformを使用して)高解像度モデルから四面体メッシュを直接生成したとしても、四面体の数が多すぎて、それらの四面体の品質が悪いことが原因でシミュレーションが遅くなってしまいます。

以上の理由から、Houdiniは低解像度の四面体メッシュへのレンダリングメッシュの“埋め込み”に対応しています。 Houdiniは、低解像度の四面体メッシュに対してシミュレーションを実行してから、そのシミュレーションされた変形をそのレンダーモデルに適用します。 これは、ポイントポジション、Velocity、(この埋め込まれたジオメトリに法線アトリビュート(N)があれば)ポイント/頂点の法線に影響を与えます。

そのEmbedded(埋め込み)ジオメトリがシミュレーションしたジオメトリよりもディテールが細かい時に、FEM Embedding機能で生成される変形は不連続性が目立たないように(重心法よりも上手く)滑らかになります。

Solid Objectシェルフツールで作成されたノードセットアップをサンプルとして使用することで、よりカスタマイズされた埋め込みシミュレーションを作成することができます。

  • Embedded(埋め込み)レンダーモデルのプリミティブは、シミュレーション四面体メッシュ内にできるだけ小さい隙間で完全に収まっていることが重要です。そうでないと、Embedded(埋め込み)変形が低品質な結果や不具合を生成してしまうことがあります。

    その埋め込まれたプリミティブまたはポイントがシミュレーションした四面体メッシュの内側にない場合、FEM Solid Objectは警告を出します。 さらに、fe_outlier_primitivesプリミティブグループとfe_outlier_pointsポイントグループがEmbedded(埋め込み)ジオメトリ上に生成されます。 これらのグループは、そのEmbedded(埋め込み)ジオメトリの一部が適切に四面体の中に含まれていないことを示します。

  • このEmbedded(埋め込み)ジオメトリは、四面体やポリゴン、または混在させて構成することができます。内部の破壊サーフェスが必要であれば、そのEmbedded(埋め込み)ジオメトリは、シミュレーションしたジオメトリが破壊された領域付近に四面体またはポリゴンがなければなりません。

  • fracturepartPrimitiveアトリビュートがシミュレーション四面体上に存在する時、それと同じ名前のアトリビュートをEmbedded(埋め込み)ジオメトリ上に追加して、そのEmbedded(埋め込み)ジオメトリの破壊の仕方を制御することもできます。

有限要素法 vs. Position Based Dynamics

Position-Basedソルバは、各弾性オブジェクトを拘束セットとして表現し、各拘束には少数のポイントが必要になります(例えば、1個の四面体を拘束するのに4個のポイントが必要になります)。 PBDやXPBDなどのPosition-Basedメソッドは、これらの拘束を近似で強制することによって、オブジェクトの形状と体積を維持させます。 解はユーザが指定した数のパスだけ構成され、その中から、これらの拘束が個々に緩和されます。 メッシュを次第に高解像度にすることを考慮すると、同様のレベルの品質を維持するのには、拘束パスの数を増やす必要があります。

FEM(有限要素法)ソルバは物理モデルに基づいており、歪や体積の維持による応力が含まれます。 FEMソルバは、完全に非線形システムで大域解を求めることで動作します。 ユーザは、ソルバが内部的に使用するパスの数を調整する必要がありません。 有限要素法の利点は、現実主義的に優れたシミュレーション結果が得られ、設定を反復させる必要性が少なくなり、メッシュ解像度とサブステップレートが変わっても整合性が強固に保たれることです。

Finite Elements(有限要素)

はじめよう

次のステップ

ソルバテクノロジー