Blenderにはいろいろな物理演算があります。
その中の1つである「流体」で液体を試してみたのですが、容器をすり抜けたり動画で出力できなかったりと結構苦戦しました。
今回は自分の復習も兼ねて、流体シミュレーションの使い方について書いていきます。
この記事ではBlenderのバージョン3.2を使用しています。
流体の設定をする
1.フロー
流体の発生源にするオブジェクトを作成します。
今回はICO球を使ってみます。
ICO球を作成したら物理演算プロパティで「流体」を選択し、タイプで「フロー」を選択します。

タイプを変更した後、設定でフローのタイプと挙動を設定します。
液体を使いたいのでフロータイプは「液体」、ずっと流れるようにしたいのでフローの挙動は「流入口」を選択してみました。

2.ドメイン
フローのオブジェクトだけではアニメーション再生しても変化がありません。
次は流体シミュレーションを行う領域を作成します。
Shift+Aで立方体を作成し、物理演算プロパティで「流体」を選択して今度はタイプを「ドメイン」にします。

ドメインタイプは「液体」に変更します。

下の方へスクロールし、キャッシュの保存場所も確認しておきます。
開始フレームと終了の数字でシミュレーションの実行範囲を決められます。
レンダリングするときにベイクする必要があるので、タイプを「全て」に変更します。

「すべてベイク」を押してベイクが完了したらアニメーションを再生してみます。

今の状態だと水っぽくないので、メッシュにチェックを入れます。
ちなみに、流体シミュレーションは変更をするたびにベイクしないと反映されないようです。
先ほど「すべてベイク」になっていた部分が「すべて解放」に変わっているので、一度解放して再度ベイクすることでメッシュの変更が反映されます。

動画などで出力する場合はチェックしておきましょう
メッシュにチェックすると以下のgifのようになります。

3.エフェクター
今の状態だと、ドメインにしたオブジェクトの中に液体が溜まっていってるアニメーションになります。
ここに容器を追加してみます。
箱型のオブジェクトを作成して、物理演算プロパティで「流体」を選択してタイプを「エフェクター」にします。
表面の厚さも設定します。

再ベイクして再生してみます。
液体が箱にぶつかって跳ね返るようになりました。
液体がすり抜ける場合はエフェクターの表面の厚さを大きくすると改善されました。

マテリアルを付けてアニメーションレンダリングする
マテリアルを設定します。
背景用の平面とライトを追加して、レンダリングエンジンは「Cycles」にしています。
液体のマテリアルは画像のように設定して色を付けてみました。
フローにしたオブジェクトではなく、ドメインのオブジェクトにマテリアルを設定します。
フローのオブジェクトはベイクした後はビューポートとレンダーの表示を無効にしておきます。

レンダリングするためにカメラを追加し、視点を設定します。
細かい設定は省きますが、デフォルトのままだとレンダリングにかなり時間がかかるので最大サンプル数を下げたり解像度を小さくしています。

「レンダー > アニメーションレンダリング」をクリックし、アニメーションを出力します。
しばらく待つと動画の出力が完了します。(かなり待ちます。)
できた動画はこんな感じになりました。
簡単に液体のシミュレーションできて楽しいですね(*’ω’*)
コメント