Houdini 20.0 Finite Elements(有限要素)

Finite Element(有限要素) > 拘束

On this page

Finite Element Solverは、シミュレーションに影響を与えたり制御するための色々なタイプの拘束に対応しています。一般的な用途は、有限要素シミュレーションの一部をターゲットアニメーションに追従させたい時に使用します。そのようなターゲットアニメーションの拘束だけでなく、Fuse Constraintsのようにシミュレーションしたポイントを繋げる拘束もあります。さらに、Finite Element Solverは、ポイント間でのSBD Spring拘束に対応しています。Region拘束は、トポロジーを一致させる必要なくソリッドオブジェクト内の領域を拘束することができます。

対応しているFEM拘束タイプ

以下の拘束タイプは、FEM Solverにのみ対応しています:

FEM Objects用ビルトインターゲット拘束(distributed)

FEM Target拘束(lumped)

FEM Fuse拘束

FEM Surface Attach拘束

FEM Surface Slide拘束

FEM Region拘束

さらに以下の拘束タイプは、FEM SolverとWire Solverのどちらでも認識されます:

SBD Pin拘束

SBD Spring拘束

FEM Object Built-In Target拘束 (distributed)

FEM Solid ObjectとFEM Hybrid Objectにはそれぞれターゲット拘束が組み込まれています。 このターゲット拘束は、滑らかな変形ができるように最適化されています。 つまり、このビルトインターゲット拘束によって、まったく同じトポロジーを持つ以前の既存アニメーションを使ってシミュレーションをガイドしようとした場合に、FEMで最良の結果を得ることができます。 ソルバは、ただプリミティブ頂点だけを引っ張るのではなくて、四面体と三角形の内側ポイントすべてに対してターゲット拘束の引っ張りを均一に分散させます。 連続ターゲット拘束は、同じトポロジーに対して以前の既存アニメーションを使ってシミュレーションを滑らかにガイドさせたり影響を与えたりしたい時に役立ちます。

Distributed Soft Target Constraints(分布ソフトターゲット拘束)とは、オブジェクト全体に対して完全に分布するソフト拘束のことです。Solid ObjectやHybrid Objectには Target StrengthTarget Damping のコントロールがあります。これらは、ソフト拘束フォースの(1立方ユニット長あたりの)密度を制御します。これは、シミュレーションと既存アニメーションを混ぜたいけれども、拘束された領域と拘束されていない領域の間に視覚的な不具合を発生させたくない時に非常に役立ちます。ソルバは、targetstrengthtargetdampingのPointアトリビュートを認識します。これらのアトリビュートは、FEMオブジェクト上のそれらに該当するパラメータの乗数として作用します。これらのアトリビュートを使用することで、拘束される領域から拘束されない領域までの滑らかな減衰をペイントすることができます。

ターゲットアニメーションは2通りの方法で指定することができます。最も簡単な方法は、Solid ObjectまたはHybrid Objectの Target Deformation にターゲットアニメーションを指定することです。Solveステップ毎にFinite Element Solverが、その該当する時間におけるアニメーションジオメトリを調べます。より高度なセットアップをしたいのであれば、 Target Deformation を使用する代わりにシミュレーションジオメトリ上のtargetP Pointアトリビュートを指定することができます。しかし、時間軸でtargetPをアニメーションさせるには、DOPネットワーク内にSOP Solverが必要になります。

ビルトインターゲット拘束を使用する時は、それで拘束されたシミュレーションポイントがターゲットアニメーションから大きく逸れずにできる限り Target Strength を低くすることを推奨します。値を低く抑えることで、良い見た目の結果が得られます。極端に大きな値にしても理論的には動作しますが、それによってソルバのパフォーマンスに悪影響を及ぼす可能性があるので、現実的にはお薦めしません。

FEM Target拘束 (lumped)

FEM Target Constraint: ビルトインの連続ターゲット拘束とは対照的に、このDOP拘束は、個々のポイントをターゲットポジションで引っ張ることができます。 これらのフォースのImpact(衝撃)は、指定したポイントにのみ限定されます。 滑らかなビルトインターゲット拘束とは対照的に、FEM Target Constraintsは、(隣接ポイントを含まず)指定したポイントにのみ影響を与えます。 このようなLumped Target Constraints(集中ターゲット拘束)は、シミュレーションジオメトリの個々の頂点をアニメーションに拘束したい時に非常に役立ちます。

Lumped Target Soft Constraints(集中ターゲットソフト拘束)とは、Solid ObjectやHybrid Objectの連続体全体に対してフォースが分布するのではなく、個々のポイントにフォースが集中するソフト拘束のことです。そのような拘束を作成するには、Finite Element Target Constraintを作成して、その Type をSOFTに設定します。SOFTタイプを使用する時は、Soft Controlsタブ下のパラメータを使用することで、そのソフト拘束の強度を制御することができます。 Target Strength が強いほど、拘束されるポイント上のフォースが強くなって、そのシミュレーションがターゲットアニメーションにより近くなろうとします。ソフト拘束がターゲットポジションを通り過ぎたり、ターゲットポジション周りでぐらつかないように Target Damping パラメータで調整することができます。FEM Target ConstraintのLumped Soft Constraints(集中ソフト拘束)は、(滑らかな領域ではなく)離れ離れになっている選択ポイントを拘束する必要がある時に好まれる選択肢です。この使い道の例は、ボックスオブジェクトの2,3個のコーナーを拘束した時です。

