Houdini 19.5 流体

パーティクル流体

On this page

概要

Houdiniには水、泥、溶岩などの液体をシミュレーションするための方法がいくつかあり、それぞれ長所、短所があります。

煙と炎のような流体をシミュレーションするのであれば、Pyroシミュレーションを使ってください。

ビューポートとデスクトップをセットアップする方法を参照してください。ツリービューとGeometry Spreadsheet Viewに簡単にアクセスできるように、Technical Desktop( Windows ▸ Desktop ▸ Technical )を使うことを強く推奨します。

パーティクル流体シミュレーションでは、パーティクルを使って流体を表現します。可視化とレンダリングをするには、パーティクルを サーフェス化 します。つまり、パーティクルベースのサーフェスを作成します。

FLIP(パーティクル+グリッド)流体

FLIP流体ソルバはパーティクルのVelocityをグリッドへコピーし、 project non-divergent ステップを使用して新しいVelocityフィールドを計算し、 その新しいフィールドをパーティクルへコピーします。

長所

破裂と浮遊パーティクルの噴射を回避します。

必要なサブステップの数を小さくすると、FLIPが高速になります。

新しいパーティクルをシステムに追加することができます。

POPとSOPを使ってパーティクルを編集することができます。

シーン内を無制限に自由に流れることができます。FLIPはコンテナを使って速度を計算しますが、フレーム毎に再作成されます。コンテナは、その外側の浮遊パーティクルを削除するので大変役に立ちます。

短所

制限ボックスを使います。制限ボックスは非常に大きくすることができます。高速で浮遊するパーティクルが原因でソルバがそのパーティクルのフィールドをメモリ範囲を超える大きさまでにまで広げてしまうことを防ぐことができます。

Velocities

パーティクルに記録されます。

操作性

フォースを操作します。POPとSOPポイント編集を使ってすべてのフォースを制御します。

Distribution

任意のスライス。Distributionは速く流れる液体に非常にうまく動作します。

通常のサブステップ

1x。しかしながら、速く移動する液体または速く移動する障害物が正確に衝突する必要があるのならば、サブステップを設定する必要があります。

パーティクル流体の作成

  • Particle Fluids シェルフタブには、パーティクル流体を作成するツールがいくつかあります:

    • FLIP Fluid From Object 選択したジオメトリの形状から流体のブロッブを作成します。

    • FLIP Tank 目に見えないボックス内にパーティクルの直方体を作成します。

    • Sculpted Particle Fluid コンテナとなるジオメトリと、それと交差する“水位”を意味するジオメトリを選択すれば、コンテナ内にパーティクル流体の立体を作成します。

    • Emit Particle Fluid 選択したジオメトリからエミッターを作成します。

  • Populate Containers シェルフタブのツール。流体ソーシングを参照してください。

  • 液体を満たす“FLIP Tank”を作成することができます。それからエミッター(タンクを流体オブジェクトとして選択)を作成し、放出される液体を混ぜて、タンク内の液体と反応させます。

  • FLIP流体を使えば、パーティクルネットワークにパーティクルをパーティクルノードと一緒にシミュレーションに追加することができます。

パーティクル流体のHow to

To...Do this

オブジェクトから流体のブロッブを作成する

  1. パーティクルに変換したいジオメトリオブジェクトを作成します。

  2. ジオメトリオブジェクトを選択します。

  3. Particle Fluids シェルフタブから、FLIP Fluid From Objectをクリックします。

パーティクル流体エミッターを作成する

Particle Fluids シェルフタブのEmit Particle Fluidツールを使います。

または

エミッターを追加したい既存のパーティクル流体オブジェクトがあれば、 Populate Containers シェルフタブのツールを使います。

Particle Fuids シェルフタブのEmit Particle Fluidツールは、基本的には Populate Containers シェルフタブのSource from Volumesと同じですが、さらに、パーティクル流体がまだない場合に自動で新しくそれを作成する機能があります。

流し台を追加する

  1. 流し台用のジオメトリオブジェクトを作成します。このオブジェクトに接触したパーティクル流体が除去されていきます。

  2. Particle Fluids シェルフタブからSink Particle Fluidツールをクリックします。

  3. 流し台と接触させたいパーティクルをクリック、または、ダイナミクスネットワークからパーティクル流体を選択します。そしてEnterを押します。

  4. 流し台のジオメトリオブジェクトを選択してEnterを押します。

他のオブジェクトと衝突させる

RBDや静的ジオメトリのように、ネットワークで流体と結合(Merge DOPを使用)したオブジェクトは、流体パーティクルと衝突します。以下のパーティクル流体ネットワークを参照してください。

コンテナオブジェクトとサーフェスからパーティクル流体を簡単に作成する

Sculpted Particle Fluid toolで、コンテナを定義しているジオメトリ(例えば、鍋や河床)と流体のサーフェスを定義しているジオメトリに基づいて自動的にパーティクル流体を作成します。

形を変えた流体に波形を追加する

