On this page

概要

Houdiniには、サーフェス上に波と波紋を伝搬させるシミュレーションを行なうことができるツールがあります。 これは、オーシャンサーフェス(海面)などのシミュレーションで役に立ちます。

Note

Houdini20以降では、スリムなUIで新しい可能性が秘められた高速なOpenCLベースのRipple Solver SOPが用意されています。 詳細は、Ripple Solverを参照してください。

ソルバは、“現在”の状態のサーフェスと“静止(Rest)”した状態のサーフェスを比較して、サーフェスのどの部分が“高”で“低”なのかを判断してから、 その情報を使って波紋の伝搬をシミュレーションします。

ソルバは、サーフェス上のポイントを“上”と“下”に変位させるだけなので、波が凹状にはなりません。

ツール

Ripple Object DOPは、波紋用にダイナミクスオブジェクトをセットアップします。 Ripple Solverは、ダイナミクスオブジェクトを計算できるようにセットアップします。

Rippleサーフェスノードは、グリッドを変形させて同心円の波紋を追加します。 このノードのパラメータをアニメーションさせて単純な波紋を“模倣”したり、このノードを使って真のダイナミクス波紋シミュレーション用の初期状態をセットアップすることができます。

Waveformツールは、サーフェスをある方向に対して波状の形に変形させます。 Ripple Solverは、このツールで作成した波形を伝搬させるための特有のコードを持っています。

How to

  1. Gridを作成します。

  2. Rippleツールを適用してサーフェスを変形させます。

  3. ネットワークエディタで、Gridのジオメトリプロジェクトの中に入ります

  4. 最初の Gridノードから分岐させて Nullノードを作成して、名前をREST_OUTにします。

  5. Rippleノードの後にNullノードを作成して、名前をRIPPLE_OUTにします。

  6. シーンレベルに戻り⇥ TabメニューからDOP Networkを作成します。

  7. そのDOPネットワークの中に入り、Ripple Object DOPを作成します。パラメータエディタで、 Initial SOP PathRIPPLE_OUT Nullのパス(/obj/geo1/RIPPLE_OUTなど)に設定します。 Rest SOP PathREST_OUT Nullのパス(obj/geo1/REST_OUTなど)に設定します。

  8. Ripple Solverを作成して、Ripple Objectノードの出力をRipple Solverの入力に接続します。Displayフラグがソルバ以降のノードに設定されていることを確認します。

  9. Playボタンをクリックして、シミュレーションを再生します。

Tips

波紋の動作は、Height Field上で使うのが一番理解しやすいですが、これらのノードはグリッド以外にも活用できます。 波紋は、カーブに沿ったり、ポイントの3Dラティスを通過したり、複雑な三角メッシュ上にも伝搬することが可能です。

波はエッジに対して跳ね返らせることができます。 また、アトリビュートをペイントすることで、速い、遅い、または動きがない波の伝搬の領域を定義することができます。

オーシャンと水面

Shallow Water Solver

オーシャン

波紋ソルバ