On this page

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

Note

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

シェルフツールを使ってPyroをはじめよう

Simple FXシェルフのツールは、Pyro Solver SOPを使用したPyroシミュレーションネットワークを生成します。 このPyro Solver SOPは、PyroダイナミクスビルディングブロックをSOPレベルでラップしたものです。 これらのツールを使えば、高速で使いやすいユーザ操作ができて、手動でダイナミクスネットワークを構築する手間を回避することができます。

代わりにPyro FXシェルフのツールを使用すると、サンプルのDOP Pyroセットアップを配置することができます。 これらのツールは、ジオメトリレベルに ソース設定 のネットワーク、シミュレーション用の DOPネットワーク 、そのシミュレーション結果をレンダリング可能オブジェクトリに取り込む 出力オブジェクト を含んだPyroネットワークを生成します。

Tip

Simple FXシェルフのツールは、通常では他のツールよりもシンプルで使いやすく、別にダイナミクスネットワークを必要としないので、はじめるのにうってつけです。

これらのシェルフのツールはどれも即席でシミュレーションを作成するのに非常に便利で、それをさらに修正してシーンと融合させることができます。

関連するPyroノード

ソース設定

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

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

Pyro Source

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

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

Pyro Source Spread

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

Pyro Burst Source

爆発の核心部となるソース用のポイントを作成し、爆発のルックの形を定義することができます。

Pyro Muzzle Flash

銃口から発砲されるマズルフラッシュ用のポイントを作成し、マズルフラッシュのルックの形を定義することができます。

Pyro Shockwave

爆発の核心部から発生する衝撃波のソース用のポイントを作成し、衝撃波の広がりの形を定義することができます。

Pyro Scatter from Burst

軌道、火花、様々なパーティクルシミュレーション、爆発から飛び出すリジッドボディのデブリの生成に使用可能なポイントを爆発の核心部に作成します。

Pyro Trail Path

Pyro Trail Sourceノードの軌跡として使用するカーブを生成します。 このノードは、そのカーブの形状を制御することもできます。

Pyro Trail Source

Pyro Trail Pathの出力を使用して、カーブに沿って移動するポイントソースを生成します。

Pyro Source Pack

入力ボリュームからパックソースセットを作成します。 複数のパックソースセットをソースライブラリにまとめることができます。 そのソースライブラリから個々のエレメントをPyroシミュレーションでインスタンス化することができます。

Pyro Spawn Sources

パックソースセットを使用して、Pyroシミュレーションのソーシング用のSpawn Points(生成ポイント)を作成します。 Spawn Points(生成ポイント)を使用することで、ソースライブラリからエレメントをインスタンス化すると同時にその配置とタイミングを正確に制御することができます。

Pyro Source Instance

Spawn Points(生成ポイント)からソースインスタンスポイントを作成します。 Pyro Solver SOPは、これらのインスタンスポイントを摂取し、パックソースセットを使用して目的のソーシングを実行します。

Debris Source

RBD Bullet Solverの出力を使用して、粉砕されたピースが直近で離れた領域の付近にポイントソースを生成します。 これは、ビルの破壊のように粉砕されたRBDピースから煙を放出するのに役立ちます。

Attribute Noise

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

Volume Rasterize Attributes

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

DOPシミュレーション

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

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

Smoke Object

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

Volume Source

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

Volume Instance Source

Volume Sourceと同様で、このノードは、ソーシング用にボリュームをシミュレーションフィールドにマージします。 ただし、Volume Instance Sourceはパックソースセットとインスタンスポイントを使用して動作します。

Pyro Solver

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

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

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

Smoke Solver

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

DOP Import Fields

エクスポートとレンダリングができるように(関連オブジェクトのフィールドで構成された)シミュレーション結果をSOPsに戻します。 このノードから取り込まれたボリュームには視覚化情報が埋め込まれないことに注意してください。 しかし、Pyro Bake Volume SOPを使用することで、視覚化データを作成して調整することができます。

SOPシミュレーション

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

Pyro Solver

高速で使いやすいユーザ操作ができるようにPyroダイナミクスビルディングブロックをSOPレベルでラップしたもので、 手動でダイナミクスネットワークを構築する手間を回避することができます。

Simple FXシェルフツール

Simple FXシェルフシェルフ上には、この手法を実証した単純なネットワークを作成するツールがいくつか用意されています。 Tabメニューからでも、これらのツールを見つけることができます。

Simple Muzzle Flash

射撃中のピストルの銃口から放たれる閃光を生成します。

Simple Billowy Smoke

球体から上昇する濃い雲のような煙を生成します。

Simple GPU Ground Explosion

GPU上で完全にシミュレーション可能な爆発を生成します。

Simple GPU Torch

GPU上で完全にシミュレーション可能な松明を生成します。

Simple Fireball

大きく上昇して広がる爆発を生成します。

Simple Aerial Explosion

空中爆発を生成します。

Simple Ground Explosion

大規模な地面爆発を生成します。

Simple Shockwave

地面の衝撃波を伴って大規模に上昇して広がる爆発を生成します。

Simple Bonfire

Sparse Pyro Solverを使用して焚き火シミュレーションを生成します。

Simple Spreading Fire

選択したオブジェクトの表面上に広がる炎のシミュレーションを生成します。

ポストプロセス

シミュレーションしたボリュームを処理してディスク容量を節約することは重要です。 シミュレーションをディスクに保存すれば、File Cacheを使用してそのシミュレーションを高速に再生することができますが、 ディスク容量を節約したいとなると、Pyro Post-Processノードを使用することで、そのファイルサイズを最適化することができます。 別の方法としては、Pyro Solver SOPQuick Setups ドロップダウンメニュー内の Optimize Exports メニューオプションでディスクサイズを90%削減することができます。

Pyro Post-Process

ディスクに保存できるようにボリュームジオメトリを用意して処理し、シミュレーションされたキャッシュのファイルサイズを大幅に削減することができます。

レンダリング

最後の手順は、ビューポートとレンダリングの両方で可能な限り最良のルックを得ることです。

Tip

可能な限り最良のルックを得るには、Houdiniのデフォルトのカラー表示を変更する必要があります。 デフォルトでは、ビューポートはガンマ2.2を使用しますが、これはPyroシミュレーションの表示やレンダリングには適切ではありません。 より正確なカラー表示を使用したいのであれば、シェーディングとレンダリングページのAcademy Color Encoding System (ACES)のセットアップ方法を参照してください。

目的のカラー表示に変更するには、 Open display options ボタンを右クリックして、 Color Correction チェックボックスを有効にしてください。これによって、ビューポートの下部に Color Correction バーが表示されます。

Volume Visualization

ボリュームのビジュアライゼーションを変更する基本的なビルディングブロックノード。 Pyroシミュレーションの出力を扱う場合、シミュレーションのルックを調整するための完全なコントロールセットがPyro Bake Volumeノードに用意されています。

Pyro Bake Volume

取り込んだPyroフィールドまたは入力ボリュームのビジュアライゼーションを制御することで、レンダリング用のボリュームジオメトリを用意します。 このノードはボリュームに合ったマテリアルも作成するので、この結果のビューポートのビジュアライゼーションはレンダリング結果に非常に近い近似表示になります。 Scatter を有効にすると、Pyro Shaderで使用されているscatterボリュームがベイクされて、爆発内部の散乱のルックが近似表示されます。

Pyro Shader

プロダクション品質の煙、炎、爆発を生成するためにレンダーエンジンで使用されるシェーダ。

Pyro

Sparse(疎)Pyro

Pyroインスタンス

レガシーPyro