On this page |
VDB Collider SOPは、パーティクルなどのダイナミクスオブジェクトを跳ね返したり、Kill(削除)するVDBコライダーを定義します。
これは、GPU上で高速なサブステップを実行し、簡単にSOPベースのセットアップができます。
これは、シミュレーションのコンテキスト内の
MPM Solverや
Vellum Solverで使用することができ、メッシュからVDBを生成したり、直接VDBを接続することもできます。
利点 ¶
-
SOPベースなので、コライダーを簡単に確認、操作、マージすることができます。
-
Velocityフィールドを使って(GPUによる)高速且つ正確な補間ができます。
-
Friction 、 Sticky 、 Bounce 、 Delete などの他の効果のコントロールが備わっています。
-
複数の
VDB Collidersを1本のストリームにマージした後にそれを
Vellum Solverに渡すことができます。
制限事項 ¶
-
これを計算すると、コンパイルに非常に長い時間がかかる巨大なOpenCLコードが生成されます。これが原因では、シミュレーションを 始めて 実行する時にコンパイル時間が 非常に遅く なります(場合によっては数分かかります)。
Note
ステータスバーの下部に Compiling OpenCL kernels という通知と、何かが発生していてHoudiniがフリーズしていないことを示すタイマーが表示されます。
Tip
⎋ Escを押すと、いつでもコンパイルを停止することができます。
-
非常に解像度の高い変形オブジェクトでは、場合によってはGPUメモリの使用量が高くなります。
コライダーの種類 ¶
Collider Type パラメータでは、3つの種類のコライダーを選択することができます: Static、Animated(Rigid)、Animated(Deforming)。
To... | Do this |
---|---|
静的コライダーをセットアップする |
Collider Type を Static に設定します。 これが最も効率が良いので、デフォルトのVDBコライダーになっています。
これは、シミュレーション中にメモリ内で単一 |
トランスフォームコライダーをセットアップする |
これは、アニメーションするコライダーに対して最も効率が良く、サブステップ毎にフレーム間でトランスフォームが補間されるので非常に精度が良いです。
このコライダーは、単一 |
変形コライダーをセットアップする |
このコライダータイプは Animated (Rigid) よりも処理が重いので、実際に変形が行なわれている場合にのみ、これを使用してください。
このコライダーは、 |
コリジョンの挙動 ¶
Collision Response パラメータは、ダイナミクスオブジェクトがコライダーと接触した時の挙動を制御することができます。 Bounce は、マテリアルタイプに応じてダイナミクスオブジェクトを跳ね返したり、停止させ、 Delete は、ダイナミクスオブジェクトのポイントを削除します。 これを使用することで、シミュレーションが抵抗なしで実行された時にマテリアルを動的にカットすることができます。
Inverted SDF チェックボックスを有効にすると、surface
VDBの符号を反転して、コライダー内に閉じ込められているダイナミックオブジェクトをシミュレーションすることができます。
Sticky パラメータは、ダイナミクスオブジェクトがコライダーサーフェスから離れた時であっても、そのダイナミクスオブジェクトのVelocityを投影できるようにします。 これによって、ダイナミクスオブジェクトがコライダーから離れないようになり、 Friction が十分に大きければ、そのダイナミクスオブジェクトは粘着っぽくなります。 以下の図は、粘着性のある球をパーティクルのベッドに浸してから、その球を持ち上げるとそこにパーティクルが引っ付いている様子を示しています。
Vellum FluidとVellum Grain ¶
VDBコリジョンは、Minimalソルバでの使用を目的にしており、粒や流体のシミュレーションに非常に適しています。
Vellum Fluidシミュレーションは、粘度と表面張力を計算する際にVDBコリジョンを考慮することができ、このスタイルのコリジョンを使用した時の濡れ効果が改善されます。 Vellum Grainシミュレーションは、摩擦と粘着性を計算する際にVBDコリジョンを考慮することができ、このスタイルのコリジョンを使用した時の粘着効果と滑り効果が改善されます。
詳細は、Minimalモードを参照してください。