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

3. 応用

粒子からの煙。

ポリゴンからではなく粒子から煙を放出することができます。粒子系を設定して、Emitter から粒子が出てくるようにします。

系の名前をとりあえず Smoke Particle とでもしておきます。
Flow Source を Particle System として、Smoke Particle を選択します。
Emitterを横向きに配置して粒子を放出すると、そこから煙が出てきます。

ある程度勢いよく粒子が噴出するように、Velocity 設定の Normal を4程度にしました。
プレビュー画面で再生すると、Emitterから粒子が飛び出て、その粒子から煙が出ていることが確認できます。
分かりやすくするために、粒子を光の粒で表示しています。粒子から煙が立ち昇っているのがわかります。
煙の発生密度が少し薄いですが、それらの調整はパーティクルの数などで調整が行えます。
色を調整すれば、寒い日にパイプからお湯が噴出するときの湯気に使えそうです。

非常に貧弱な納豆ミサイル。

粒子から煙を放出することから、粒子をミサイルに見立てて、煙の帯を残してミサイルが飛ぶいわゆる納豆ミサイルが実現できます。しかし、満足のいくような表現までもってくるのはなかなか難しそうで…


粒子の表示は、光る点で表示するだけではなく他のオブジェクトの形状で表示するということができます。

y軸方向を向いた円筒を作成して、それをミサイルに見立ててみましょう。
あまり大量に放出するのも変なので、斜め上を向いたEmitterから数十個のミサイルを放出してみます。
Emitter の粒子設定の Render 設定から、Object を選び、どのオブジェクトで表示するかを設定することで、粒子の代わりに他のオブジェクトを表示します。

ついでに Display 側も Render に設定してやることで、画面上でもその形状で表示されるようになります。
オブジェクトの向きは、以前は自動的に粒子の速度方向を向いていましたが、2.68の時点で、速度方向を向くようにするには Particle の設定の Rotation の設定をする必要があります。Dynamic(動的)に Velocity に依存するようにします。
ミサイルが通過した点に煙が配置されるわけですが…
ミサイルの移動速度が早いと、煙が出現する位置が飛び飛びになります。

あらー、シミュレーションのボックスの精度が丸見えで、これはどうしてくれようかという状態です。
Emitter の Flow 設定で、Samplingの値を大きくすると、ミサイル粒子が大きく移動するときに、フレームとフレームの間を補間して煙を出してくれるので、煙が滑らかにつながってくれます。

また、Initial Velocity(初期速度) の設定をすると煙の初速が粒子の速度に依存するようになります。係数をマイナスにすれば、当然移動方向の反対側に煙を吐くことになります。

実際の動きは動画でないと良くわからないので、YouTubeを使って動画を上げてみます。初期速度0.5と-0.75の場合を作って見ました。
(2.53時に作成した動画です。)

初期速度0.5の場合

初期速度-0.75の場合

まぁ、実用に耐える納豆ミサイルまで持っていくには、まだまだ工夫が必要そうです。

ちなみにこの場合は箱の表面を煙が通り抜けないので(Closedな境界)、煙が境界に溜まっています。これはDomain の設定で Openな境界にすることができます。

Blender 2.68 の時点で、煙と炎を別々に設定しやすくなりました。下が2.68で作成した納豆ミサイルの例になります。
以前よりも楽に良い煙の作成ができるようになっているようです。

inserted by FC2 system