On this page | |
Since | 19.5 |
このノードは、2Dジオメトリ、3Dジオメトリ、ボリュームをSOPベースのFLIP流体用のコリジョンオブジェクトとして使用することができます。 オブジェクトをコリジョンオブジェクトに変換するには、そのオブジェクトをこのノードの4番目の入力に接続します。 接続されたジオメトリはボリュームに変換され、このFLIP Collideノードの Display/Render フラグを有効にすると、ビューポート内でそのボリュームを確認することができます。
コリジョンボリュームの解像度を変更する唯一の方法は、FLIP Container SOPノードの Particle Separation を変更することです。
値が小さいほどボリュームの解像度が良くなりますが、流体パーティクルの数、ボクセルの数、シミュレーション時間も増えます。
Grid Scale を下げることもできますが、ボクセルの数が劇的に増えてしまうので注意してください。
シーン全体のサイズと複雑さに依りますが、妥当な Grid Scale 値の範囲は、1.2
から2
です。
全般的に流体シミュレーション(特にFLIP)では、移動するコリジョンオブジェクトの正確なVelocityも非常に重要です。 正しくないコリジョンVelocityは、動的な飛沫が少なくなったり、ジオメトリから流体が漏れてしまいます。
Merge SOPを介したり、複数のFLIP Collideノードをチェーン接続することで、複数のオブジェクトを結合することができます。 このFLIP Collide SOPには、 Volume Collide モードと Surface Collide モードが用意されていて、グリッドや平面などの2Dジオメトリだけでなく、開いた3Dオブジェクトと閉じた3Dオブジェクトのどちらも制御することができます。
Note
オブジェクトを正しく相互作用させるには、FLIP Solver SOPノードの Collision Settings を調整する必要があります。 そこには、適切なモードが用意された Collision Detection ドロップダウンメニューがあります。
コリジョンオブジェクトは移動させたり変形させることができ、デフォルトでは、そのオブジェクトのVelocityを加味して正確な飛沫を生成することができます。 必要に応じて Compute Velocity を無効にすることができます。 飛沫を強く、乱流を大きくしたいのであれば、 Velocity Scale を上げてください。
Note
詳細は、FLIP流体の衝突を参照してください。
パラメータ ¶
Activation
コリジョンジオメトリをアクティブにしてシミュレーションに寄与させるタイミングのフレームを入力します。 このパラメータをアニメーションさせることで、コリジョンジオメトリを必要に応じてアクティブ/非アクティブにすることができます。
Compute Velocity
有効にすると、移動/変形オブジェクトからVelocityが計算され、そこに Velocity Scale が乗算されます。
Velocity Substeps
Velocityを計算する時に、変形を検出するために複数フレームにわたってコリジョンジオメトリが評価されます。 コリジョンジオメトリが高速に移動している場合、1フレーム内で大幅に変化する可能性があるので、もっと細かいサンプルが必要になります。 通常では、これをFLIP Solverの Global Substeps に合わせてください。
Velocity Scale
移動/変形オブジェクトのVelocityをスケールさせて、もっと強い(>1
)またはもっと弱い(<1
)飛沫を生成します。
Volume Collide
閉じた3Dオブジェクトやボリュームには、このモードを有効にします。 Volume Collide は、入力ジオメトリからボリュームを生成します。 このボリュームの品質と解像度は、FLIP Container SOPノードの Particle Separation で制御します。 低解像度のシミュレーションでは、同じジオメトリに Volume Collide と Surface Collide の両方を使用(デフォルト)すると役に立つことが多いです。 この Volume Collide は、主体の流体に対処でき、 Surface Collide はパーティクルの漏れを防ぎます。 ボリュームをコリダーとして使用した場合、 Surface Collide は利用不可になります。 Volume Collide のみが流体柱に対応することができます。 流体自体が崩壊する場合、ボリュームコリジョンがソルバで認識されないほど厚みがない可能性があります。
ソリッドオブジェクトが開いた3Dジオメトリまたは2Dジオメトリとマージされている場合、 Surface Collide も有効にする必要があります。 この場合、FLIP Solverノードの Collision タブに進み、 Particle Collisions メニューから Particle を選択してください。
Surface Collide
2Dオブジェクトや開いた3Dオブジェクトには、このモードを有効にします。 Surface Collide は、入力オブジェクトのメッシュを1:1で表現します。 コリジョンを正しく動作させるには、FLIP Solverノードの Collision タブに進み、 Particle Collisions メニューから Particle を選択してください。 この Particle モードは、ソリッド3Dオブジェクトとマージされている開いた3Dジオメトリまたは2Dジオメトリにも必要です。 この場合、 Volume Collide も有効にしてください。
Surface Collide は、すべてのフレームにわたってトポロジーが同じである必要があります。 というのも、呼応するポイント間で連続的にコリジョン検出が実行されるので、トポロジーが同じでない場合、サブフレームではメッシュが絡んだ状態になってしまいます。 Time Blend SOPを使用して、プレイバーをサブフレームに移動し、ジオメトリが適切に補間されているか確認してください。
-
Alt + ⇧ Shift + Gを押して、 Global Animation Options ダイアログを開きます。
-
Integer Frame Values を無効にするとサブフレームに移動することができます。
-
必要に応じて Step を調整します。
Object Name
$OS
トークンは、ネットワークエディタで表示されているこのノードの名前を示します。
このようにオブジェクト名を設定することで、複数のFLIP Collideノードが異なるコリジョンジオメトリを生成することができます。
入力 ¶
Sources
この入力には流体パーティクルが必要です。
Container
この入力にはFLIP Containerノードのドメインジオメトリが必要です。
Collisions
この入力にはコリジョンオブジェクトまたはボリュームが必要です。
New Collision Geometry
この入力に接続されたオブジェクトまたはボリュームがコリダーとして動作させることができます。 複数のオブジェクトは、Mergeノードで結合することで接続することができます。
出力 ¶
Sources
この出力には流体パーティクルが格納されます。
Container
この出力はFLIP Containerノードのドメインジオメトリを通過させます。
Collisions
この出力には New Collision Geometry 入力のコリジョンジオメトリ/ボリュームが格納されます。 既に他のFLIP Collideノードが接続されている場合、すべてのオブジェクトとボリュームがマージされます。
See also |