Houdini 20.0 シェルフツール

Guided Ocean Layer shelf tool

海面の薄い層をシミュレーションするFLIP流体シミュレーションを作成します。

On this page

概要

このツールは、海面上に薄いパーティクル層のガイドFLIPシミュレーションを作成します。 これらのパーティクルは、海のVelocityで初期化されます。指定した深度における海面はパーティクルの下のCollisionレイヤーとして働くため、パーティクルを海の波にほぼ一致させることができます。 パーティクルの 境界レイヤー は、タンクのエッジの反射を抑制し、海のVelocityをシミュレーションへ戻します。そして、水のボリュームレベルを維持し、海に一致させます。 FLIPシミュレーションは、 ガイドボリューム の手法を使って、そのシミュレーションでの海のVelocityを維持します。

この薄い層の厚みは、そのシミュレーションと大元の海面との近さを決定します。 この厚みは、シミュレーションがWake(航跡)やVortex(渦巻き)などの海面下の動きを取り込む精度も決定します。

Guided Ocean Layerは、静的シミュレーションにしたり、海を移動するオブジェクトに追従させることができます。

Ocean Spectrumノードは、シミュレーションする海の初期フレームの形状を変更することができ、Ocean Sourceは、その出力を制御します。

Tip

詳細は、Ocean Tankタイプの違いのヘルプページを参照してください。

Guided Ocean Layerの使い方

  1. Oceans タブの Guided Ocean Layer ツールをクリックしてタンクを作成します。

  2. 追従するアニメーションオブジェクトを選択し、Enterを押して選択を確定します。オブジェクトが選択されていない場合、静的タンクを配置するように促されます。

Note

海面とガイドボリュームの間の自由な流体パーティクルのレイヤーは、Ocean Source SOPLayer Size パラメータで制御します。

パラメータの詳細は、Ocean Sourceのヘルプページを参照してください。

海の見た目の変更

To...Do this

波の高さを設定する

Ocean Spectrumノードに移動し、 Wave Amplitude タブの Wave Scale パラメータを調整します。

この値は、 Wind タブの Speed パラメータで乗算されます。

波の方向を設定する

Ocean Spectrumノードに移動し、 Wind タブの Directional Bias パラメータを調整します。

これは、風と同じ方向に移動する頻度を制御します。この値を上げることで、同じ方向に移動する頻度が多くなるので、海岸線の効果を作成するのに役に立ちます。

Directional Movement パラメータを上げようとすることもできます。これは、風と反対方向に移動する波を弱くして、同じ方向に移動する波だけを残します。

波の頂上の高さを制御する

Ocean Spectrumノードに移動し、 Wind タブの Chop パラメータを調整します。

このパラメータを上げると、波の頂上が鋭くなります。しかし、この値を高くしすぎると、波が反転してしまう場合があります。

海にディテールを加える

Ocean Spectrumノードの Resolution Exponent パラメータを上げます。

Note

Resolution Exponent パラメータは、海の品質だけでなく、最終的に書き出されるテクスチャマップのサイズも決定します。

広大な海を作成する

Large Oceanシェルフツールを使用します。

ノードのネットワークを理解する

海を作成する時に焦点となる重要な層が3つあります。最初にOcean(海)を作成し、次にWhitewater(白波)を作成し、最後にWhitewater(白波)のスペキュラーを追加します。

Tip

Ocean(海)で作業している間は、OBJレベルでWhitewaterノードすべてを無効にし、Whitewater(白波)で作業している間は、Oceanノードすべてを無効にします。

最初のノードのセットは、Ocean(海)そのものを制御します。

  1. fluidtank_initialはシミュレーションの最初のフレームを制御します。これは、Ocean Spectrumを使って初期フレームのタンクの形状を変更し、Ocean Sourceを使って出力を制御することができます。これには、タンクのサイズ、水の深さなどを含んでいます。

  2. AutoDopNetworkはタンクのシミュレーションを制御します。これは、FLIP ObjectFLIP Solverを見つけます。FLIPシミュレーションには、境界層のパーティクルの流出と流入をするVolume Source DOPと、シミュレーションに海のVelocityを追加するGas Guiding Volume DOPが含まれています。Beach Tankシェルフツールは、POP Advect By Volumes DOPを使用して海のVelocityを注入することに注意してください。

  3. fluidtank_fluidは、1.と2.を組み合わせた結果で、その結果がレンダリングされる場所です。シミュレーションが行なわれた後に、このノードが流体パーティクルを収集して、マテリアルをセットアップし、サーフェス化するためのノードを作成してエフェクトを仕上げます。

  4. fluidtank_interiorは、レンダリングにも使用され、流体の内部にシェーダを適用してボリューム効果を作成するのにも使われます。これは、水の濁り具合などの海面下のボリュームを制御します。

