Houdini 12.1

Houdiniでは、ダイナミックスネットワークを使ってシミュレーションを作成します。シミュレーションオブジェクトを作成して、複数のソルバをそのオブジェクトに適用します。Houdiniには、たくさんの異なるタイプのシミュレーション(布、リジッドボディ、ワイヤー、流体)用のオブジェクトとソルバがあります。また、スクリプトソルバ、ジオメトリソルバ、パーティクルソルバのようなHoudiniの他のパーツとダイナミックスを統合する特別なソルバがあります。

ほとんどの基本的なダイナミックスのセットアップは、単一のシミュレーションオブジェクトをソルバに接続し、力を加えます。

ダイナミックシミュレーションには拘束があり、これは、オブジェクトの位置を他のオブジェクトの位置で拘束します。例えば、スプリング拘束は2つのオブジェクト間に目に見えないスプリングの効果を作成します。

{spring_constraint.hip}

拘束は、いわばリレーションシップです。シミュレーションオブジェクトは、衝突のリレーションシップがあります。例えば、リジッドボディオブジェクトと流体シミュレーションは、お互い影響を与え合います。

{collisions.hip}

をシミュレーションに加えることができます。異なるソルバを持つシミュレーションオブジェクトは同じ力を共有することができ、複数の力を各オブジェクトに加えることができます。

{cloth_drag.hip}

ダイナミックスネットワークは、応用データ付きでオブジェクトのツリーを構築します。ビューポートにはシミュレーションで作成されたジオメトリがアニメーションします。Detailsビューには、スプレッドシートの書式で現在の時間における各オブジェクに適用されたシミュレーションデータすべてが表示されます。

抵抗力、風、力積(押す力)、磁場、、扇風機、他の力(Drive simulationタブを参照)

DOP Networkを接続して同じ結果になる方法はたくさんあります。データが付属するノードは、灰色の入力を通過したオブジェクトにデータをくっつけるだけです。例えば、ネットワーク内で異なるポイントに力のノードを置くことで、または、力のノードのGroupパラメータにノード名のパターンを設定することで、 特定の力が適用されるオブジェクトを制限することができます。

例えば、次のネットワークでは、gravity1の力がsphere_object1box_object1の両方に加わります。なぜなら、どちらのオブジェクトも最終的に、同じ力のノードに接続されているからです。とはいえ、fan1 の力はsphere_object1にのみ適用されています。なぜなら、そのオブジェクトのみがfan1に接続されているからです。

時間依存のエクスプレッションはダイナミックスでは、少し異なっています。$F(現在のフレーム)と$T(現在の時間)の代わりに、$SF (シミュレーションフレーム)と$ST(シミュレーション時間)を使います。この理由は、Houdiniのダイナミックスエンジンは時々、衝突を計算するのに時間を前後するからです。このことから、$Fは同じ値を何度も行き来してしまうのに対して、$SF$STは、そのまま値が増えていくだけです。