Houdini 20.5 MPM

MPM Configure Sand Instances

On this page

TabメニューからMPM Configureのサンプルがいくつか利用可能です。 これらは、学習目的でノードネットワークを配置するシェルフツールに似ています。 MPM Configure Sand Instances サンプルは、 Sand マテリアルタイプの使い方を示したものです。 砂場を歩くCragをシミュレーションする単純なノードネットワークを配置します。

重要なノード

sand

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

crag

これはMPM Colliderで、 Animated (Rigid) コライダータイプを使用します。 これにより、ソルバによるコライダーの補間が非常に正確になります。 保持するVDBが1つだけで、トランスフォーム間を補間するため、非常に正確な衝突が得られます。 Crag: Test Geometryは複数のリジッドピースで構成され、 Name Attribute に基づいて、これらすべてのピースがリジッドであると認識し、ピース毎にコライダーを作成します(合計67個)。 変形しているように見えるものに対しても、非常に正確な衝突が可能になります。

mpmcontainer

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

mpmsolver

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

orient_from_F_and_set_name

このAttribute Wrangleは、初期のランダムな向きをポイントに指定し、変形勾配から回転を抽出します。 フレーム毎に変形勾配の回転コンポーネントを抽出し、それをポイントのランダムな向きに加算します。 これにより、砂場のルックにバリエーションが加わり、より自然に見えるようになります。

rocks

各ポイントにインスタンス化する岩ジオメトリ。

instance_rocks

このCopy to Pointsノードは、それぞれの向きのポイントに岩をインスタンス化します。

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

このサンプルの目的は、変形勾配から向きの情報を抽出して、インスタンス化できることを示すことです。 また、変形コライダーを、複数の剛体的にトランスフォームするコライダーに分割できることも示します。

To...Do this

岩のランダムな回転を削除する

orient_from_F_and_set_nameノードで、コードのrotate行の先頭に2つのスラッシュを追加して、ランダム化をコメントアウトします。

//rotate(rot, fit01(rand(@id%7745), -3.14, 3.14), normalize(fit01(vector(rand(@id%6651)),-1,1)));
//rotate(rot, fit01(rand(@id%9531), -3.14, 3.14), normalize(fit01(vector(rand(@id%1232)),-1,1)));

パーティクルのランダムな回転を確認する

ディスプレイツールバーで Display Particle Origins ボタンをクリックします。

様々な形状の岩を確認する

  1. rocksノードの出力にExploded Viewノードを追加します。

  2. Uniform Scale を上げるとさらに広がります。

MPM

はじめよう

MPM Configureサンプル

次のステップ

上級者