On this page |
SOP流体シミュレーションの作成は、少ないノードセットだけで済みます。それには3つの基本的な方法があります。
水位線 ¶
この基本的なネットワークは、FLIP Container SOPとFLIP Solver SOPノードで構成します。 このセットアップでは外部ソースは不要です。
-
obj レベルで、⇥ Tabを押してTABメニューを呼び出します。Geometry SOPノードを作成し、その中に入ります。
-
そのGeometryノード内で、FLIP Containerノードを作成します。ジオメトリをコンテナの入力に接続することで様々なコンテナの形状を使用することができます。以下の画像では、花びら形、チューブ、HoudiniのRubber Toyの断面を確認することができます。
-
FLIP Solverノードを追加して、その最初の3つの入力をFLIP Containerの呼応する出力に接続します。
-
ソルバの Waterline タブで、 Waterline をオンにします。
パーティクル狭帯域レイヤーが表示され、その Additional Velocity を制御することで、動く水面の効果を作成することができます。
-
Additional Velocity を任意の値(例えばXパラメータを
4
)に設定して、水の動きを作成します。新しいパーティクルが常にソーシングおよび削除されて、水位が一定に保たれます。
衝突を追加する ¶
オブジェクト、飛沫、波を相互作用させるために、FLIP Collide SOPノードがあります。 FLIP Collide SOPは、ネイティブオブジェクトまたはインポートしたオブジェクトだけでなくVDBおよびHoudiniボリュームでも動作します。 オブジェクトおよびボリュームはアニメーションしても変形しても構いません。 重要なディテールが失われることがあるので、衝突オブジェクト自体は小さすぎないようにしてください。
-
FLIP Collideノードを追加します。
-
それをFLIP ContainerノードとFLIP Solverノードの最初の3つの入力の間に接続します。
-
オブジェクトを作成またはインポートします。
-
Transform SOPなどを使用して、オブジェクトを移動、回転、スケールします。
-
そのTransformノードの出力をFLIP Collideノードの4番目の入力に接続します。
FLIP Collideノードに接続したオブジェクトは、内部的にボリュームに変換されます。 衝突ジオメトリを確認したいのであれば、そのFLIP Collideノードの青い Display/Render フラグをオンにします。 衝突ジオメトリの品質は、FLIP Containerノードの Particle Separation パラメータからのみ変更することができます。 値が小さいほど衝突ジオメトリの品質が良くなりますが、作成されるボクセルとパーティクルも増えます。 その一方で、これによりシミュレーション時間とRAM使用量が増えるものの、流体の品質も向上します。
もし衝突オブジェクト内部にパーティクルが入り込んでいるのであれば、ジオメトリも確認しましょう。 よくあるのは、そのオブジェクトが完全に閉じられていないことです。 不十分な Particle Separation と、小さいオブジェクト構造の組み合わせも、パーティクルが漏れる原因となります。
-
衝突オブジェクトを囲むようにFLIP Containerの Size を調整して、流体とオブジェクトとの衝突と波の伝搬ができるだけの十分なスペースを確保します。
-
高品質な飛沫を増やしたい場合は、FLIP Collideノードの Velocity Scale を上げます。
-
ソリッドオブジェクトの場合、 Volume Collision がオンになっていることを確認してください。このオプションにより、Houdiniは衝突ジオメトリ内のパーティクルを削除します。
FLIP Boundary ¶
(ほぼ)どの閉じたジオメトリを使用しても、PressureまたはVelocityに基づいてパーティクルをソーシングすることができます。 ソーシングは、アニメーションジオメトリにも変形ジオメトリにもボリュームにも対応しています。
-
FLIP Boundary: Velocity SOPまたはFLIP Boundary: Pressure SOPノードを追加します。
-
そのFLIP BoundaryノードをFLIP Containerノードの直後に配置して、その3つの入力をそのFLIP Containerノードの呼応する出力に接続します。
-
そのFLIP Boundaryノードの出力を、次のノード(FLIP CollideまたはFLIP Solver)の最初の3つの入力に接続します。
-
Sphere SOPなどのオブジェクトを追加して、それをそのFLIP Boundaryノードの4番目の入力に接続します。
FLIP Boundaryノードの Velocity セクションには、パーティクルの初期Velocityを調整するパラメータがいくつかあります。デフォルト設定のままにして開始します。 相互作用させるオブジェクトや水位線がない場合、パーティクルは底に落ちて、FLIP Containerの境界に当たった時に削除されます。
Note
ソースパーティクルと相互作用する衝突オブジェクトのワークフローは、“衝突を追加する”で説明したものとまったく同じです。
境界の流れ ¶
この方法は、VelocityまたはPressureの情報をFLIP Solverの4番目の入力に転送して、シミュレーションを駆動します。 このセットアップでは、FLIP Boundaryノードの追加もソルバの Waterline オプションも必要ありません。
Note
FLIP Solverノードの4番目の入力を使用してPressureやVelocityを転送する方法の完全なチュートリアルは、以下にあります。
See also |