-Blenderで液体シミュレーションをするときの手順と注意点-

4. 溜まり水と水しぶき

■ 溜まり水

流れる水では無くて、最初から溜まっているプールの水のような水にするには、水の占める範囲にオブジェクトを配置して、inflow ではなく Fluid として設定します。

このプレビュー画面上では一旦 Domain は非表示にしています。(オブジェクトが全部 Domain の内部にあって隠れてしまうので)

シミュレーションを開始すると、オブジェクトの内部に水が生じますが inflow の時と違って継続してオブジェクトの内部から水が湧き出すことはありません。

今までと同じように、レンダリング時には、Domain を表示して、液体の初期位置を設定したオブジェクトの方を非表示にしておきます。



■ 物を落とす

プールに物を落とすために、プール上空に一つオブジェクトを配置して剛体シミュレーションの設定と液体の障害物(Obstacle)を両方設定してやります。

動く障害物なので、Export Animated Mesh (動くメッシュとして扱う)のチェックをしておきます。

スザンヌを置いてみました。そのままだとスザンヌはプールの壁も素通りし落下してしまうので、プールの壁も剛体シミュレーションの障害物としておきます。

詳細は、剛体シミュレーションの方の項目を参照してください。

DomainでBakeを行い流体シミュレーションを実行します。Bake中は剛体シミュレーションも同時に実行してくれます。

結果をレンダリングすると、この通りスザンヌが落下して水が飛び散りました。

ただし、現時点で水はスザンヌの動きの影響を受けていますが、落下するスザンヌは水の反作用の影響は受けていません。( Blenderがまだ未実装なのか、自分がその設定を見逃しているのか確認ができていません)



■ 水しぶきを増やす

水しぶきを増やすには、Domain 中の Fluid Particles を設定して、Particle (粒子=しぶき)を 生成(Generate) するようにします。

ただし、そのままでは流体の表面の生成に影響しません。
Fluid Boundary の Subdivisions を 2 もしくはそれ以上に設定します。
(重くはなります)
この状態で Bake を実行すると、水しぶきの計算と、それに伴う表面が生成されます。
しかし、プレビュー上ではやはり生成された水しぶきは確認できません。
このあたりで、少し戸惑います。
ドメインの設定で、プレビュー表示(Viewport display)の設定が、プレビュー品質になっているので、
水しぶきによって生成された表面が省略されています。

Viewport Display の品質を Final にすると、レンダリング時の表面を見ることができます。
表示品質を上げると、細かい粒が発生していることがわかりました。
きちんとレンダリングしたものです。(グレアを少し追加していまえす)

inserted by FC2 system