Houdiniでは、ダイナミクスネットワークを使ってシミュレーションを作成します。 シミュレーションオブジェクト を作成して、複数の ソルバ をそのオブジェクトに適用します。Houdiniには、たくさんの異なるタイプのシミュレーション(布、リジッドボディ、ワイヤー、流体)用のオブジェクトとソルバがあります。また、スクリプトソルバ、ジオメトリソルバ、パーティクルソルバのようなHoudiniの他のパーツとダイナミクスを統合する特別なソルバがあります。
ほとんどの基本的なダイナミクスのセットアップは、単一のシミュレーションオブジェクトをソルバに接続し、フォースを加えます。
ダイナミックシミュレーションには 拘束 があり、これは、オブジェクトの位置を他のオブジェクトの位置で拘束します。例えば、スプリング拘束は2つのオブジェクト間に目に見えないスプリングの効果を生成します。
拘束は、いわば リレーションシップ です。シミュレーションオブジェクトには、 衝突 のリレーションシップがあります。例えば、リジッドボディオブジェクトと流体シミュレーションは、お互いに影響し合います。
フォース をシミュレーションに加えることができます。異なるソルバを持つシミュレーションオブジェクトは同じフォースを共有することができ、複数のフォースを各オブジェクトに加えることができます。
ダイナミクスネットワークは、データを追加してオブジェクトのツリーを構築します。ビューポートにはシミュレーションで生成されたジオメトリのアニメーションが表示されます。Geometry Spreadsheet Viewには、スプレッドシート形式で現在の時間における各オブジェクに適用されたシミュレーションデータすべてが表示されます。
シミュレーションに追加可能なフォースは、抵抗力、風、力積(押す力)、磁場、扇風機などがあります(Drive Simulationタブを参照)。
DOP Networkを接続して同じ結果になる方法がたくさんあります。データを追加するノードは、ただ単に灰色の入力の接続線を通過するオブジェクトにデータを追加しているだけです。例えば、ネットワーク内で異なる場所にフォースのノードを置いたり、フォースのノードの Group パラメータにノード名のパターンを設定することで、あるフォースをあるオブジェクトだけに適用するように制限することができます。
例えば、以下のネットワークでは、gravity1
のフォースがsphere_object1
とbox_object1
の両方に加わります。なぜなら、どちらのオブジェクトも最終的に、同じフォースのノードに接続されているからです。とはいえ、fan1
の力はsphere_object1
にのみ適用されています。なぜなら、そのオブジェクトのみがfan1
に接続されているからです。
時間依存のエクスプレッションは、ダイナミクスでは少し異なっています。$F
(現在のフレーム)と$T
(現在の時間)の代わりに、$SF
(シミュレーションフレーム)と$ST
(シミュレーション時間)を使います。この理由は、Houdiniのダイナミクスエンジンは時々、衝突を計算するのに時間を前後するからです。このことから、$F
は同じ値を何度も行き来してしまうのに対して、$SF
と$ST
は、そのまま値が増えていくだけです。
サブトピック
ダイナミクスの学習
衝突オブジェクト
シミュレーションタイプ
-
煙、炎、爆発のシミュレーションの方法。
-
流体とオーシャンのシミュレーションをセットアップする方法。
-
(砂のような)粒状の材質をシミュレーションする方法。
-
Houdiniでのキャラクタの群衆の作成とシミュレーションの方法。
-
変形可能なオブジェクトを作成してシミュレーションする方法。
-
布や他の柔軟な材質の作成とシミュレーションの方法。
Vellum
非DOPシミュレーション
次のステップ
-
このツールは、HQueueによる複数マシンでの並列処理ができるように、シミュレーションオブジェクトのネットワークをセットアップします。