Waveformツール( Deform シェルフタブ)を使って、波形をSculpted Particle Fluidツールで作成したサーフェスに追加すると、Sculpted Particle Fluidツールが自動的に波形を認識して、流体に波形を伝搬します。

水面を選択して、ツールを適用します。ハンドルを使ってインタラクティブに波形の位置を変更することができます。このときハンドルツールがアクティブになっていることを忘れないでください。Yを押す度に、そのツールの色々なハンドルが切り替わるので、あなたが求める波形に調整してください。

流体の動きを指示する

パーティクル流体の指示を参照してください。

タンク形式のシミュレーションを繋目なくレンダリングする

FLIP SolverDistributed Pressure Solve を有効にします。これはタンク圧力を考慮し、スライスで遭遇する流体の消失と視覚的な繋目を回避します。

Note

これには、広いネットワークバンド幅を必要とし、川のようなシミュレーションの流れには不要です。

パーティクル流体ネットワーク

FLIP流体ツールは色々なネットワークでノードをセットアップします。

  • 流体をシミュレーションするためのFLIP流体オブジェクトとFLIPソルバ付きのDOP Network

    FLIP Object

    このノードはシミュレーションされる流体を意味します。液体の可視化、物理特性の変更のパラメータがあります。

    FLIP Solver

    これには流体シミュレーションの方法の技術的な詳細パラメータがあります。

    Volume Source

    Emit Particle FluidツールPopulate Containers のツールは、SOPsをセットアップして、ソースジオメトリをボリュームに変えます。このノードはSOPボリュームをインポートして、それをFLIPソルバの4番目(“sourcing”)の入力に接続します。

    詳細は、流体ソーシングを参照してください。

  • シミュレーションの結果の表示・レンダリング用にシーンレベルに新しいオブジェクトを作成します。1つのDOP Importノードがレンダリング用のフィールドすべてをインポートし、もう1つのDOP Importノードが表示用のフィールドをインポートします。

  • パーティクルノード(POP)を使って流体の挙動に影響を与えたいのであれば、POP SolverをFLIP Solverの2番目(“Particle velocity”)の入力に接続します。このノードをダブルクリックしてパーティクルネットワーク内にパーティクルノードを追加します。以下のPOPで流体を指示するを参照してください。

パーティクル流体の可視化

Visualization

流体パーティクルを スプライト (常にカメラに向かって正面を向く画像)、 (適切に光と陰が設定された実際の球)、 パーティクル (標準パーティクルのようにポイントとして表示します)として見ることができます。デフォルトは単純な球の表示です。

パーティクル流体解像度: Particle Separation(パーティクルの離隔距離)

より高解像度の流体を得るには流体オブジェクトの Particle Separation パラメータの値を小さくします。デフォルトの Particle Separation の値はプロトタイプの段階で計算結果が速くなるように、かなり高い値になっています。あなたが求めるエフェクトの見た目になるように、より高い品質にするなら値を小さくします。

Particle Separation はHoudiniのシーン単位で測定されます。この単位はHoudiniのダイナミクスの世界ではメートルに相当します。つまり、Particle separationの値が0.1なら10cmということです。シーンを作成しているときに、単位がメートルであることを意識していれば、より現実的な結果を得られるでしょう。

Tip

パーティクルの 質量 は、体積×密度で計算されます。つまり、 Particle Separation を変更(これは密度を制御します)すれば、個々のパーティクルの質量が変わります。

POPノードやDOPフォースを使って流体の挙動を変更するなら、フォースの Ignore Mass パラメータをオンにした方がよいでしょう。というのは、 Particle Separation (パーティクルの離隔距離)を変更しても見た目が変わらないからです。

Ignore Mass を使わないでフォースを使うには、作成時に明示的に各パーティクルの質量を1にするのが一番楽な方法です。

流体シミュレーションのスケールや雰囲気は Particle Separation (パーティクルの離隔距離)によって駆動します。単位は、物事を正しく計測することができ、エミッターと衝突ジオメトリは素晴らしいガイドであるメートルが使われています。 Particle Separation (パーティクルの離隔距離)とスケールをどちらも大きい値にしたエフェクトは、ミニチュアのように見えます(滝を例にすると、小さい滝では崖から水速く飛び出します。巨大な滝では水は直ぐに落ちてきません)。そのケースでは、 Particle Separation (パーティクルの離隔距離)を小さくして正しい挙動と詳細なレベルを取得する必要があります。

See also

流体

初心者向け

パーティクル流体(SOP)

粘度のある流体(SOP)

FLIP構成ツール(SOP)

最適化(SOP)

DOPワークフロー

パーティクル流体(DOP)

粘度のある流体(DOP)

オーシャン(DOP)

最適化

  • 流体の圧縮

  • 流体シミュレーションの分散

    Distributeシェルフツールは、HQueueを使用して複数マシンのファーム上で並列処理ができるように、オブジェクトのシミュレーションネットワークをセットアップします。