ハード拘束は2通りの方法で作成することができます。最も簡単な方法は、Finite Element Target Constraintを作成して、その Type をHARDに設定することです。Constrain Points to Targetシェルフツールを使用することで、Finite Element Target Constraintを作成することができます。より高度なもう1つの方法は、pintoanimation整数Pointアトリビュートを作成し、すべてのポイントの値を1にして、それらのポイントをターゲットアニメーションに正確に追従させることです。 値が0のすべてのポイントはそのまま影響を受けません。

FEM Fuse拘束

シミュレーションとターゲットアニメーション間の拘束だけでなく、さらに他のシミュレーションポイントをゴールにするための拘束があります。例えば、Finite Element Fuse Constraintを使用すれば、ポイントのペアを繋げることができます。この拘束をHARDに設定すると、それで拘束されたポイントのペアは実質的に単一ポイントになります。この機能を利用することで、複数のオブジェクトまたはシミュレーションオブジェクト内の複数に繋がったコンポーネントから、1枚に繋がったオブジェクトを形成することができます。SOFTモードでは、このFuse Constraintは、方向的な歪みのないポイント間のバネのように動作します。

FEM Attach拘束

これは、FEM Solid ObjectまたはFEM Hybrid Objectのポイントを、他のFEM ObjectまたはStatic Objectの表面に拘束することができます。 拘束されるポイントグループ内の各ポイントは、ゴールオブジェクト上の固定相対位置に拘束されます。 このゴールオブジェクトのジオメトリは、四面体、ポリゴン、ポリライン、ポイントのパーティクルシステムで構成することができます。 拘束内で同じオブジェクトを2回指定することで、同じオブジェクトの繋がったコンポーネント間に接着を作成することもできます。

FEM Slide拘束

これは、FEM Solid ObjectまたはFEM Hybrid Objectの指定したポイントグループを他のFEM Objectの表面に沿って滑らせることができます。 これは、筋肉シミュレーションで筋肉のグループを一緒に維持させるのに役立ちます。 皮膚組織/皮膚のシミュレーションでは、FEM Slide拘束を使用することで、皮膚を大元のボーンと筋肉またはFascia(筋膜)表面上に滑らせたり、接着させることができます。 FEM Slide拘束内で同じFEMオブジェクトを2回指定することで、その同じFEMオブジェクトの別々のコンポーネント間にスライド拘束を作成することができます。

FEM Region拘束

FEM Region Constraintは、トポロジーを合わせる必要がなくて、シミュレーションされるFEMオブジェクト内の領域を拘束することができます。 この拘束は、FEM Region Constraintに関係する両方のオブジェクトがFEM Solid ObjectまたはFEM Hybrid Objectのどれかなので、両方の方向で動作することができます。 現在のところ、この拘束は四面体と四面体の間で動作します(三角形と四面体、三角形と三角形の間では動作しません)。

Region Constraints(領域拘束)とは、一種のソフト拘束のことで、これを使用することで仮想的に複数のSolid ObjectとHybrid Objectを一緒に結合させることができます。例えば、Region Constraintsを使用することで、実際にジオメトリを単一ジオメトリに結合させることなく、それらのオブジェクトをまとめることができます。その例としてRegion ConstraintsはMuscleシステムで使用されており、筋肉とボーンを周囲の有機組織内に収納させています。これらのオブジェクトがそれぞれFinite Element Solverによってシミュレーションされます。Region Constraintsの StrengthDamping のパラメータの単位は、それぞれSolid/Hybrid Objectの Target StrengthTarget Damping のパラメータと同じです。

SBD Spring拘束

SBD Spring拘束を使用すれば、シミュレーションオブジェクトのポイント間でバネのように動作させることもできます。

相対Velocityを下げるためにソフト拘束を使用する方法

ソフト拘束の最もよくある使用例だと、拘束はシミュレーションオブジェクトの位置に作用します。 私どもは頂点の位置(FEMノード)を別のシミュレーションオブジェクトの他の頂点の位置または既存アニメーション内の位置におおまかに合わせたいです。 しかし、位置ではなくて Velocity に合わせた方が役立つ場合があります。 例えば、高速に移動するオブジェクトにオブジェクトを取り付ける場合、ソフト拘束の減衰機能をつかって、その拘束させるオブジェクトを他のオブジェクトのVelocityに合わせたいです。 この方法は、いくつかのFEM拘束(FEM Attach拘束, FEM Slide拘束, FEM Region拘束)で使用することができます。

ハード拘束モード vs ソフト拘束モード

FEM Solverは、主にハード拘束とソフト拘束の2つのタイプの拘束に対応しています。ハード拘束の場合、それによって拘束されたポイントは、指定したターゲットアニメーションに正確に追従します。ソフト拘束は、シミュレーションとアニメーションを混在させる拘束です。ソフト拘束よって拘束されたポイントはターゲットアニメーションに正確には追従しません。そのソフト拘束は Target Strength パラメータによってどの程度ターゲットアニメーションに追従させるのかを制御することができます。ハード拘束は、拘束されたポイントをターゲットアニメーションに正確に追従させることができるメリットがあります。ソフト拘束を使用した場合、ターゲットアニメーションに追従できるようにするには Target Strength の値を試行錯誤する必要があります。 ソフト拘束の方が問題の発生が少ないより寛容的なセットアップを組めるので、一般的にソフト拘束の方が好まれます。

Finite Elements(有限要素)

はじめよう

次のステップ

ソルバテクノロジー