Houdini 20.0 パーティクル

渦巻くフィラメント周りにパーティクルを舞い散らす

ポリラインで表現した“フィラメント”の動きに基づいてパーティクルを舞い散らします。

On this page

概要

Vortexフィラメントは、パーティクルを使って流体をシミュレーションします。これは、グリッド上に記録されたVelocityではなく、Vortexの中心軸を意味するポリゴンカーブを使って内部のVelocityをモデル化します。Vortexフィラメントは、流体の動きを制御するので、流体の挙動に影響を与えずにパーティクル数を増やすことができます。

フィラメントワークフローを使えば、タバコの煙のような複雑な流体の動きの見た目を作成することができます。フィラメントパーティクルシミュレーションは、必ずしも写実的になるとは限りませんが、フル高解像度の流体シミュレーションよりも高速で、よりアーティスティックな制御で特別なエフェクトを作成することが可能です。

フィラメント とは、Vortex(渦巻き)フォースを意味する閉じたポリライン(ポリゴンカーブ)のことです。一般的なフィラメントのセットアップは、以下のように作業します:

  1. ジオメトリネットワークを作成して、フィラメントジオメトリを作成します。

  2. Source Filamentsノードを使って、フィラメントジオメトリをシミュレーションネットワークに取り込みます。

  3. Filament Solverノードは、フィラメントのポイントを空間内で流れるようにします。

  4. Filament Solverがフィラメントを動かすと同時に、POP Advect by FilamentsノードがVortexフォースを周辺のパーティクルに適用して、それらのパーティクルをフィラメント周辺で舞い散らします。

Tip

ポリラインとパーティクルがベースになっているので、別のフィラメントジオメトリ、フィラメントサイズ、フィラメントVelocityアトリビュート、別のパーティクル処理によって色々なエフェクトを実験することもできます。これは、例えば、魔法やエイリアンデバイスのような見た目を作成するのに役に立ちます。

Vortexフィラメント(うず糸)の使い方

Vortex Filamentsシェルフツールは、Source Filaments DOP, POP Advect by Filaments DOP, Filament Solver DOPノードを使ってフィラメントリグを作成します。

  1. obj レベルで、⇥ Tabを押してTABメニューを呼び出して、Circle SOPを作成します。カーブを描画しても構いませんが、閉じたポリラインを作成するようにしてください。これらの“フィラメント”カーブが、シミュレーションのVoxelの中心軸となります。Circle SOPをダブルクリックして、その中に入ります。

  2. circle1ノードを選択して、 Divisions25に上げてセグメント数を増やします。

  3. Orientation ドロップダウンから ZX Plane を選択します。

  4. カーブの Primitive Type を“Polygon”に変更してください。

  5. Mountain SOPを追加し、それを上流のcircle1ノードに接続します。

  6. Noise Value セクションの Amplitude パラメータを0.5に設定して、カーブを粗くします。

  7. Animation セクションの Animate Noise トグルを有効にして、カーブのポイントをアニメーションさせます。

  8. ポリゴンのおもて面を上側に向けて煙を昇らせるようにしたいので、Reverse SOPを追加して、その入力をMountain SOPの出力に接続します。

このポリゴンがパーティクルソースとして使用され、Vortex(渦巻き)リングが生成されるようにパーティクルが形作られるようになります。

  1. obj レベルに戻り、circle1Geometryノードを選択します。

  2. Particles シェルフタブを開き、 Source Particle Emitterシェルフツールを使用してパーティクルシステムを作成します。

  3. このシェルフツールは、Dop Network Objectを作成して、その中に入ります。ポリゴン上にパーティクルが生成されることが確認できます。

  4. 再び obj レベルに戻ります。circle1を選択した状態で、 Particles シェルフタブのVortex Filamentsシェルフツールをクリックします。

  5. このシェルフツールは、別のネットワークに入ります。ネットワークエディタのパスガジェットの最後にある履歴ドロップダウンメニューを使用すると、すぐにAutoDopNetworkに入ることができます。

現在のセットアップは、1本の煙柱が生成されるものの、以降のパーティクルは円周辺に集まります。今回のゴールは、繰り返す煙の吹き出しを生成することです。

  1. sourcefilaments_circle1ノードを選択します。

  2. Activation パラメータをクリックします。メニューから Delete Channels を選択します。

  3. そして、$F % 20 == 1と入力します。このエクスプレッションは、いわゆる、剰余関数です。現行フレームを20で割った余りが1の時、新しくパーティクルが注入されます。

  4. gravity1ノードの Bypass フラグをオンにしてそのフラグを黄色にすると、そのノードが非アクティブになります。

最後に、プレイバー上のアイコンをクリックして、シミュレーションを開始します。 パーティクルが上昇するだけでなく、変形したフィラメントによって渦が形作られる様子も確認することができます。

Tip

Advect by Filamentsのサンプルでは、フィラメントジオメトリネットワークをセットアップして、ダイナミクスノードによって煙の乱気流を作成する方法を説明しています。 このサンプルファイルのセットアップは、このワークフローのガイドと若干異なることに注意してください。

重要なパラメータ

Source Filaments DOPノードの Scale StrengthScale Thickness を使えば、各フィラメントのエフェクトを調整することができます。

上級

  • フィラメントカーブのポイントのVelocity(v)アトリビュートは、ポイントの動きに影響を与えます。

  • フィラメントシミュレーションをディスクに別のパスとしてキャッシュ化して、それをディスクから読むことができます。

See also

パーティクル

はじめよう

挙動

次のステップ

リファレンス