Blender物理シミュレーション(Smoke)

Blenderの煙シミュレーション「Smoke」機能の解説
当サイトの記事内リンクには広告を含む場合があります。

Blenderの煙シミュレーション機能

Smokeは煙を発生させるシミュレーションです。
2.5から搭載された機能で、2.65からはパーティクル無しで煙を簡単に発生させられるようになっています。

 

密度を上げた煙

 

使用バージョン
Blender2.65a、2.80

 

 

Smokeの基本

PropetiesShift+F7PhysicsSmokeを有効にします。

 

オブジェクトのモディファイアスタックにSmokeが追加されます。
(モディファイア側でできるのは並べ替えのみ)

 

Smoke関連パネル

以下は2.6系のパネルです。

 

Smokeパネル

シミュレーションの種類を選択します。

 

Domain
本体&発生範囲
Flow
発生源
Collision
障害物

 

Domain選択時

煙本体、発生範囲になります。立ち上る速度などの挙動を設定します。
Blender2.6のSmokeパネル(Domain選択時)

 

Resolution
Divisions
最大解像度

 

Time
Scale
シミュレーション速度

 

Border Collisions
ドメイン境界の状態
Open
開く
Vertically Open
上下のみ
Collide All
全て閉鎖

 

Behavior
Density
密度。高い値で煙が早く上昇する
Temp. Diff
熱の影響。高い値で煙が早く上昇する
Vorticity
煙の渦、回転量
Dissolve
時間と共に煙が消えるようにする
Time
煙が消えるまでの時間
Slow
煙消滅に1/xを使用し低速にする

 

Flow選択時

煙、炎の発生源です。
Blender2.6のSmokeパネル(Flow選択時)

 

Flow Type
Fire
Fire+Smoke
炎と煙
Smoke
Outflow
シミュレーションから煙を削除

 

Flow Source
Mesh
メッシュ表面またはボリュームから発生
Particle System
従来のパーティクル使用

 

Surface
メッシュ表面から煙の発生位置までの最大距離
Volume
メッシュボリューム内部から発生した煙の係数

 

Initial Velocity
煙発生時に初期速度を持つ
Source
ソースが煙になる速度
Normal
法線方向の煙の速度

 

Initial Values
Absolute Density
発生領域で与えられた密度の値のみ有効にする
Density(Smoke)
密度
Temp. Diff(Smoke)
周囲の温度との差

 

Smoke Color(Smoke)
3Dビューでの煙の色(レンダリング画像の煙に色を付ける場合は後述)
Flame Rate(Fire)
燃料の量。高い値で炎が高く燃え上がる

 

Collision選択時

煙を遮る障害物になります。
Blender2.6のSmokeパネル(Collision選択時)

 

Collision type
タイプ
Static
不動
Rigit
剛体
Animated
アニメーション

 

(Domain)Smoke Flamesパネル

Blender2.6のSmoke Flamesパネル

 

Reaction
Speed
燃焼反応の速さ
Smoke
燃料によって生じる煙の量
Vorticity
炎の追加の渦

 

Temperatures
Ignition
炎の最低温度
Maximum
炎の最高温度

 

Smoke Color
炎の燃料から生じる煙の色

 

(Domain)Smoke Adaptive Domainパネル

シミュレーション解像度、サイズを流体に適用させます。
Blender2.6のSmoke Adaptive Domainパネル

 

Resolution
Additional
追加する解像度
Margin
流体周囲から干渉する最小境界に追加されるマージン

 

Advanced
Threshold
空であると思われる前にセルに含める事のできる流体の最大量

 

(Domain)Smoke High Resolutionパネル

煙の解像度の設定を有効にします。
Blender2.6のSmoke High Resolutionパネル

 

Resolution
Divisions
煙の解像度。高い値程詳細になるがシミュレートが遅くなる
Smooth Emitter
煙を滑らかにしてノイズを防ぐ
Show High Resolution
高解像度を表示

 

Noise Method
高解像度の煙を生成するのに使用するノイズメソッド
Strength
ノイズの強さ

 

(Domain)Smoke Groupsパネル

Blender2.6ののSmoke Groupsパネル

 

Flow Group
指定した流体オブジェクトグループのみ使用する
Collision Group
指定した障害物オブジェクトグループのみ使用する

 

(Domain)Smoke Cacheパネル

Blender2.6のSmoke Smoke Cacheパネル

 

Compression
圧縮方法
Light
速いが効果的でない
Heavy
効果的だが遅い

 

External
外部からキャッシュを読み込む
Use Lib Path
他ファイルにライブラリがリンクされている時このファイルのパスを使う

 

File Name
キャッシュ名

 

Start/End
ベイク開始/終了フレーム

 

Bake
ベイク開始、解放
Calculate To Frame
物理演算をベイク
Current Cache to Bake
キャッシュからベイク
Bake All Dynamics
全ての物理演算をベイク
Free All Bakes
全てのベイクを解放
Update All To Flame
全ての物理演算をベイク

 

(Domain)Smoke Field Weightsパネル

Blender2.6のSmoke Field Weightsパネル

 

Effector Group
指定したグループのみエフェクターとして使用する

 

