On this page

Pyroとは、Houdiniのボリューム流体シミュレーションパッケージのことです。 Pyro Solverは、炎、煙、爆発の動きを取得するために使用しますが、霧や雪崩などの他の流体のような現象をシミュレーションする際にも使用することができます。

Note

FLIPとは対照的に、Pyroは、流体を追跡するのにパーティクルを使用しません。 パーティクルは表面計算で非常に役立つので、Pyroは液体のシミュレーションにはあまり適していません。

Pyroノードネットワーク

Sparse Pyro FXシェルフのツール群を使用して、Pyroのサンプルのセットアップを配置することができます。 これらのツールは、あなたのシーンに合うようにさらに修正可能な即席のシミュレーションを作成するのに非常に役に立ちます。 これらのツールは、ジオメトリレベルの ソース設定 、シミュレーション用の DOPネットワーク 、シミュレーション結果をレンダリング可能オブジェクトに取り込む 出力オブジェクト を含んだPyroネットワークを作成します。

ソース設定

ソース設定は、シミュレーションへの注入量を制御する役割を担っています。 例えば、煙突から煙が昇るアニメーションを作成する際に、その煙突内に次々と煤煙(すす)と熱を追加して行きたいです。 これをするには、まず最初にSOPsを使ってこれらのソースボリュームを生成してから、それらのボリュームをシミュレーションにマージします。

ソースボリュームを作成するお勧めの方法は、Pointアトリビュートをラスター化することです。 この手法だと、簡単にソース量を検査して制御することができます。 さらには、パーティクルシミュレーションの結果を使って煙や炎を放出することができるので、当然ながら(爆弾の破片の軌跡といった)もっと複雑なソース設定にも対応することができます。

Pyro Source

ソースジオメトリを(temperaturedensityといった)アトリビュート付きのポイントに変換します。 これらのアトリビュートを制御することで、ソースから生成される炎/煙の特性を変更することができます。 例えば、"火の玉"のエフェクトを作成する場合、エフェクトの開始時点で非常に高い値のburnを生成してから、 すぐにその値を下げることで、連続的な炎ではなく単発の"爆破"を得ることができます。

このノードには、ソースジオメトリの表面上または内部のどちらにポイントをばら撒くのか、何のアトリビュートを作成するのか、既存のアトリビュートをどう扱うのかといったコントロールが備わっています。

Pyro Source Spread

ポイント上のfuel(燃料)の燃焼とheat(熱)の拡散をシミュレーションします。 このノードは、指定された領域での火炎の広がりを制御するのに特に役立ちます。

Attribute Noise

ポイント上のアトリビュート値にランダムさを加えることで、もっといい感じでリアルな煙と炎のエフェクトを作成します。

Volume Rasterize

DOPsに取り込めるようにするために、ポイントとPointアトリビュートからボリュームを生成します。

シミュレーション

Pyroダイナミクスネットワークに不可欠なビルディングブロックは、オブジェクト、ソース、ソルバです。 Smoke Object (Sparse)ノードは、必要なすべてのフィールドが入ったシミュレーションオブジェクトを作成します。 Volume Sourceノードは、ソースを取り込んで、そのソースを該当するシミュレーションフィールドにマージする役割を担っています。 最後に、Pyro Solver (Sparse)は、フォースを適用して、流体フィールドを進展させる役割を担っています。

オブジェクト、ソース、ソルバの色々なパラメータを使って色々な煙や炎のルックを表現する方法に関する情報は、Pyroワークフローを参照してください。

Smoke Object

煙/炎のオブジェクトの3D解像度、シミュレーション領域を制御します。 他にも、オブジェクトの内容を視覚化するための豊富なコントロールが備わっています。

Volume Source

このノードは、ソースネットワークで生成されたSOPボリュームを取り込んで、それをSmoke Objectのフィールドにマージします。 各ソースボリュームをターゲットシミュレーションフィールドに結合するためのマージ処理の方法がいくつか用意されています。

Pyro Solver

Houdiniには、グリッドベースの煙/炎シミュレーションをするソルバが2つ備わっています。 Smoke Solverは、基本的な流体シミュレーションエンジンを実装しています。 Smoke Solverは、基本的な煙エフェクトに対応していますが、炎をシミュレーションすることができません。 Pyro Solverは、Smoke Solverの上で構築されていて、炎や他のコントロールも追加されています。

Sparse Pyro FXシェルフタブ上のツール群で作成されるハイレベルなエフェクトは、Pyro Solverを使用しています。

Pyro Solverには、flameフィールドを進展させて出力するためのコントロール、Shreddingなどのこのソルバで適用されたフォースを視覚化するためのコントロールが豊富に用意されています。

Smoke Solver

炎を除いて煙だけを含んだ単純なエフェクト用ソルバ。

出力

出力ネットワークは、シミュレーション結果をSOPジオメトリに戻します。 この時点で、すぐに再生できるようにシミュレーションをディスクに保存して、シェーダ設定を調整することができます。

DOP I/O

エクスポートとレンダリングができるように(関連オブジェクトのフィールドで構成された)シミュレーション結果をSOPsに戻します。 このノードは、インポートしたジオメトリをすぐに再生できるようにディスクにキャッシュ化することもできます。 しかし、このノードから保存されたボリュームには視覚化情報が埋め込まれないことに注意してください。

Pyro Post-Process

取り込んだPyroフィールドの視覚化を制御し、ジオメトリがレンダリングできるように準備します。 このノードは煙に合ったマテリアルも作成するので、この結果のビューポートの表示はレンダリング結果に非常に近いです。

SOPsによるシミュレーション

Pyroシミュレーションは、完全に単一SOPネットワークで実行することもできるので、コンテキストやディレクトリ間を切り替える必要がありません。 SOPを使ったPyroシミュレーションは、Pyroダイナミクスネットワークの便利ラッパーであるPyro Solver SOPを使用することで可能です。 このノードは、シミュレーションオブジェクトとDOPソルバのパラメータを露出していて、さらにDive Targetが設定されているので、ノードの中に入って、手動でフォースを適用することもできます。 SOPバージョンのPyro Solverは、たいていのシミュレーション表現に十分な機能が備わっているはずです。 さらに、エクスポートされたジオメトリがレンダリング準備できていることを保証するためのビルトインのポストプロセスノードがあります。

Simple FXシェルフタブには、この手法を実証した単純なネットワークを作成するツールがいくつかあります: Simple Billowy SmokeSimple FireballSimple Spreading FireTabメニューからでも、これらのツールを見つけることができます。

SOPsによるPyroの制限事項

ソルバの中に入って、簡単に大元のDOPネットワークと直接何かを作用させることができますが、 ここ(Pyro Solverの Forces 入力)では、シミュレーションにフォースしか適用できません。 他のソルバ入力にアクセスしたり、オペレータグラフにもっとコントロールを追加したいのであれば、専用のDOPネットワークでシミュレーションを実行してください。

Pyro

Sparse(疎)Pyro

レガシーPyro