On this page |
概要 ¶
Vortexフィラメントは、パーティクルを使って流体をシミュレーションします。これは、グリッド上に記録されたVelocityではなく、Vortexの中心軸を意味するポリゴンカーブを使って内部のVelocityをモデル化します。Vortexフィラメントは、流体の動きを制御するので、流体の挙動に影響を与えずにパーティクル数を増やすことができます。
フィラメントワークフローを使えば、タバコの煙のような複雑な流体の動きの見た目を作成することができます。フィラメントパーティクルシミュレーションは、必ずしも写実的になるとは限りませんが、フル高解像度の流体シミュレーションよりも高速で、よりアーティスティックな制御で特別なエフェクトを作成することが可能です。
フィラメント とは、Vortex(渦巻き)フォースを意味する閉じたポリライン(ポリゴンカーブ)のことです。一般的なフィラメントのセットアップは、以下のように作業します:
-
ジオメトリネットワークを作成して、フィラメントジオメトリを作成します。
-
Source Filamentsノードを使って、フィラメントジオメトリをシミュレーションネットワークに取り込みます。
-
Filament Solverノードは、フィラメントのポイントを空間内で流れるようにします。
-
Filament Solverがフィラメントを動かすと同時に、POP Advect by FilamentsノードがVortexフォースを周辺のパーティクルに適用して、それらのパーティクルをフィラメント周辺で舞い散らします。
Tip
ポリラインとパーティクルがベースになっているので、別のフィラメントジオメトリ、フィラメントサイズ、フィラメントVelocityアトリビュート、別のパーティクル処理によって色々なエフェクトを実験することもできます。これは、例えば、魔法やエイリアンデバイスのような見た目を作成するのに役に立ちます。
Vortexフィラメント(うず糸)の使い方 ¶
Vortex Filamentsシェルフツールは、Source Filaments DOP, POP Advect by Filaments DOP, Filament Solver DOPノードを使ってフィラメントリグを作成します。
-
obj レベルで、⇥ Tabを押してTABメニューを呼び出して、Circle SOPを作成します。カーブを描画しても構いませんが、閉じたポリラインを作成するようにしてください。これらの“フィラメント”カーブが、シミュレーションのVoxelの中心軸となります。Circle SOPをダブルクリックして、その中に入ります。
-
circle1
ノードを選択して、 Divisions を25
に上げてセグメント数を増やします。 -
Orientation ドロップダウンから ZX Plane を選択します。
-
カーブの Primitive Type を“Polygon”に変更してください。
-
Mountain SOPを追加し、それを上流の
circle1
ノードに接続します。 -
Noise Value セクションの Amplitude パラメータを
0.5
に設定して、カーブを粗くします。 -
Animation セクションの Animate Noise トグルを有効にして、カーブのポイントをアニメーションさせます。
-
ポリゴンのおもて面を上側に向けて煙を昇らせるようにしたいので、Reverse SOPを追加して、その入力をMountain SOPの出力に接続します。
このポリゴンがパーティクルソースとして使用され、Vortex(渦巻き)リングが生成されるようにパーティクルが形作られるようになります。
-
obj レベルに戻り、
circle1
Geometryノードを選択します。 -
Particles シェルフタブを開き、 Source Particle Emitterシェルフツールを使用してパーティクルシステムを作成します。
-
このシェルフツールは、Dop Network Objectを作成して、その中に入ります。ポリゴン上にパーティクルが生成されることが確認できます。
-
再び obj レベルに戻ります。
circle1
を選択した状態で、 Particles シェルフタブのVortex Filamentsシェルフツールをクリックします。 -
このシェルフツールは、別のネットワークに入ります。ネットワークエディタのパスガジェットの最後にある履歴ドロップダウンメニューを使用すると、すぐに
AutoDopNetwork
に入ることができます。
現在のセットアップは、1本の煙柱が生成されるものの、以降のパーティクルは円周辺に集まります。今回のゴールは、繰り返す煙の吹き出しを生成することです。
-
sourcefilaments_circle1
ノードを選択します。 -
Activation パラメータをクリックします。メニューから Delete Channels を選択します。
-
そして、
$F % 20 == 1
と入力します。このエクスプレッションは、いわゆる、剰余関数です。現行フレームを20
で割った余りが1
の時、新しくパーティクルが注入されます。 -
gravity1
ノードの Bypass フラグをオンにしてそのフラグを黄色にすると、そのノードが非アクティブになります。
最後に、プレイバー上のアイコンをクリックして、シミュレーションを開始します。 パーティクルが上昇するだけでなく、変形したフィラメントによって渦が形作られる様子も確認することができます。
Tip
Advect by Filamentsのサンプルでは、フィラメントジオメトリネットワークをセットアップして、ダイナミクスノードによって煙の乱気流を作成する方法を説明しています。 このサンプルファイルのセットアップは、このワークフローのガイドと若干異なることに注意してください。
重要なパラメータ ¶
Source Filaments DOPノードの Scale Strength と Scale Thickness を使えば、各フィラメントのエフェクトを調整することができます。
上級 ¶
-
フィラメントカーブのポイントのVelocity(
v
)アトリビュートは、ポイントの動きに影響を与えます。 -
フィラメントシミュレーションをディスクに別のパスとしてキャッシュ化して、それをディスクから読むことができます。
See also |