On this page |
SOP FLIP流体には、FLIP Source SOPノードの Boundary ドロップダウンメニューを介してパーティクルをソーシングするためのメソッドが3つ( None 、 Velocity 、 Pressure )あります。 これらの基本的な違いと仕組みについて、以下の各セクションで詳しく説明します。
Note
ソースオブジェクトは閉じていなくてはならず、ソリッド3Dまたはボリュームオブジェクトである必要があります。 開いたジオメトリまたは平面や円盤などの2Dジオメトリは使用できません。
Note
様々なFLIP Boundaryノードとそのソーシングメソッドの違いを説明するために、グラスに水を注ぐと想定しましょう。 重要なのは、グラスの底にSphere SOPノードなどのソースオブジェクトを配置することです。 以下のビデオが、その結果です。
FLIP Boundary: None ¶
このノードでは、初期Velocityを定義する必要はなく、デフォルト設定で始めることができます。 シミュレーションすると、ソースオブジェクトの最上部付近の特定の高さに到達するまでグラスが満たされます。 その後、ソーシングが停止し、水位が一定に維持されます。 この挙動は、パーティクルを水面下で作成できないDOPベースのFLIP Solverでも同じです。
FLIP Boundary: Velocity ¶
デフォルトでは、 Normal Velocity が1
でオブジェクトの法線に沿ってパーティクルが放出されます。
Additional Velocity を使用すると、速度を上げ、パーティクルを特定の方向に向けることができます。
このVelocityベクトルの大きさは、 Normal Velocity ベクトルに加算されます。
例えば0,-1,0
では、パーティクルはより素早く落下するようになります。
Note
パーティクルを作成するには、少なくとも1つのVelocityパラメータが0
より大きい必要があります。
そうでないと、オブジェクトが移動/変形します。
シミュレーションすると、水位が上がっていくのを確認できます。 Boundary を Velocity に設定すると、水はソースオブジェクトを越えて上昇し、パーティクルを作成し続けます。 シミュレーションを十分に長く実行すれば、グラスからも溢れます。
FLIP Boundary: Pressure ¶
デフォルト設定では、 Uniform Pressure が1
で、パーティクルはソースオブジェクトの法線に沿って放出されます。
圧力を変更すると、パーティクル数が急激に増加することがあるため注意してください。
また、パーティクルの速度が非常に速くなる場合もあり、衝突オブジェクトとの組み合わせによっては漏れが起こりがちです。
そのため、 Uniform Pressure パラメータをアニメーションさせることを検討してください。
-
開始フレームに移動して、 Uniform Pressure を
0.1
に設定します。 -
Uniform Pressure をAlt + クリックしてアニメーションキーを打ちます。
-
全圧力を適用したいフレームに移動して、
1
と入力します。 -
再度、 Uniform Pressure をAlt + クリックして、もう1つキーを打ちます。
シミュレーションすると、グラスがすぐに満たされ、水がソースオブジェクトを越えて上がっていくことを確認できます。
グラスに十分な高さがある場合は、一定の高さでソーシングが停止することも観察できます。
これが、流体が1
の圧力に到達した瞬間です。
Uniform Pressure が閾値のように機能します。
Hydrostatic Pressure では、最大 Water Level を定義することができます。 流体がこの高さに到達するとソーシングが停止します。 水位はグリッドで示されます。 それを表示するには、ソースノードの Display/Render フラグをオンにします。
デフォルトでは、 Water Level は0
から開始されます。
開始高さをオフセットしたい場合は、 Water Origin の Y 値を調整します。
グラスを使用したサンプルシーンは、オブジェクトの中空スペースはグラスの底面から約0.15
ユニット上から始まります。
Water Origin パラメータの Y 値を0.15
に変更すると、適切な高さから満たされていきます。
Note
Hydrostatic Pressure によるシミュレーションは、調整した Water Level よりも 下 にソースオブジェクトが配置されていて、且つ、
Pressureのターゲット値が1
の場合にのみ正しく動作します。
Pressureソーシングと Additional Velocity を組み合わせることで、パーティクルに初期方向を与えることができます。 Scale Velocity と Normal Velocity を使用することもできますが、複数のパラメータを組み合わせる際は注意が必要です。 例えば、値が合算されて、パーティクルが非常に高速になったり、オブジェクトに漏れが起きる可能性があります。
Note
Pressureソーシングでは、パーティクルのチラツキが発生することがあります。 FLIP Solverの Advanced ▸ Solve Pressure With Adaptivity オプションをオフにすると、その結果を改善することができます。
Pressureソーシングは Pressure Voxel Band パラメータを使用します。
このパラメータは内部的にソースボリュームを収縮させて、流体の速度を落とします。
デフォルト値の2
ボクセルは、たいていの状況で上手く機能します。
その他の方法 ¶
FLIP Solverは、ドメイン境界で新しいパーティクルを作成することもできます。 ここではFLIP Sourceノードは必須ではありません。 これは、海や川の船やボートなどに使用すると面白い結果を得られます。 ソルバはドメインの外側にパーティクルレイヤーを作成します。 ドメインの内側と相互作用したパーティクルは削除され、新しいパーティクルが外側からソーシングされます。
-
FLIP Container SOPを作成して、シミュレーションドメインの寸法を指定します。
-
FLIP Solverノードを追加し、最初の3つの入力をコンテナの出力に接続します。
-
ソルバで、 Waterline を有効にして水面を作成します。
-
さらに Additional Velocity を追加すると、パーティクルに速度と方向を与えることができます。
パーティクルレイヤーを作成するもう1つの方法は、ソルバの4番目の入力を使用することです。 この方法に関する詳細なチュートリアルは、以下にあります。