Houdini 20.5 MPM

MPM Configure Spinning Tire

On this page

TabメニューからMPM Configureのサンプルがいくつか利用可能です。 これらは、学習目的でノードネットワークを配置するシェルフツールに似ています。 MPM Configure Spinning Tire サンプルは、“粘度の高い” Mud マテリアルタイプの使い方を示したものです。 水と泥の混合物の中で回転するタイヤをシミュレーションする単純なノードネットワークを配置します。 これは、シミュレーションで2つの異なるソースマテリアルの相互作用を示した良い例です。 また、Houdiniの他のソルバでは実現が難しい、マテリアルとコライダー間の粘着性も示しています。

重要なノード

waterおよびmud

これらはシーンで相互作用する Water および Mud マテリアルプリセットを使用したMPM Sourcesです。 ビューポートでは違いが分かりやすいように、それぞれ青(color_water)と茶色(color_mud)に色分けしています。

timescale_slowmo

Frame パラメータのエクスプレッションは、アニメーションの速度をMPM Solverと同じ速度まで低下させます。 浮動小数点フレームを受け取り、MPM SolverTime Scale パラメータ(速度の1/10(0.1)に設定)で乗算します。 これにより、車輪に適切なスローモーションの効果を与えることができます。

wheel

これはMPM Colliderで、 Animated (Rigid) コライダータイプを使用します。これにより、ソルバによるコライダーの補間が非常に正確になります。 保持するVDBが1つだけで、トランスフォーム間を補間するため、コライダーで非常に正確な衝突と粘着性が得られます。 また、MPM ContainerParticle Separation パラメータで定義したシミュレーション解像度を上書きするために、 Voxel Size を小さくしています。 これにより、よりディテールに富んだモデリングが可能になります。 タイヤを拡大すると、トレッドを確認することができます。 さらに、 Friction10に、 Sticky1に上げて、泥がタイヤに引っ付き、巻き上げられるようにしています。

mpmcontainer

このセットアップで使用するデフォルトのMPM Containerは、 Particle Separation パラメータを使用してシミュレーションの解像度を定義し、接触したパーティクルを削除するか跳ね返すかの境界を設定します。 BoundariesClosed に設定され、 Friction および Sticky10に上げられています。 これにより、跳ね飛ばされた泥が壁に引っ付くようになります。

noise_viscosity

泥の粘度に空間的な変化を加えるAttribute Wrangle

mpmsolver

このセットアップでは、デフォルトのMPM Solverを使用してシーンの解を求めます。 マテリアルがデフォルトで指定したサブステップ数よりも多くを必要する場合の不安定さを修復するために、 Material Condition を少し下げています。

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

To...Do this

変化する泥の粘度のノイズパターンを視覚化します

  1. noise_viscosityノードを選択します。

  2. 次のコードの行にある2つのバックスラッシュを削除します:

    //@Cd = noise;

    このバリエーションが、タイヤが跳ね飛ばした泥のルックを向上させます。

    Tip

    このノードの Bypass フラグをオンにすると、泥の粘度に変化を付けたことがその挙動にどう影響するかを確認することができます。

マテリアルの挙動における不安定さを修復する

一部のケースにおいて、マテリアルが指定したサブステップ数よりも多くを必要とする場合、シミュレーションが不安定になることがあります。 その結果、ポイントが互いに結合したり引っ付く可能性があります。 これを素早く解決するには、MPM SolverMaterial Condition を少し下げます。 これによりソルバのタイムステップが短くなり、マテリアルの安定性を維持することができます。ここでは値を0.9から0.7に下げました。

MPM

はじめよう

MPM Configureサンプル

次のステップ

上級者