HoudiniのSOP FLIP流体には、最も一般的なワークフローの一部を理解できるように、すぐに使用可能なツールがいくつか用意されています。
そのツールにアクセスするには、
Geometry SOPを作成し、それをダブルクリックしてそのノードの中に入ります。
そこで、⇥ Tabキーを押してTABメニューを呼び出します。
flip configure
と入力して、リストから
FLIP Configure Ocean Layer
を選択します。
Houdiniが完全なネットワークを作成してくれるので、プレイバーの
アイコンをクリックするだけで、即座にシミュレーションを開始することができます。
FLIP Configure Ocean Layer
ツールは、以下の手順を踏んでいます。
-
ガイドオーシャンレイヤーを作成し、
-
FLIP Solver SOPノードの4番目の入力を使用して、
-
シミュレーションドメインをカスタマイズおよび変更し、
-
Ocean Spectrumを介して流体パーティクルを駆動します。
このツールは、オーシャンサーフェスからパーティクルレイヤーのガイドFLIPシミュレーションを作成します。
パーティクルは海のVelocityで初期化されます。
FLIPシミュレーションは、ボリュームガイドの手法を使用することで、シミュレーションによる海のVelocityを維持します。
ネットワークはドメインボリュームを変更して、それをパーティクル用の衝突オブジェクトにします。
レイヤーの深度は、シミュレーションと海面がどの程度一致するかを決定します。
また、Wake(航跡)やVortex(渦巻き)といった海面下の動きを、シミュレーションがどの程度うまくとらえるかも深度によって決定されます。
メインのノード
ノード名
|
機能
|
tube1
|
Tube SOP。
このノードはシミュレーションドメインの形状を決定します。
オブジェクトは、vdbfrompolygons ノード( VDB from Polygons SOP)を介してVDBボリュームに変換されます。
|
make_mask
|
Subnetwork SOP。
このノードには、マスクを調整できるカスタム Band パラメータが備わっています。
マスクは、パーティクルレイヤーの深度を制御するのに使用されています。
Band は、マスクが減衰する領域の幅を定義しています。
そのノードをダブルクリックして、ノードの中に入ります。
そこでは、マスクのトランジション(遷移)を作成するネットワークと Band パラメータが確認できます。以下にマスクを示します。
|
adjust_domain
|
Subnetwork SOP。
ドメインのボリュームは、このサブネットワークを介して、パーティクル用の衝突オブジェクトとして機能するように変更されます。
このノードには、パーティクルと海面がどの程度一致するかを決定するカスタム Depth パラメータが用意されています。
そのノードをダブルクリックして中に入ります。
そこでは、ドメインを変更したり、 Depth パラメータを定義するネットワークが確認できます。
Note
make_mask とadjust_domain がシミュレーションに与える影響をはっきり確認できないことがあります。
より明確に分かるようにするには、particlefluidsurface1 ノードの Display/Render フラグをオンにして、メッシュの作成を呼び出します。
以下の画像は、0.5 の Depth でクリップしたドメインの底面ビューです。
|
flip_tank
|
FLIP Container SOP。
このノードは、流体シミュレーションが発生するドメインを作成します。
ドメインの境界では、平衡を維持するためにパーティクルがソーシングおよび削除されます。
オブジェクトをノードの入力に接続することができます。
接続したオブジェクトは、カスタム形状のドメインとして機能します。
FLIP Containerでは、 Surface Tension または Viscosity などの物理プロパティをオンにすることもできます。
また、temperature やdensity などのカスタムアトリビュートも定義することができます。
パーティクルの数を増やしたい場合は、 Particle Separation を下げてください。
|
oceanspectrum1
|
Ocean Spectrum SOP。
このノードは、海の波の情報を含んだボリュームを作成します。
波のパターンは Direction 、 Speed 、 Scale などのパラメータに基づいています。
また、2つの Spectrum Type オプションからも選択することができます。
デフォルトは TMA で、 Encino 波としても知られています。
Philips モードは Tessendorf 波として広く知られています。
|
oceanevaluate
|
Ocean Evaluate SOP。
このノードは、oceanspectrum1 からの情報を使用してジオメトリをトランスフォームします。
Volumes タブに、パラメータを駆動するいくつかのエクスプレッションがあります。
Velocity は、波に適用され最終的にパーティクルにも適用されるので必須です。
Hydrostatic Pressure オプションはflippsolver1 ノードの境界 Type に参照されています。
デフォルトでは、 Pressure モードが選択されています。
波のセットアップは、flipsolver1 ノードの4番目の入力に接続されています。
|
flipsolver1
|
FLIP Solver SOP。
このノードはネットワークの中心部であり、すべてを1つにまとめて流体の挙動をシミュレーションします。
特に注目すべきなのは Waterline タブです:パーティクルがソルバの4番目の入力( Boundary Flow )を介して作成されるため、
Waterline チェックボックスをオフにする必要があります。
流体はFLIP Containerの壁と相互作用するため、 Boundary Conditions もこのセットアップに関係します。
|
particlefluidsurface1
|
Particle Fluid Surface SOP。
ノードの Display/Render フラグをオンにして、ポリゴンメッシュの作成を呼び出し、流体を表示します。
|
Tips
To... | Do this |
シミュレーションドメインのジオメトリを変更する |
オブジェクトを追加またはインポートして、それをvdfrompolygons1 ノードの入力に接続します。
tube1 ノードが自動的に接続解除されます。新しいドメインオブジェクトのサイズと位置を、 Size と Center 値で調整します。
|
より多くのパーティクルを作成する |
fliptank1 ノードに Particle Separation パラメータがあります。
デフォルト値を下げると、パーティクルの数が増えます。
値を小さくすると、シミュレーション時間とメモリ使用量も増えることに注意してください。
|
球ではなくパーティクルを表示する |
flipsolver1 ノードの Visualization タブに移動して、 Points as Spheres をオフにします。
|
波をプレビューする |
-
oceanevaluate1 ノードを選択し、 Display/Render フラグをオンにします。
-
Geometry タブを開きます。
-
Preview Grid をオンにします。
-
oceanspectrum1 ノードのパラメータを変更します。
|
波のプロパティを変更する |
Wind タブのパラメータ、特に Spectrum Type と Speed を変えてみましょう。
Amplitude タブで、 Min Wavelength を上げると、小さい波や波紋を軽減することができます。
|