| 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 |