ジャンル雑多なゲーム・ゲーム制作関連の色々な情報を取り扱っているブログ。最近はBlenderについてが中心。
[Blender 2.9] 煙や炎、液体の表現 [流体シミュレーション]

[Blender 2.9] 煙や炎、液体の表現 [流体シミュレーション]

Blender 流体 気体 炎 水 物理シミュレーション 3DCG

[Blender 2.8] 煙や炎、水やオイルの表現が出来る『流体シミュレーション』の、機能と使い方のご紹介

今回の記事は、Blenderの『物理シミュレーション』の1つ、『流体シミュレーション』についてです。

※2021年1月8日 画像を変更しました。

目次

『流体シミュレーション』とは?

まず、『流体シミュレーション』では、「液体」と「気体」の2種類のシミュレーションが出来ます。

  • 液体シミュレーション …水やオイルの流れをシミュレート
  • 気体シミュレーション …煙や炎の流れをシミュレート

そして、その「液体」、「気体」のシミュレーションをコントロールするために、『ドメイン』、『フロー』、『エフェクター』という3種類のオブジェクトを使用します。

  • ドメイン …シミュレーションの全体を含む領域の定義、管理をするために使用します。
  • フロー …シミュレーションで「液体」や「気体」を発生または削除するために使用します。
  • エフェクター …シミュレーション内での障害物、または動きに影響を与えるガイドとして使用します。

『液体シミュレーション』

流体物理演算は、「液体」、水やオイル(特に水)の物理的特性をシミュレートするために使用されます。

液体シミュレーションの例

『気体シミュレーション』

ガス、または煙のシミュレーションは、流体システムのサブセットであり、煙を構成する物など、空中の個体、液体パーティクル、およびガスの収集をシミュレートするために使用できます。

空気の流体の動きをシミュレートし、レンダリングに使用できる他の流体、または浮遊粒子(煙など)の密度、熱、速度を表すアニメーション化されたボクセルテクスチャを生成します。

ガスまたは煙は、『メッシュオブジェクト』または『パーティクルシステム』からドメイン内で放出されます。

『メッシュオブジェクト』から放出した気体シミュレーションの例
『パーティクルシステム』から放出した気体シミュレーションの例

『パーティクルシステム』について、詳しくは下記記事をご覧ください。

『ドメイン』

流体シミュレーションの場合、シミュレーションが占めるスペースを定義する『ドメイン』が必要です。この『ドメイン』が無ければ、流体シミュレーションは始まりません。

『ドメイン』は、シミュレーション全体が含まれています。「流体シミュレーションのほとんど全てを管理している」と言っても過言ではありません。「流体シミュレ―ションの領域」を決定し、「流体シミュレーション全体のベイク処理」もこのドメインで行います。また、ドメイン設定では、グローバルシミュレーションパラメータ(「粘度」や「重力」など)を定義できます。

Blender 流体 物理シミュレーション ドメイン 気体 3DCG
気体シミュレ―ションでの『ドメイン』(アクティブ状態の立方体オブジェクト)
Blender 流体 物理シミュレーション ドメイン 液体 3DCG
流体シミュレーションでの『ドメイン』(アクティブ状態の立方体オブジェクト)

各設定項目について、詳しくは「『ドメイン』の設定項目」の項ををご覧ください。

『フロー』

『フロー』は、「流体の発生」または「流体の削除」を行うオブジェクトをマークすることが出来ます。

Blender 流体 物理シミュレーション フロー 3DCG 液体
流体シミュレーションでの『フロー』オブジェクト

各設定項目について、詳しくは「『フロー』の設定項目」の項をご覧ください。

『エフェクター』

『エフェクター』は、「障害物」または「流体の動作のガイド」としてオブジェクトをマークすることが出来ます。煙や炎、水の動きは、『エフェクター』オブジェクトの影響を受ける可能性があります。

例えば、下記の動画の岩や土台となっている砂浜部分、波を発生させているオブジェクトが『エフェクター』オブジェクトです。

エフェクターオブジェクト(砂浜、岩、波発生器部分)の例

各設定項目について、詳しくは「『エフェクター』の設定項目」の項をご覧ください。

他の物理シミュレーションとの相互的な影響

煙や炎、水の動きは、シーンの『重力』と『フォースフィールド』の影響も受けます。ですが逆に、ドメイン内の気流は、[流体フロー](v2.82での[煙のフロー])タイプの『フォースフィールド』を介して他の物理シミュレーションに影響を与える可能性もあります。

『重力』と『フォースフィールド』について、詳しくは下記記事をご覧ください。

簡単な使い方

『液体シミュレーション』と『気体シミュレーション』の、それぞれのタイプでの一番シンプルで基本的、且つ、簡単な使い方をご紹介します。本当に少し試してみたい方向けです。

『液体シミュレーション』タイプの簡単な使い方

  1. フローソースとなるオブジェクトを用意します。メッシュオブジェクトであれば何でも良いです。