次のノードのセットは、Whitewater(白波)を制御します。

Note

Whitewater(白波)をシミュレーションに追加するには、 Oceans シェルフのWhitewaterツールを使用します。

  1. whitewater_sourceは、Spray(飛沫)とFoam(泡沫)が生じる場所です。

  2. whitewater_simは、Whitewater(白波)をシミュレーションする場所です。これは、アニメーションを修正することができます。

  3. import_whitewaterは、1.と2.を組み合わせた結果です。

詳細は、白波で波の水槽をアニメーションする方法を参照してください。

Note

(例えば、Large OceanまたはSmall Oceanのシェルフツールを使用して)完全にプロシージャルな海を構築するのであれば、Ocean Foam SOPを使用します。

延長されたOceanサーフェスノードを理解する

Guided Ocean LayerツールとOcean Flat Tankツールは、“延長された”流体サーフェスをレンダリングするためのネットワークも作成します。 この流体サーフェスは、FLIPシミュレーションとその周囲のソースのオーシャン間をシームレスに統合できるように、水平に伸ばしたり、Oceanディスプレイスメントを使ってレンダリングすることができます。

  1. Particle Fluid Surfaceノード(particlefluidsurface1)は、延長されたFLIPメッシュを作成します。このノードの Flattening タブの設定は、シミュレーション領域のエッジ付近の流体シミュレーションを平坦化し、そのポリゴンメッシュのエッジを外側に押し出すことで、延長された平坦なサーフェスを形成します。そのシミュレーションを囲んだこの平坦な領域は、Oceanディスプレイスメントを使ってレンダリングされます。

  2. 2つのParticle Fluid Maskノード(particlefluidmask1hifrequency_mask)は、入力のOceanスペクトルにマスクを作成します。このマスクは、レンダリング時のOceanディスプレイスメントをそのシミュレーションの特定の領域に制限します。通常では、この領域には流体のベロシティ、渦、高い飛沫のない領域を指定します。これらのノードは、シミュレーション境界ボックスのエッジ付近のOceanディスプレイスメントを、サーフェス化と同時に適用した平坦化されたサーフェスに合致するようにブレンドします。さらに、hifrequency_maskノードは、入力のOceanスペクトルをフィルタリングして、最も高い周波数の波以外を除去します。通常では、シミュレーションしたFLIPメッシュにそれらの波を適用することができるので、その周囲のオーシャンとうまく統合させることができます。

  3. surface_previewノードは、FLIPシミュレーションの高速プレビュー用であり、作成されたマスクをサンプリングして、そのmaskアトリビュートに対してビューポートビジュアライザを使用することで、そのOceanの寄与度を可視化することができます。oceanevaluate1ノードは、計算されたマスクに基づいて、Oceanディスプレイスメントをそのプレビューに適用します。

  4. split_spectra_masksノードは、マスクノードで作成された時間依存のマスクから静的なOceanスペクトルを取り出します。Ocean Surfaceマテリアルがスペクトルとマスクの入力を別々に持つことができることを活かすために、これらのスペクトルは2つの異なるファイルのセットにキャッシュ化されます。

水の見た目を良くするための役立つ情報

  • タンクのデフォルトでは、アニメーションしやすくするために低解像度のシミュレーションを作成します。しかし、レンダリングで良い結果を作成するには、デフォルト設定をいくつか変更する必要があります。例えば、シーン内のパーティクルの数を増やす必要があります。 Particle Separation パラメータを約0.03に減らすことで、約3000万個のパーティクルによるシミュレーションを作成します。

  • シーンに環境光を追加します。水は、シーン内のたくさんの環境を反射させたり屈折させたりするので、シーン内に環境マップを使えば、見た目が非常に良くなります。

    Tip

    Environment Map パラメータには、HFS/houdini/pic/フォルダの中のDOSCH_SKIESV2_${F2}SN_lowres.ratで空のファイルを選択することができます。

See also

シェルフツール

シェルフの使い方

テクニカル