On this page |
Note
流体の指示を試行するのではなく、初期条件をセットアップするだけで、希望どおりのルックを作成することができれば、最高の結果が生まれます。 多くの場合、アニメーション中に試行するコントロールが多くなるほど、その結果は水のようには見えなくなります。
標準のDOPフォースの使い方 ¶
Drive Simulation シェルフタブのDOPフォース、例えば、Fanフォースはパーティクル流体に動作します。
DOPフォースを使うメリットは、すべての一貫性を維持しながら同じフォースを使って異なるタイプのシミュレーションオブジェクトすべてに影響を与えることができるところです。フォースを使った方が、パーティクルノードやフィールドDOPで直接Velocityを編集するよりも簡単です。
-
Field Forceは、SOPジオメトリからPoint Velocityをインポートして、それをシミュレーションオブジェクトの動きに適用します。これは、ポイントクラウド上のVelocity(
v
)アトリビュートを変えることで、パーティクル流体の動きを制御します。(Field ForceはSOPボリュームプリミティブも使うことができます。スカラーボリュームをインポートすれば、その階調をVelocityとして使います。ベクトルボリュームをインポートすれば、そのベクトルを使います。)
パーティクル流体シミュレーションで生成される Velocityフィールドを書き出して、それを読み返して、Field Forceやフォーススケールを利用している他のシミュレーションに適用して、最初のシミュレーションの影響を与えることもできます。
-
Magnet Forceを使って、シミュレーションオブジェクトをメタボールオブジェクトに引き寄せたり、引き離したりすることができます。使い方は、Magnet Forceのヘルプを参照してください。
-
フォースを追加する時はDragフォースを追加することで、それらのフォースが非現実的な速度まで上がらないようにすることをよくします。
パーティクルネットワークの使用 ¶
Note
POP Solverを使うとポイントがパーティクルシステムプリミティブにコピーされます。これは非常に大きなFLIPシミュレーションでは遅いです。大規模のパーティクルを効率的に処理するには、POPの代わりにSOPでパーティクルを指示できるようにVOP SOP/VEX SOPとSolver SOPを使います。
POP SolverノードをFLIP Solverノードの2番目(“Particle velocities”)の入力に接続します。これによってPOPノードが流体の挙動に影響を与えることができます。
POP Solverノードをダブルクリックしてパーティクルネットワークの中に入り、POPノードを追加すれば流体の挙動を変更することができます。
FLIP流体を使う時は、パーティクルを作成・削除したり、パーティクルの動きを変更するPOPを使うことができます。
POP Solverは投射収束ステップ前に実行します。つまり、POPを使って大量の発散(例えば、爆発)を追加することができません。
-
FLIP流体シミュレーションに使用する便利なパーティクルノードは、Curl Noiseです。Curl Noiseは発散のないノイズです。このタイプのノイズは、Gas Project Non-Divergence DOPを含んだFLIPソルバに使えば予想通りに動作します。
-
POPに引き寄せるフォースを作成する方法が少しあります。それらのフォースはFLIPシミュレーションではうまく動作します。
例えば、カーブを作成して、Point SOPを使ってフォースアトリビュートをそのカーブに追加することができます。そして、カーブにAttractor POPを使えば、アトラクターカーブとして、そのカーブに沿って流体パーティクルを引き寄せることができます。アトラクターカーブをアニメーションさせると、とても面白いエフェクトを作成することができます。
-
高度な設定:FLIP流体のために、POP Solverで生成されたVelocityとGas Projectionステップで生成されたVelocity間のバイアスを制御することができます。
FLIP Solverの Particle Motion タブで Force Override をオンにします。それから、POP Solverネットワークで、パーティクルに
ballistic
アトリビュートを設定することができます。これは、パーティクルネットワークで作成されるフォースのスケールです。このスケールの範囲は0
(フルFLIP)から1
(パーティクルネットワークフォースのみ)までです。(パーティクル上の
ballistic
を1
に設定すると、DOPフォースはパーティクルに 何のエフェクトも与えません 。その理由は、パーティクルネットワークにのみ駆動されるからです。) -
高度な設定:FLIP Solverの Volume Motion ▸ Divergence サブタブの Divergence by Attribute をオンにすると、パーティクルネットワークに
divergence
アトリビュートを使って発散値を設定することができます。
Velocityフィールドの編集 ¶
Note
DOPでVelocityフィールドを編集しないで、標準のDOPフォースを使って、あなたが欲しいエフェクトを取得することができるのかどうか考えるべきです。もし可能ならば作業が簡単になりシミュレーションオブジェクトすべてに適用できます。特にField Forceは、ソルバのフィールドを直接編集することで複雑になってしまう問題を避けて、低レベルのコントロールが色々できます。
ボリュームを修正するDOPをFLIPソルバの3番目(“Volume velocities”)の入力に接続して、各ステップ毎にVelocityフィールドでソルバを実行することができます。例えば、Gas Vortex Confinement DOPを接続すると流体はより渦を巻きます。
Note
ネットワーク内で他のDOPからオブジェクトのVelocityフィールドを変更しても、Velocityに影響を与えることはできません。なぜなら、ソルバはタイムステップ毎にフィールドを再作成しているからです。DOPを動作させるには、それをソルバのボリューム入力に接続しなけばなりません。
Gas Calculate DOPは、他のフィールドをvel
(Velocity)フィールドに構成するのに便利です。
FLIP Solverはタイムステップ毎にVelocityフィールドを作成します。また、サーフェス符号付き距離フィールドも同様です。ソルバをセットアップすると圧力と発散フィールドを作成することもできます。これらのフィールドを使って、値を変更すれば、それがvel
フィールドに計算されます。