On this page |
概要
水と(シャンプーのような)粘度のある物質をシミュレーションすることを想像してください。
1つ目に思い浮かぶ方法は、これら2つの流体を個別にセットアップことです。
2つ目に思い浮かぶ方法は、Vellum Configure Grains SOPノードの Phase アトリビュートを使用することです。
流体を個別にセットアップする方法については、他のVellum拘束タイプとの相互作用のページを参照してください。 以下の動画は、高解像度のシミュレーションです。
設定によって変化する流体の挙動
-
Phase 値は等しいが、 Viscosity および/または Surface Tension の設定が異なる場合、接触する領域で流体同士がくっつきやすくなります。
-
Phase 値は異なり、 Viscosity が等しい場合、2つの流体は相互作用するものの、流体同士の間に摩擦がないような挙動になります。
-
Phase 値が異なり、 Viscosity および/または Surface Tension も異なる場合、流体は分離し、ほとんどくっつきません。
セットアップ
流体ボリュームを作成する
-
OBJ レベルで、
Geometry OBJノードを作成し、その中に入ります。
-
Box SOPノードを追加し、その名前を
fluid_volume
に変更します。 -
Vellum Configure Grain SOPノードを2個作成し、それらの名前を
water
とshampoo
に変更します。 -
2個のVellum Configure Grain SOPノードを選択します。
-
Create Points from Volume をオンにします。
-
Type を Fluid に設定します。
-
Particle Size を
0.04
に調整して、パーティクルの数を制御します。 -
Mass を Calculate Uniform に変更します。
流体を調整する
-
water ノードで、 Viscosity を
0.5
に設定します。 -
shampoo ノードで、 Density を
2000
、 Viscosity を3000
に設定します。 -
同じく shampoo ノードで、 Phase を
2
に変更し、混合の効果を高めます。
パーティクルを分割する
-
Blast SOPノードを4個追加します。
-
すべてのBlast SOPノードを選択します。
-
Group に
@P.z<0
と入力します。このエクスプレッションは、マイナスのZ位置を持つパーティクルのみを選択します。 -
Group Type を Points に設定します。
-
次に、 blast3 と blast4 のみを選択します。
-
Delete Non Selected をオンにして、プラスのZ位置を持つパーティクルのみを選択します。
パーティクルと拘束を結合する
-
Merge SOPノードを2個作成します。
-
blast1 と blast3 (ジオメトリ)を merge1 に接続します。
-
blast2 と blast4 (拘束)を merge2 に接続します。
Vellum Solverを調整する
-
Vellum Solver DOPノードを追加します。
-
Solver タブで、 Substeps を
10
に設定します。 -
Constraint Iterations を
20
に、 Smoothing Iterations を0
に下げます。
コンテナを作成する
-
もう1つBox SOPノードを追加し、 Size を
2, 1.5, 1.5
に変更して、流体を囲い込みます。 -
ノードの名前を
container
に変更します。
ノードを接続する
-
下図のようにノードを接続します。
-
Color SOPノードも2個追加して、流体を目で見て区別できるようにします。
サンプルファイル
このサンプルでは、 Phase アトリビュートによって異なる粘度と表面張力が設定された2つのVellum Fluidを相互作用させる方法について説明しています。