Gravity
重力の強さ
All
全てのエフェクターの強さ

 

Force
フォースエフェクターの強さ
Vortex
渦エフェクターの強さ
Magnetic
磁力エフェクターの強さ
Wind
風エフェクターの強さ
Curve Guide
カーブガイドエフェクターの強さ
Texture
テクスチャエフェクターの強さ
Harmonic
調和エフェクターの強さ
Charge
電荷エフェクターの強さ
Lennard-jones
レナードジョーンズエフェクターの強さ
Turbulence
乱流エフェクターの強さ
Drag
空気抵抗エフェクターの強さ
Boid
群れエフェクターの強さ

 

(Flow)Smoke Flow Advancedパネル

Blender2.6のSmoke Flow Advancedパネル

 

Use Texture
テクスチャを使用する
Vertex Group
煙発生に影響させる頂点グループ

 

Mapping
マッピングの種類
Size
テクスチャのサイズ
Offset
テクスチャのZオフセット

Smokeシミュレーションを使用する

2.6系以降なら3D ViewObjectQuick EffectsQuick Smokeから簡単に煙を設定できます。
適用したオブジェクトがFlowになり、Domainオブジェクトが生成されます。

 

使用オブジェクト

Quick Smokeを使用しない場合は、最低2つのオブジェクトを用意します。

 

煙本体&充満エリア

Smokeパネル→Domainを選択します。
拡大縮小する場合はObject Modeで行っておきます。

 

2.6系
通常、Edit Modeで拡縮した場合はレンダリング画像に反映されませんが、2.65からはTextureMappingパネル→Map to Boundsを有効にすると反映されるようになりました。

 

煙の発生源

Smokeパネル→Flowを選択します。
Domainオブジェクトの中に収まるように配置します。
Domainオブジェクトと煙の発生源

 

設定

Domainオブジェクトを選択し、Smoke Cacheパネル→Bakeでシミュレーションをベイクします。
Start、Endで指定されているフレーム数分シミュレーションを行うので必要があれば設定しておきます。

 

Bakeを利用するにはファイルを保存しておく必要があります。Physicsでの変更を行った場合はその都度Bakeで反映させるようにします。

 

シミュレーションベイク後、アニメーションさせると煙の動きを見る事ができます。

 

以下はデフォルト設定で98フレーム目の状態です。
デフォルト設定のSmokeシミュレーション

 

レンダリング

Domainオブジェクトにマテリアルとテクスチャを設定し、レンダリングに反映されるようにします。

 

Quick Smokeを使用して作成した場合は自動で自動でマテリアル(Smoke Domain Material)も付加されるので以下の設定は不要です。

 

2.8系

MaterialVolumeパネル→Principled Volumeを指定します。

 

Surfaceパネル側には指定しません。

2.6系
マテリアル
タイプVolumeを選択します。
テクスチャ
TypeVoxel Dataを選択し、Voxel Dataパネル→Domain ObjectにDomainとして割り当てたオブジェクト名を入力します。

Blender2.6のVoxel Dataパネル

 

Influenceパネル→Densityを有効にして、BlendのタイプをMultiplyまたはDarkenにします。
Blender2.6のInfluenceパネル

 

RGB to Intensityを有効にすると違った煙になります。

 

煙がレンダリングされます。
レンダリングされた煙

 

煙を高解像度にする

Domainオブジェクトを選択し、Smoke High Resolutionパネルを有効にして、シミュレーションをベイクします。

 

3D View上のシミュレーション、レンダリング画像
解像度を上げたSmokeシミュレーションレンダリングされた高解像度の煙

 

煙に色を付ける

2.8系
MaterialVolumeパネル→Colorで色を設定
2.6系
TexturesInfluenceパネルReflection Colorを有効にします。

Colorsパネル→Rampを有効にして、カラーランプ左に透明、右側に設定色が来るようにします。
Blender2.6のColorsパネル

 

Rampの代わりにRGB to Intensityを有効にしても設定されている色になります。

 

設定した色が反映されます。
右はSmoke High ResolutionパネルDivision:2、MaterialDensity Scale:2.000、Scattering:0.800を設定しています。
カラーランプの色が反映された煙密度を上げた煙

 

障害物を置く

適当なオブジェクトを追加してFlowオブジェクトの上部に置き、Smokeパネル→Collisionを選択します。
シミュレーションを行うと、煙がCollisionオブジェクトに遮られます。
障害物を置いたSmokeシミュレーション

 

レンダリングしたものです。右はSmoke Adaptive Domainパネルを有効にしています。
レンダリングされた障害物にぶつかる煙レンダリングされた障害物にぶつかる煙(Smoke Adaptive Domainパネルを有効)

Blenderで実現するドリーミーな世界

class101

ファンタジーな背景のモデリング作品を作れるようになる講座で、教材動画にはBlender初心者向けチャプターもあるので基本から学べます。
詳細は以下のサイトの「デジタルイラスト」カテゴリー内にあります。

 

【定額でオンラインレッスンが見放題】CLASS101+ を見る

電子書籍を執筆しました

【Kindle Unlimitedなら読み放題】Blenderでモデリングした3DCG作品集です。