Blender モンキー メッシュ 3DCG
モンキーを3Dビューポート上に追加
  1. [オブジェクト]→[クイックエフェクト]→[クイック液体]を選択します。
Blender 流体 物理シミュレーション 3DCG
[オブジェクト]→[クイックエフェクト]→[クイック液体]で液体シミュレーションのセッティング
  1. 後は、アニメーション再生([スペースキー])するだけ。
Blender 流体 物理シミュレーション 3DCG
再生([スペースキー])してシミュレーション結果を表示

『気体シミュレーション』タイプの簡単な使い方

  1. 『液体シミュレーション』の方と同様、フローオブジェクトを用意します。メッシュオブジェクトであれば何でも良いです。
Blender モンキー メッシュ 3DCG
モンキーを3Dビューポート上に追加
  1. [オブジェクト]→[クイックエフェクト]→[クイック煙]を選択します。
Blender 流体 物理シミュレーション 3DCG
[オブジェクト]→[クイックエフェクト]→[クイック煙]で気体シミュレ―ションのセッティング
  1. 後は、アニメーション再生([スペースキー])するだけ。
Blender 流体 物理シミュレーション 3DCG
再生([スペースキー])してシミュレーション結果を表示

少し手の込んだ使い方

もう少し色々な項目の数値を弄って使いたい方向けの使い方をご紹介します。

  1. まず、ドメインオブジェクトとなるメッシュオブジェクト(必ず直方体の形状で)を用意します。
Blender メッシュ Cube 立方体 3DCG
  1. [プロパティエディター]>[物理演算プロパティ]で[流体]をクリックし、[タイプ]で[ドメイン]を選択、[ドメインタイプ]では、『液体シミュレーション』をするには[液体]を、『気体シミュレーション』をするには[気体]を選択します。
Blender 流体 物理シミュレーション 3DCG
Blender 流体 物理シミュレーション 3DCG
Blender 流体 物理シミュレーション 3DCG
  1. ドメインオブジェクトの中にフローオブジェクトを設置します。こっちは、メッシュオブジェクトであれば何でも良いです。
Blender メッシュ 立方体 UV球 3DCG
  1. フローオブジェクトの方で、[プロパティエディター]>[物理演算プロパティ]で[流体]をクリックし、[タイプ]で[フロー]を選択、[フロータイプ]では、『液体シミュレーション』をするには[液体]を、『気体シミュレーション』をするには[煙]または[火炎 + 煙]または[火炎]を選択します。
Blender 流体 物理シミュレーション 3DCG
Blender 流体 物理シミュレーション 3DCG
  1. フローオブジェクト用に使用しているメッシュオブジェクトの、ジオメトリ分しか流体を発生させない場合は[フローの挙動]で[ジオメトリ]を選択、ずっと領域内に流入させ続けたいなら[流入口]、領域内から流出させたいなら[流出口]を選択します。
Blender 流体 物理シミュレーション 3DCG
  1. (必要であれば)エフェクターオブジェクトを設置します。こちらも、メッシュオブジェクトであれば何でも良いです。
Blender メッシュ 立方体 UV球 3DCG
  1. エフェクターオブジェクトの方で、[プロパティエディター]>[物理演算プロパティ]で[流体]をクリックし、[タイプ]で[エフェクター]を選択します。
Blender 流体 物理シミュレーション 3DCG
  1. [エフェクタータイプ]を選択する時、単なる障害物として扱いたいなら[コリジョン]、流体の動きを制御するガイドとして扱いたいなら[ガイド]を選択します。([ガイド]を選択した場合、ドメインオブジェクトの方でも設定が必要なので、詳しくはドメインの[ガイド]>[速度のソース]の項でご紹介している使い方もご参照ください。)
Blender 流体 物理シミュレーション 3DCG
  1. フローオブジェクトやエフェクターオブジェクトを位置や回転、拡縮アニメーションさせたい場合、キーフレームを打っておきます。
Blender メッシュ 立方体 UV球 3DCG キーフレーム アニメーション
  1. ベイク処理をします。ベイク処理はドメインオブジェクトの[プロパティエディター]で行います。ですが、気を付けて欲しいのが、ドメインの[キャッシュ]>[タイプ]の設定によって、ベイクの方法が若干異なる点です。
Blender 流体 物理シミュレーション 3DCG
  1. ベイクが済んだら、再生([スペースキー])してみましょう。
Blender 流体 物理シミュレーション 3DCG
  1. やってみて、解像度が足りなければ、ドメインの[設定]>[分解の解像度]の値を大きくして、ベイクし直してみましょう(ただし、大きすぎるとベイクに時間がかかりますのでご注意ください)。
Blender 流体 物理シミュレーション 3DCG
Blender 流体 物理シミュレーション 3DCG

各タイプの設定項目について

『ドメイン』の設定項目

『フロー』の設定項目

『エフェクター』の設定項目

参考にさせて頂いたサイト・ページ一覧

モディファイアー関連の記事のご紹介

この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。

生成

Blenderに関する記事や作品をまとめたページ作りました!

Pocket