※記事製作時のバージョン:Blender2.93
簡単な見本を作りながら、流体シミュレーションの使い方を紹介していくシリーズ。
第8回は、「障害物を置く」やり方です。
これまでの記事で触れた手順やパラメーターなどは、詳しい説明を省略します。
未読の方はこちらからどうぞ。
流体シミュレーション(液体) カテゴリーの記事一覧 - Blenderであそんでみた
実践「障害物を置く」
今回作るのは、こちらのアニメーション(150フレーム)です。
では、さっそく作ってみましょう。
まずはシミュレーションの前準備。
1. 適当な場所にblendファイルを保存。
2. 追加 > メッシュ > ICO球
3. ICO球を選択した状態で
オブジェクト > クイックエフェクト > クイック液体
4. ドメイン > キャッシュ
- シミュレーション終了フレーム > 150
- タイプ > モジュール
- リジューム可能 > ON
5. アニメーション終了フレーム > 150
6. フロー > 設定 > フローの挙動 > 流入口
以上で前準備は終了。
ここからが今回の本題です。
7. ドメインのトランスフォームを変更
- 位置 X : 2m , Z : 0m
- スケール X : 4.0 , Y : 2.0 , Z : 3.0
8. フローのトランスフォームを変更
- 位置 X : 4m , Z : 1.5m
- スケール X , Y , Z : すべて 0.2
9. ドメイン > 設定
- 分割の解像度 > 96
- ボーダーコリジョン > 下 > OFF
10. フロー > 初期速度 > ON
- 初期 X : -6m/s , Z : 2m/s
これで液体が斜め上方向に噴き出すようになります。
また、ドメインの下側の面から液体が消失するようになります。
11. 追加 > メッシュ > モンキー(スザンヌ)
スザンヌを配置します。
この段階ではまだ障害物ではなく、液体はスザンヌを素通りします。
12. スザンヌ > 物理演算を追加
これでスザンヌは障害物になり、液体がぶつかるようになります。
13. 追加 > メッシュ > 立方体
- 位置 Z : -2.5m
- スケール X : 3.0 , Y : 3.0
14. 立方体 > 物理演算を追加
これで床ができます。
15. 追加 > メッシュ > 平面
- 位置 X : 6m , Z : -2.7m
- スケール X , Y , Z すべて : 3.0
- スムーズシェード
16. 平面 > モディファイアーを追加
これで平面から格子(グレーチング)を作成します。
液体がボーダーコリジョンで消失する様子を目立たなくするため、この格子を配置しています。
飾りなので、障害物の設定はしません。
液体は素通りしますが、液体の動きや飛沫にまぎれて目立ちません。
このような手法もあるという見本です。
17. スザンヌに以下の処理をする
- スムーズシェード
- モディファイアーを追加 > サブディビジョンサーフェス
18. ドメイン > 液体 > メッシュ > ON
※ドメインのキャッシュのタイプがモジュールなので、メッシュもベイクが必要です。
以上でシミュレーションの設定は完了。
マテリアルや背景などの設定をしたら完成です。
今回使用した機能の解説
エフェクター > コリジョン(障害物)
エフェクターは、流体の流れに影響を与えるオブジェクトです。
エフェクターには「コリジョン」と「ガイド」の2つのタイプがあり、コリジョンが障害物です。
デフォルトがコリジョンなので、今回はコリジョンを選択する操作はありませんでした。
ガイドについては、今後の記事で解説します。
今回使用した立方体のように、コリジョンはドメインからはみ出していてもOKです。
ドメインの中に含まれる部分が障害物の働きをします。
モディファイアーの順番について
「初速にノーマルを使う」 で解説したように、流体シミュレーションはモディファイアーの並び順で処理されます。
今回、スザンヌのモディファイアーは
- 流体シミュレーション
- サブディビジョンサーフェス
の順で設定しました。
これはベイク時間が延びるのを防ぐためです。
この順番を逆にすると、先にサブティビジョンサーフェスが処理されてシミュレーションで計算する頂点数が増えるため、ベイク時間が長くなります。
なお今回の設定では、シミュレーションの後でスムーズ処理をしているので、流体とスザンヌの間には少し隙間ができます。
しかし液体が激しく動くので、この程度の隙間はまったく見えなくなります。
EEVEEでのマテリアル設定
今回の見本画像は、EEVEEでレンダリングしています。
「水の塊をばしゃんと落とす」実践編 でも触れましたが、透過系の液体のレンダリングは、Cyclesの方が向いています。
しかし、アニメーションの場合は動きでディテールがまぎれるため、EEVEEで充分な場合もあります。
EEVEEでの水のレンダリングは、色に深みが無く、奥行きや立体感が物足りない感じになります。
そこでレイヤーウェイトを使ってベースカラーに変化を付けると、質感を改善することができます。
レイヤーウェイトの係数は0.5~0.7くらいが良いです。
EEVEEで液体の屈折表現をするには専用の設定が必要です。
詳しくはこちらの記事を参照してください。
以上、「障害物を置く」でした。
※添削・構成アドバイス:相方
参考サイト