On this page |
HoudiniのSOP FLIP流体では、混合密度または空間可変密度を持つ流体のシミュレーションを実行することができます。 典型的な用途は、水と油または水と泡沫です。 混合密度または可変密度のシミュレーションでは、適切なノードを介してカスタムのアトリビュート-フィールドペアを作成し、密度の値を定義する必要があります。 以下のサンプルシーンで、順を追ってプロセス全体を説明します。
流体のセットアップ ¶
以下のサンプルでは、アトリビュート-フィールドペアの使用方法を説明しています。
この目標は、density
が1000
の水面、density
値が100
と500
の2つのソースを使ったシミュレーションを作成することです。
さらに、パーティクルのカラーはCd
アトリビュートによってそれぞれ変えます。
-
obj レベルで、Geometry SOPノードを作成し、その中に入ります。
-
ノード内で、FLIP Container SOPを作成します。
-
下流でFLIP Source: Velocityノードを作成して、その最初の3つの入力をそのコンテナのそれぞれの出力に接続します。
-
もう1つFLIP Source: Velocityを追加して接続します。
-
最後に、FLIP Solver SOPノードを追加して、その最初の3つの入力を2つ目のFLIP Source: Velocityのそれぞれの出力に接続します
-
ソルバの Waterline タブで Waterline をオンにして、水面を作成します。
-
Visualization タブで、 Color By Speed をオフにします。
-
Advanced タブに移動して、 Solve Pressure With Adaptivity をオフにします。以降で可変密度を扱うため、この設定は必須です。
水のソースオブジェクトは、Sphere SOPなど、どのオブジェクトでも構いません。
-
Sphereノードを2個追加します。
-
sphere1
を1つ目のFLIP Source: Velocityの4番目の入力に接続します。 -
sphere2
を2つ目のFLIP Source: Velocityに同様に接続します。 -
sphere1
を選択して、 Center を2,3,0
に変更します。 -
sphere2
にも手順4を繰り返し、-2,3,0
と入力します。 -
FLIP Source: Velocityの Activation パラメータにエクスプレッションを追加することでソーシングを停止することができます。1つ目のFLIP Source: Velocityでは
$FF<50
と入力してフレーム50で放出を停止します。2つ目のFLIP Source: Velocityでは$FF<75
と入力します。
このセットアップでは、狭帯域の水面と2つのVelocityソースを作成して、シミュレーションにパーティクルを追加しました。 次の手順では、アトリビュートを作成します。
アトリビュート-フィールドペア ¶
まず最初に取り組むのはFLIP Containerです。 そこでは、アトリビュート-フィールドペアが作成されます。 DOP FLIP流体とは異なり、アトリビュート-フィールドペアはチェーン全体で自動的に維持されます。
このシミュレーションでは、水面のdensity
は1000
(標準的な状態での水の密度)にします。この値は背景値とも呼ばれ、背景グリッドに使用されます。
-
Attributes サブペインで Custom Attributes に移動して、+ボタンを2回クリックしてPointアトリビュートを2つ作成します。
-
1つ目の Point Attribute Name に、
density
と入力します。 -
ここで背景値も定義します。 Value を
1000
に設定します。 -
density
で Custom Volume Name もオンにする必要があります。 -
Volume Name に、
massdensity
と入力します。手順4と5が、density
は固定ではないという信号をソルバに出します。 -
2つ目の Point Attribute Name は
Cd
で、流体のカラーを示します。 -
カラーはR、G、Bの3つの値で構成されます。正しいフォーマットにするため、 Rank を Vector に変更します。3つの Value フィールドが表示されます。
-
このシミュレーションの水の主体は青にします(背景値/カラー)。3番目の Value を
1
に設定します。
ソースアトリビュート ¶
この段階で、すべての流体パーティクルは、FLIP Containerで定義したのと同じdensity
値およびCd
値を共有していますが、ソース毎に値を変えなければなりません。
-
Attribute Create SOPノードを追加して、そのノードを
sphere1
とそれに接続されたFLIP Source: Velocityの間に繋げます。 -
Group Type を Points に変更します。
-
Number of Attributes で、+をクリックして2つ目のアトリビュートを作成します。
-
1つ目のアトリビュートの Name に移動して
density
と入力します。 -
Value パラメータの1番目の値に
100
と入力します。これが1つ目のFLIP Source: Velocityのdensity
で、パーティクルを水面に浮かせます。 -
2つ目のアトリビュートの Name を
Cd
に設定します。 -
Size の
3
はカラーのRGB値を表します。 -
Value パラメータの値に
1,1,1
と入力し、純粋な白を作成します。 -
Attribute Createノードを⌃ Ctrl + Cでコピーして、それを⌃ Ctrl + Vでペーストします。
-
コピーしたノードを
sphere2
とそれに接続されたFLIP Source: Velocityの間に繋げます。 -
1つ目のアトリビュート(
density
)に移動します。 Value に500
と入力します。 -
Cd
アトリビュートの Value フィールドを0,0.5,1
にして、水色のパーティクルを作成します。
以下のビデオは、白い流体が泡のように水面上に浮かぶ様子を示しています。 水色のやや重い流体は水面下に入りますが、上がってきて沸騰のエフェクトを作ります。 重い方の流体が白いパーティクルを変位させています。
このセットアップを使用すれば、例えば、水中の油の場面をシミュレーションすることができます。
他にも、viscosity
アトリビュートを追加することで、牛乳の中の液体チョコレートやクリームとキャラメルなどのシミュレーションを作成することができます。
See also |