Blenderの流体シミュレーションで「勢いよく水を噴き出す」
※記事製作時のバージョン:Blender2.91
簡単な見本を作りながら、流体シミュレーションの使い方を紹介していくシリーズ。
第5回は、「勢いよく水を噴き出す」やり方です。
これまでの記事で触れた手順やパラメーターなどは、詳しい説明を省略します。
未読の方はこちらからどうぞ。
流体シミュレーション(液体) カテゴリーの記事一覧 - Blenderであそんでみた
実践「勢い良く水を噴き出す」
今回作るのは、こちらのアニメーション(150フレーム)です。
では、さっそく作ってみましょう。
まずはシミュレーションの前準備。
1. 適当な場所にblendファイルを保存。
2. 追加 > メッシュ > ICO球
3. ICO球を選択した状態で
オブジェクト > クイックエフェクト > クイック液体
4. ドメイン > キャッシュ
- シミュレーション終了フレーム > 150
- タイプ > モジュール
- リジューム可能 > ON
5. アニメーション終了フレーム > 150
6. フロー > 設定 > フローの挙動 > 流入口
以上で前準備は終了。
ここからが今回の本題です。
7. ドメインの寸法を、 X : 8.45m , Y : 4.8m に変更
8. フローの位置を、 X : -1.7m , Z : 0.7m に変更
9. フローのスケールを、 X , Y , Z すべて 0.5 に変更
10. フロー > 初期速度 > ON
11. フロー > 初期速度 > 初期 X > 7m/s
これで液体が横方向に勢い良く噴き出すようになります。
12. フロー > 初期速度 > 初期 X に、下記のキーフレームを打つ
- 60フレーム > 7m/s
- 95フレーム > 0m/s
これで60フレームから95フレームにかけて、液体の勢いが弱まるようになります。
95フレーム以降は、自由落下的に液体が流れ出すだけになります。
13. フロー > 設定 > フローを使用 に、下記のキーフレームを打つ
- 100フレーム > ON
- 101フレーム > OFF
これで101フレーム以降は、液体が発生しなくなります。
14. ドメイン > 設定 > ボーダーコリジョン > 左 > OFF
これでドメインの左側の面から、液体が消失するようになります。
15. ドメイン > 設定 > 分割の解像度 > 96
16. ドメイン > 液体 > メッシュ > ON
※ドメインのキャッシュのタイプがモジュールなので、メッシュもベイクが必要です。
以上でシミュレーションの設定は完了。
マテリアルや背景などの設定をしたら完成です。
今回使用した機能の解説
初期速度
フローから発生する流体の初速です。
X,Y,Z の各方向に対して個別に設定できます。
初速が大きいほど流体の発生量も多くなります(水道の蛇口をひねるのと似たイメージ)。
フローのタイプがジオメトリでも使えます。
ボーダーコリジョン
ドメインの境界が閉じているか、開いているかを面ごとに設定します。
- ON:閉じている面。そこに当たった流体は跳ね返る。
- OFF:開いている面。流体はそこから流れ去るように消失する。
面の向きは次のように対応しています。
- 前:Y-側 後:Y+側
- 右:X+側 左:X-側
- 上:Z+側 下:Z-側
流体シミュレーションの座標系
流体シミュレーションは、ドメインのローカル座標系に基づいて処理されます。
仮にドメインを傾けた場合、液体は見た目の斜め下に向かって落下するようになります。
フローの初期速度の方向や、ボーダーコリジョンの面の向きも、ドメインのローカル座標系に基づいて処理されるので、ドメインの回転のままに変化します。
ドメインを回転させるのは、感覚的に扱いにくくなるだけなので、基本的に行いません。
もし「上に向かって液体が落下する」というようなシーンを作りたい場合は、シーンの重力を変更するか、フォースフィールドを使います。
※これらの設定の仕方は、ずーっと先の記事で扱う予定です。
以上、「勢いよく水を噴き出す」でした。
※添削・構成アドバイス:相方