On this page |
Pyroとは、Houdiniのボリューム流体シミュレーションパッケージのことです。 Pyro Solverは、炎、煙、爆発の動きを取得するために使用しますが、霧や雪崩などの他の流体のような現象をシミュレーションする際にも使用することができます。
Note
FLIPとは対照的に、Pyroは、流体を追跡するのにパーティクルを使用しません。 パーティクルは表面計算で非常に役立つので、Pyroは液体のシミュレーションにはあまり適していません。
Pyroノードネットワーク
Sparse Pyro FXシェルフのツール群を使用して、Pyroのサンプルのセットアップを配置することができます。 これらのツールは、あなたのシーンに合うようにさらに修正可能な即席のシミュレーションを作成するのに非常に役に立ちます。 これらのツールは、ジオメトリレベルの ソース設定 、シミュレーション用の DOPネットワーク 、シミュレーション結果をレンダリング可能オブジェクトに取り込む 出力オブジェクト を含んだPyroネットワークを作成します。
ソース設定
ソース設定は、シミュレーションへの注入量を制御する役割を担っています。 例えば、煙突から煙が昇るアニメーションを作成する際に、その煙突内に次々と煤煙(すす)と熱を追加して行きたいです。 これをするには、まず最初にSOPsを使ってこれらのソースボリュームを生成してから、それらのボリュームをシミュレーションにマージします。
ソースボリュームを作成するお勧めの方法は、Pointアトリビュートをラスター化することです。 この手法だと、簡単にソース量を検査して制御することができます。 さらには、パーティクルシミュレーションの結果を使って煙や炎を放出することができるので、当然ながら(爆弾の破片の軌跡といった)もっと複雑なソース設定にも対応することができます。
|
ソースジオメトリを( このノードには、ソースジオメトリの表面上または内部のどちらにポイントをばら撒くのか、何のアトリビュートを作成するのか、既存のアトリビュートをどう扱うのかといったコントロールが備わっています。 |
|
|
ポイント上の |
|
|
ポイント上のアトリビュート値にランダムさを加えることで、もっといい感じでリアルな煙と炎のエフェクトを作成します。 |
|
|
DOPsに取り込めるようにするために、ポイントとPointアトリビュートからボリュームを生成します。 |
シミュレーション
Pyroダイナミクスネットワークに不可欠なビルディングブロックは、オブジェクト、ソース、ソルバです。
Smoke Object (Sparse)ノードは、必要なすべてのフィールドが入ったシミュレーションオブジェクトを作成します。
Volume Sourceノードは、ソースを取り込んで、そのソースを該当するシミュレーションフィールドにマージする役割を担っています。
最後に、Pyro Solver (Sparse)は、フォースを適用して、流体フィールドを進展させる役割を担っています。
オブジェクト、ソース、ソルバの色々なパラメータを使って色々な煙や炎のルックを表現する方法に関する情報は、Pyroワークフローを参照してください。
|
煙/炎のオブジェクトの3D解像度、シミュレーション領域を制御します。 他にも、オブジェクトの内容を視覚化するための豊富なコントロールが備わっています。 |
|
|
このノードは、ソースネットワークで生成されたSOPボリュームを取り込んで、それをSmoke Objectのフィールドにマージします。 各ソースボリュームをターゲットシミュレーションフィールドに結合するためのマージ処理の方法がいくつか用意されています。 |
|
|
Houdiniには、グリッドベースの煙/炎シミュレーションをするソルバが2つ備わっています。
Sparse Pyro FXシェルフタブ上のツール群で作成されるハイレベルなエフェクトは、Pyro Solverを使用しています。 Pyro Solverには、 |
|
|
炎を除いて煙だけを含んだ単純なエフェクト用ソルバ。 |
出力
出力ネットワークは、シミュレーション結果をSOPジオメトリに戻します。 この時点で、すぐに再生できるようにシミュレーションをディスクに保存して、シェーダ設定を調整することができます。
|
エクスポートとレンダリングができるように(関連オブジェクトのフィールドで構成された)シミュレーション結果をSOPsに戻します。 このノードは、インポートしたジオメトリをすぐに再生できるようにディスクにキャッシュ化することもできます。 しかし、このノードから保存されたボリュームには視覚化情報が埋め込まれないことに注意してください。 |
|
|
取り込んだPyroフィールドの視覚化を制御し、ジオメトリがレンダリングできるように準備します。 このノードは煙に合ったマテリアルも作成するので、この結果のビューポートの表示はレンダリング結果に非常に近いです。 |
SOPsによるシミュレーション
Pyroシミュレーションは、完全に単一SOPネットワークで実行することもできるので、コンテキストやディレクトリ間を切り替える必要がありません。
SOPを使ったPyroシミュレーションは、Pyroダイナミクスネットワークの便利ラッパーであるPyro Solver SOPを使用することで可能です。
このノードは、シミュレーションオブジェクトとDOPソルバのパラメータを露出していて、さらにDive Targetが設定されているので、ノードの中に入って、手動でフォースを適用することもできます。
SOPバージョンのPyro Solverは、たいていのシミュレーション表現に十分な機能が備わっているはずです。
さらに、エクスポートされたジオメトリがレンダリング準備できていることを保証するためのビルトインの
ポストプロセスノードがあります。
Simple FXシェルフタブには、この手法を実証した単純なネットワークを作成するツールがいくつかあります: Simple Billowy Smoke、
Simple Fireball、
Simple Spreading Fire。
Tabメニューからでも、これらのツールを見つけることができます。
SOPsによるPyroの制限事項
ソルバの中に入って、簡単に大元のDOPネットワークと直接何かを作用させることができますが、 ここ(Pyro Solverの Forces 入力)では、シミュレーションにフォースしか適用できません。 他のソルバ入力にアクセスしたり、オペレータグラフにもっとコントロールを追加したいのであれば、専用のDOPネットワークでシミュレーションを実行してください。