Houdini 20.5 Vellum

Vellum用VDBコリジョン

On this page

VDB Collider SOPは、パーティクルなどのダイナミクスオブジェクトを跳ね返したり、Kill(削除)するVDBコライダーを定義します。 これは、GPU上で高速なサブステップを実行し、簡単にSOPベースのセットアップができます。 これは、シミュレーションのコンテキスト内のMPM SolverVellum Solverで使用することができ、メッシュからVDBを生成したり、直接VDBを接続することもできます。

利点

  • SOPベースなので、コライダーを簡単に確認、操作、マージすることができます。

  • Velocityフィールドを使って(GPUによる)高速且つ正確な補間ができます。

  • FrictionStickyBounceDelete などの他の効果のコントロールが備わっています。

  • 複数の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 TypeStatic に設定します。

これが最も効率が良いので、デフォルトのVDBコライダーになっています。 これは、シミュレーション中にメモリ内で単一surfaceVDBで表現されます。

トランスフォームコライダーをセットアップする

  1. オブジェクトとVDB Collider SOPの間にTransform SOPを接続して、いくつかのトランスフォームのキーフレームを追加します。 例えば、 Rotate パラメータのY値に$FF*10エクスプレッションを入力することで、Y軸でコライダーを回転させることができます。

  2. Collider TypeAnimated (Rigid) に設定します。

これは、アニメーションするコライダーに対して最も効率が良く、サブステップ毎にフレーム間でトランスフォームが補間されるので非常に精度が良いです。 このコライダーは、単一surfaceVDBとトランスフォーム行列によって表現されます。 surfaceVDBは決して変更されず、フレーム毎にリジッドトランスフォームのみが更新されます。

変形コライダーをセットアップする

  1. 変形ジオメトリをVDB Collider SOPに接続します。

  2. Collider TypeAnimated (Deforming) に設定します。

このコライダータイプは Animated (Rigid) よりも処理が重いので、実際に変形が行なわれている場合にのみ、これを使用してください。 このコライダーは、surfaceVDBとvelVDBのペアで表現され、フレーム毎にそれらのフィールドを更新する必要があります。 また、これらのフィールドは、より良い結果が得られるようにフレーム間で補間されます。それには、フレーム毎にOpenCL上でそれらのVDBを更新する必要があります。

コリジョンの挙動

Collision Response パラメータは、ダイナミクスオブジェクトがコライダーと接触した時の挙動を制御することができます。 Bounce は、マテリアルタイプに応じてダイナミクスオブジェクトを跳ね返したり、停止させ、 Delete は、ダイナミクスオブジェクトのポイントを削除します。 これを使用することで、シミュレーションが抵抗なしで実行された時にマテリアルを動的にカットすることができます。

Inverted SDF チェックボックスを有効にすると、surfaceVDBの符号を反転して、コライダー内に閉じ込められているダイナミックオブジェクトをシミュレーションすることができます。

Martin Winkler氏による動画提供。

Sticky パラメータは、ダイナミクスオブジェクトがコライダーサーフェスから離れた時であっても、そのダイナミクスオブジェクトのVelocityを投影できるようにします。 これによって、ダイナミクスオブジェクトがコライダーから離れないようになり、 Friction が十分に大きければ、そのダイナミクスオブジェクトは粘着っぽくなります。 以下の図は、粘着性のある球をパーティクルのベッドに浸してから、その球を持ち上げるとそこにパーティクルが引っ付いている様子を示しています。

Vellum FluidとVellum Grain

VDBコリジョンは、Minimalソルバでの使用を目的にしており、粒や流体のシミュレーションに非常に適しています。

Vellum Fluidシミュレーションは、粘度と表面張力を計算する際にVDBコリジョンを考慮することができ、このスタイルのコリジョンを使用した時の濡れ効果が改善されます。 Vellum Grainシミュレーションは、摩擦と粘着性を計算する際にVBDコリジョンを考慮することができ、このスタイルのコリジョンを使用した時の粘着効果と滑り効果が改善されます。

詳細は、Minimalモードを参照してください。

Vellum

ソフトボディ

流体

拘束

Grains

コリジョン

その他

上級