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

0. Quick Effect

煙シミュレーションの基本的な設定済みのセットは、オブジェクト、例えばデフォルトキューブを選んだ状態で、
オブジェクトメニューの Quick Effect > Quick Smoke(クィック煙) を実行することで得ることができます。

Quick Smoke を使うことで、ここで示している手順の最初の数手順は省略することができますが、
仕組みを理解するために、慣れるまでは何度か一からセッティングしてみるのがお勧めではあります。

1. 容器の設定と、煙を描画する設定

■環境を設定する

物理シミュレーションは、結果をキャッシュファイルにどんどん保存していきます。
RAMディスクのある環境であれば、負荷の軽減とパフォーマンスアップのために、RAMディスク上で作業することを強く推奨します。

キャッシュファイルは.blendファイルと同じフォルダ内に作られます。.blendをRAMディスク上に置くと書き込みパフォーマンスが上がりますが、ただし、最後に普通のディスク上に保存するのを忘れると悲惨なので気をつけましょう。
(設定を弄ってキャッシュだけをRAMディスク上に書き込むこともできます。)

■背景色

背景色は本来は煙の表示手順とは関係ないのですが…
煙の設定を弄らないと、色の無い灰色の煙になってしまうので、デフォルトの背景の色だとあまり良く見えません。
背景色の設定を変えて、青空などにしておくと、薄ーい煙があるのかないのかなど見やすいです。
レンダリング画面ではない、編集中の3Dビューの背景色は、設定の中の Themes > 3DView > Theme Space > Gradient Colors の中にあります。

■Domain(ドメイン)になる箱を作る

まずは煙を充満させるための箱をつくります。
名前は何でも良いのですが、Blenderと共通の用語を使った方がわかりやすいので Domainとしておきます。(領域という意味です)
(ところで、2.8以降では名前を変更する機能が F2 に新たに割り振られています。)
シミュレーションをする容器がこの箱であるということを設定するために、
箱の物理シミュレーションの設定をSmokeにして、タイプとして Domain を選択します。
Domainにすると煙の計算ができるようになりますが、まだ中身の煙は表示されません。マテリアル設定をします。

マテリアルの名前は Volume とでもしておきます。
デフォルト状態では、Princepled BSDF (プリンシプル BSDF) になっていますが、これは通常の物体の表面の見た目を設定するための設定です。
ボリュームを表示するための設定をしておきます。
ボリュームの設定を Princepled Volume (プリンシプルボリューム)にします。

サーフェスのほうの設定は残しておいても良いのですが、
(シミュレーションの Domain 設定にすると表面は表示されません)
邪魔なのでシェーダーを無しにしました。
ノードエディタ上ではこのようになっています。

ノード内の Density Attribute (密度特性) の設定が density になっています。
この設定の文字列で、表示に用いる変数を指定しています。
シミュレーションの Domain は、密度の他にも temperature(温度)などの変数を持っています。

■ボリュームの表示を確認する

最初の状態だと、density(密度) は 0 なので、完全に透明な状態になります。

試しに、Density Attribute (密度特性) の文字列を消してみます。
すると、数値で指定した密度(初期値は1)の灰色の煙が充満した状態になるはずです。

床やその他のオブジェクトを配置して、様子を確認してみましょう。
サンプルに使ったシーンのオブジェクトにはでこぼこなどつけてあります。

表示モードをマテリアルプレビューか、レンダリングプレビューにします。



ここで、ボリュームの表示に関して、Cycles と Eevee の違いを確認しておきます。
レンダーエンジンを切り替えて、レンダリングプレビューしてみます。

Cycles/Eevee
Cycles レンダリングでは床に影は落ちますが、Eevee レンダリングでは影は落ちません。
残念ながら、現時点(2.81 Alpha)では Eevee は、ボリュームが別の物体(ソリッドな物体)に落とす影は計算することはできません。

Cycles/Eevee
また、Cycles レンダリングでは任意の閉じた形状のボリュームを表現できますが、Eevee では、メッシュの形状によらず立方体(直方体)のボリュームとして表示されます。

これでひとまず、ボリュームの表示の確認はできたので、プリンシプルボリュームの Density Attribute (密度特性) の名称を density に戻しておきましょう。
容器の設定と、描画の設定ができたので、次に煙シミュレーションを実行してみます。

inserted by FC2 system