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