Houdini 20.5 MPM

MPM Configure Water Glass

On this page

TabメニューからMPM Configureのサンプルがいくつか利用可能です。 これらは、学習目的でノードネットワークを配置するシェルフツールに似ています。 MPM Configure Water Glass サンプルは、“液体”の Water マテリアルタイプの使い方を示したものです。 1つのグラスから別のグラスに注がれる水をシミュレーションする単純なノードネットワークを配置します。

重要なノード

water

これは、 Water マテリアルプリセットを使用したMPM Sourceです。

anim_glass

これはMPM Colliderで、 Animated (Rigid) コライダータイプを使用します。 これにより、ソルバによるコライダーの補間が非常に正確になります。保持するVDBが1つだけで、トランスフォーム間を補間するため、コライダーで非常に正確な衝突と粘着性が得られます。 また、MPM ContainerParticle Separation パラメータで定義したデフォルトの解像度を上書きするために、 Voxel Size0.001に下げています。 この解像度の増加により、水がグラスの薄い壁から漏れなくなります。 Friction も0に変更されているため、水はサーフェス上を自由に移動することができます。

static_glass

これはMPM Colliderで、 Static コライダータイプを使用します。 これにより、ソルバによるコライダーの補間が非常に正確になります。保持するVDBが1つだけで、トランスフォーム間を補間するため、コライダーで非常に正確な衝突と粘着性が得られます。 また、MPM ContainerParticle Separation パラメータのデフォルトの解像度を上書きするために、 Voxel Size0.001に下げています。 この解像度の増加により、水がグラスの薄い壁から漏れなくなります。 Friction も0に変更されているため、水はサーフェス上を自由に移動することができます。

merge_colliders

このノードは2つのコライダーを結合し、それからMPM Solverに渡します。

mpmcontainer

MPM Containerは、 Particle Separation パラメータを使用してシミュレーションの解像度を定義します。

mpmsolver

これはシーンの解を求めるMPM Solverです。 Collisions タブの Enable Particle-Level Collisions がオンになっていることに注意してください。 これにより、マテリアルポイントに対して2つ目の衝突ステップを直接実行できるようになります。 計算量はいくらか増えますが、衝突の精度は高まります。 また、マテリアルがデフォルトで指定したサブステップ数よりも多くを必要する場合の不安定さを修復するために、 Material Condition を少し下げています。

このサンプルから学ぶこと

  • MPM ColliderVoxel Size をオフにすると、グラスの上部が消えることが分かります。 グラスは非常に薄いため、ソルバ内で適切に表現するためには Voxel Size を小さくする必要があるからです。

  • Enable Particle-Level Collisions をオフにすると、水がグラスを通り抜けるのが分かります。 シミュレーションのグローバル解像度が粗すぎるため、グラスの薄い壁を適切にとらえることができません。 この場合、パーティクルがガラスを通り抜けないようにする唯一の方法は、パーティクルレベルの補正です。

MPM

はじめよう

MPM Configureサンプル

次のステップ

上級者