Houdini 19.0 Pyro

Pyro Burst Source: 火の玉の作り方

On this page

このチュートリアルは、レッスンシリーズの3個中の3つ目です。ここを進む前に、前のページを訪れてください:

  1. 煙の作り方

  2. 燃えるタイヤのシミュレーション

  3. Pyro Burst Source: 火の玉の作り方

煙と炎は、オブジェクトから変換されたシードポイントだけでなく、実際には、どのポイントもパーティクルソースからも生成することができます。 このおかげで、布の燃焼、ガソリンの着火、印象的な爆発、煙を放出する木片、穀物からの粉塵などなど、面白いエフェクトを表現することができます。

Houdiniには、事前に構成された様々なソース系ノード(例えば、Pyro Burst Source SOP)が既に用意されています。 VellumシミュレーションまたはRBDシミュレーションからPyroのソースを用意したり、Pyro FXシェルフツールを使用することもできます。

Pyro Burst Source

Pyro Burst Sourceは、どんな種類の爆発エフェクトも作成できるように修正されたPyro Source SOPノードです。 ここでの目標は、ガソリンを火に注いだ時に見受けられるようなものと同様の火の玉を作成することです。

  • OBJ レベルで、Geometryノードを作成して、その中に入り、Pyro Burst Source SOPを追加します。ビューポートには、シードポイントで表現された爆発が表示されます。

Burst Shape タブから始めて、その爆発を調整します:

  1. より多くの解像度を得るために、 Trailing ▸ Trailing Separation0.05に変更します。

  2. Trailing Length2に設定します。

Burst Animation タブで時間系のパラメータを定義します:

  1. Start Frame10に設定します。

  2. 爆発の期間が長くなるように Frame Duration11まで上げます。

Burst Components ▸ Number of Sources を見ると、燃えるタイヤの作成のレッスンで既に見覚えのあるアトリビュートフィールドがあります: densitytemperatureburn

これらのアトリビュートをラスター化する必要があります:

  1. Volume Rasterize Attributes SOPを追加して、その入力をPyro Burst Source SOPの出力に接続します。

  2. Attributes パラメータにdensity temperature burnと入力します。

  3. Filter ▸ Voxel Size0.05に設定します。これは、Pyro Burst Source SOPの Trailing Separation 値と同じです。

  4. Volume Rasterize Attributes SOPの Display フラグを有効にして、ポイントをクラウド構造に変換します。

Pyro Solver

Pyro Solver SOPは、シミュレーションを実行します。

  1. Pyro Solver SOPを追加して、その1番目の入力をVolume Rasterize Attributes SOPの出力に接続します。

  2. Setup ▸ Voxel Size0.05に設定します。

  3. Fields ▸ Dissipation(消散)0.04まで下げます。

Shape タブに切り替えます:

  1. Buoyancy(浮力)0.7に変更します。

  2. Disturbance(擾乱) を有効にして、20と入力します。

  3. Turbulence(乱流) を有効にして、0.3と入力します。

  4. Shredding(細断) を有効にして、0.2と入力します。

Play をクリックしてシーンをシミュレーションします。 関連アトリビュートすべてがアクティブになっているものの、そこには炎も炎から煙への遷移もありません。 Dissipation レートが低いのとVelocityが見つからないことが原因で、煙雲の形状は35~40フレーム後にそれ以上ほとんど変化しません。

フィールドの初期化

燃えるタイヤのシーンとの違いは、Pyro Burst Source SOPのポイントからVelocityが出されていないことです。これを手動で行なう必要があります:

  1. Volume Rasterize Attributes SOPの Attributes のリストにvを追加します。

  2. 炎が得られるように、 Coverage Attribute パラメータに進みます。そのリストからdensity除外 します。これですべてのフィールドが初期化され、煙雲に足りていなかった炎の外観が表示されます。

以下の動画では、その結果を示しています。今では爆破が起こり、炎は煙に変わるようになりましたが、その爆発は非常に短くて小さく、炎はすぐに消えます。

爆発のサイズと形状を制御する

Pyro Burst Source SOPには、ポイント用の入力が備わっています。 Pyro Source SOPと同様に、その入力にオブジェクトを接続することで、煙の形を決めることができます。 Pyro Burst Source SOPは繋がったジオメトリのすべてのポイントからソースポイントを生成するので、ソリッドオブジェクトや高解像度オブジェクトを接続する時は注意してください。 そのため、膨大な数の煙シードが発生する可能性があります。

  1. Circle SOPを追加し、その出力をPyro Burst Source SOPの入力に接続します。

  2. Orientation ドロップダウンメニューからZX Planeを選択します。

  3. Uniform Scale1.5まで上げます。

  4. 密度の濃いポイントクラウドを得るために、 Divisions20に設定します。

これで火の玉の外観が良くなりましたが、典型的な渦巻く挙動が見受けられません。 シミュレーションに“Swirl(渦巻き)”を追加するために、Volume Rasterize Attributes SOPとPyro Solver SOPの間にVolume Velocity SOPを挿入します:

  1. Curl Noise タブを開きます。

  2. Add Curl Noise を有効にします。

  3. Scale1.5に変更します。

火と炎を強化する

燃える炎のシミュレーションチュートリアルでは、Attribute Noise SOPのおかげでランダムさを追加することができました。ここでは、そのAttribute Noise SOPを追加して、burnアトリビュート値をランダムにして多くの火を生成します。

このノードを使用すると、火の玉は長く続いた後に煙に変わります。 クリップの最後のほうで白熱する構造にも注目してください。この構造は、消えるガス状の残留物の燃焼を表現しています。

以下の動画では、 Particle Trailing パラメータと Voxel Size パラメータをどれも0.03に設定しています。煙のカラーと炎の強さも少し調整してディテールを上げています:

Pyro

Sparse(疎)Pyro

レガシーPyro