-
Finite Element Solverは、シミュレーションに影響を与えたり制御するための色々なタイプの拘束に対応しています。一般的な用途は、有限要素シミュレーションの一部をターゲットアニメーションに追従させたい時に使用します。そのようなターゲットアニメーションの拘束だけでなく、Fuse Constraintsのようにシミュレーションしたポイントを繋げる拘束もあります。さらに、Finite Element Solverは、ポイント間でのSBD Spring拘束に対応しています。
-
有限要素は、主にハード拘束とソフト拘束の2つのタイプの拘束に対応しています。ハード拘束の場合、それによって拘束されたポイントは、指定したターゲットアニメーションに正確に追従します。ソフト拘束は、シミュレーションとアニメーションを混在させる拘束です。ソフト拘束よって拘束されたポイントはターゲットアニメーションに正確には追従しません。そのソフト拘束は Target Strength パラメータによってどの程度ターゲットアニメーションに追従させるのかを制御することができます。ハード拘束は、拘束されたポイントをターゲットアニメーションに正確に追従させることができるメリットがあります。ソフト拘束を使用した場合、ターゲットアニメーションに追従できるようにするには Target Strength の値を試行錯誤する必要があります。
-
ターゲットアニメーションは2通りの方法で指定することができます。最も簡単な方法は、Solid ObjectまたはHybrid Objectの Target Deformation にターゲットアニメーションを指定することです。Solveステップ毎にFinite Element Solverが、その該当する時間におけるアニメーションジオメトリを調べます。より高度なセットアップをしたいのであれば、 Target Deformation を使用する代わりにシミュレーションジオメトリ上の
targetP
Pointアトリビュートを指定することができます。しかし、時間軸でtargetP
をアニメーションさせるには、DOPネットワーク内にSOP Solverが必要になります。 -
ハード拘束は2通りの方法で作成することができます。最も簡単な方法は、Finite Element Target Constraintを作成して、その Type をHARDに設定することです。Constrain Points to Targetシェルフツールを使用することで、Finite Element Target Constraintを作成することができます。より高度なもう1つの方法は、
pintoanimation
整数Pointアトリビュートを作成し、すべてのポイントの値を1にして、それらのポイントをターゲットアニメーションに正確に追従させることです。 -
ソフト拘束を使用する時は、それで拘束されたシミュレーションポイントがターゲットアニメーションから大きく逸れずにできる限り Target Strength を低くすることを推奨します。値を低く抑えることで、良い見た目の結果が得られます。極端に大きな値にしても理論的には動作しますが、それによってソルバのパフォーマンスと堅牢性に悪影響を及ぼす可能性があるので、現実的にはお薦めしません。緩く一致させるよりもほぼ正確に一致させたい時には、現実的にはハード拘束の方が良い選択になることが多いです。
-
Lumped Soft Constraints(集中ソフト拘束)とは、Solid ObjectやHybrid Objectの連続体全体に対してフォースが分布するのではなく、個々のポイントにフォースが集中するソフト拘束のことです。そのような拘束を作成するには、Finite Element Target Constraintを作成して、その Type をSOFTに設定します。SOFTタイプを使用する時は、Soft Controlsタブ下のパラメータを使用することで、そのソフト拘束の強度を制御することができます。 Target Strength が強いほど、拘束されるポイント上のフォースが強くなって、そのシミュレーションがターゲットアニメーションにより近くなろうとします。ソフト拘束がターゲットポジションを通り過ぎたり、ターゲットポジション周りでぐらつかないように Target Damping で調整することができます。Lumped Soft Constraints(集中ソフト拘束)は、(滑らかな領域ではなく)離れ離れになっている選択ポイントを拘束する必要がある時に好まれる選択肢です。この使い道の例は、ボックスオブジェクトの2,3個のコーナーを拘束した時です。
-
Distributed Soft Constraints(分布ソフト拘束)とは、オブジェクト全体に対して完全に分布するソフト拘束のことです。Solid ObjectやHybrid Objectには Target Strength と Target Damping のコントロールがあります。これらは、ソフト拘束フォースの(1立方ユニット長あたりの)密度を制御します。これは、シミュレーションと既存アニメーションを混ぜたいけれども、拘束された領域と拘束されていない領域の間に視覚的な不具合を発生させたくない時に非常に役立ちます。ソルバは、
targetstrength
とtargetdamping
のPointアトリビュートを認識します。これらのアトリビュートは、それらに該当するパラメータの乗数として作用します。これらのアトリビュートを使用することで、拘束される領域から拘束されない領域までの滑らかな減衰をペイントすることができます。 -
Region Constraints(領域拘束)とは、一種のソフト拘束のことで、これを使用することで仮想的に複数のSolid ObjectとHybrid Objectを一緒に結合させることができます。例えば、Region Constraintsを使用することで、実際にジオメトリを単一ジオメトリに結合させることなく、それらのオブジェクトをまとめることができます。その例としてRegion ConstraintsはMuscleシステムで使用されており、筋肉とボーンを周囲の有機組織内に収納させています。これらのオブジェクトがそれぞれFinite Element Solverによってシミュレーションされます。Region Constraintsの Strength と Damping のパラメータの単位は、それぞれSolid/Hybrid Objectの Target Strength と Target Damping のパラメータと同じです。
-
シミュレーションとターゲットアニメーション間の拘束だけでなく、さらに他のシミュレーションポイントをゴールにするための拘束があります。例えば、Finite Element Fuse Constraintを使用すれば、ポイントのペアを繋げることができます。この拘束をHARDに設定すると、それで拘束されたポイントのペアは実質的に単一ポイントになります。この機能を利用することで、複数のオブジェクトまたはシミュレーションオブジェクト内の複数に繋がったコンポーネントから、1枚に繋がったオブジェクトを形成することができます。SOFTモードでは、そのStitch Constraintは、方向的な歪みのないポイント間のバネのように動作します。
-
SBD Spring拘束を使用すれば、シミュレーションオブジェクトのポイント間でバネのように動作させることもできます。
Houdini 17.0 Finite Elements(有限要素)