smokePuffとは?
、何かを燃焼させることによって生成される煙の小さくふわっとした塊を指します。主に煙草やタバコの煙、または火をくべた際に出る煙がこの用語で指されます。~Goong.com – 新世代の辞書~
ボフッとパフっとする煙表現が必要となったので、今回はBlenderで挑戦しました👍
自分の備忘録としてまとめます。皆さんのお力にもなれば書いた甲斐があります👍
今回使用するverはBlender4.4.3です
smokePuffの制作手順
- 基本的任意ですが、下記の設定で進めました
- 画像サイズ:1980pixl×1020pix
- 30fps
- 映像の長さ60F
- Sun(太陽光)を生成
Strength:10
※太陽光なり、ライトなりを作らないと、煙は真っ暗です

なんでもいいのですが、メッシュのポリゴン頂点数が結構ある状態にしてください
私が使用して成功したのは下記メッシュです
- IcoSphere
- Circle(CircleをGridFillで細分化おこなう)


ObjectModeへ変更+Step2のメッシュを選択した状態で、
Object⇒QuickEffects⇒QuickSmokeを適用
アウトライナーに「SmokeDomain」が追加されました
ビュー上にオレンジのキューブ上のガイド(SmokeDomain)も生成されます
ここまでで、下記のような関係が出来上がります
発生源のメッシュ:Step1で作成したメッシュ
シミュレーション領域のボックス:Step2で作成したsmokeDomain
smokeDomainのボックスは適宜サイズを変更できます
サイズの変更は、smokeDomainのボックス選択後の[ObjectsProperties]から行います

💡今回はsmokeDomainのサイズをXY20Z10としました
小さすぎると煙があまり発生してくれません
天井にぶつかって散霧するタイミングを早めたいので、天井(Z)を低くしました
発生源のメッシュを選択した状態で、PhysicsPropertiesパネルを表示させます
①Densityにキーフレームを打ち、煙が発射し終わるアニメーションを作成
今回は10FにDensity1、11Fで0とキーフレームに数値を入力しました


- Densityが高いほど、空間に生成される煙や液体が濃く・多くなる
- 煙の場合、密度に応じて浮力(Buoyancy Density:煙が上昇しやすい度合い)が変化
- 液体でも同様に、Densityで流体の量や動きを制御
②InitialVelocityにキーフレームを打ち、煙を勢いよく飛ばすアニメーションを作成
Densityと同じタイミングにキーフレームを打ちました
10F:90m/s 11F:0m/s


- BlenderのInitial Velocity(初期速度)は、物理シミュレーション(煙・流体・パーティクル等)で発生直後の移動速度や方向を決めるパラメータ
- 初期速度を設定すると、煙やパーティクルが“ただ発生する”だけでなく、指定した向きへ「飛び出す」「流れる」挙動をします
- 初期速度が「0」だと、煙は発生源の場に留まりやすく、浮力圧力のみで拡散
初期速度を上げることで、爆発・疾走・風の強さなど「物理的な勢い」を演出できます
③ノイズテクスチャーを割り当てる
TexturePropertiesでテクスチャーを作成
- Type:Cloud
- Colouds・Colorsのパラメーターを適宜調整

PhysicsPropertiesパネルに戻り、Textureに上述で作成したTextureを割り当てます


- Blenderの**smokeDomain(スモークドメイン)は、煙(Smoke)や炎(Fire)のシミュレーションを行うためのシミュレーション領域(箱)**として機能
- ドメインの中のみで煙シミュレーションが計算され、外には煙は出ません
- ドメインのサイズや解像度によって、煙/炎の細かさ・なめらかさ・計算速度が変わります
ドメインが大きすぎると計算が重くなり、小さすぎると煙が箱の外で消えてしまいます - ドメインの設定(例:「Border Collisions」)で煙がドメインの壁にぶつかる・抜けて消えるなどの挙動が選べます
- ドメイン内の物理パラメータ(浮力、乱流、消滅など)により、煙の動きや現れ方を調整します
アウトライナ内のSmoke Domainを選択して、PhysicsPropertiesパネルを設定します
- DmainType:Gas
ガスが噴き出る動きを出したい - ResolutionDivisions:64
この数値が高ければ高い程きめ細かい解像度で煙描画できるが、マシンスペックが高くないとフリーズして動かなくなります
中でもグラフィックボードの性能が高くないと固まってしまいます - BorderCollosions
接触判定のパラメータです
今回は天井に当たって跳ね返って欲しい、床を突き抜けないでほしいので、Top・Bottomにチェックを入れました - Noise
こちらでも、煙のうねりを追加する事が出来ます


Timeに入力した数値=煙の発生を止めたいフレームとなります
今回はラストの60Fで煙が消え切って欲しいので、10Fで煙発生を止めました

その他のアレンジ
ForceFieldを追加して、お好みのうねりに


Smoke Domainのマテリアルで煙のルックをデザイン
Smoke Domainにはデフォルトで、PrinsipledVolumeが適用されています

- Color:煙の色を変える事が出来ます
- Density:煙の密度を変える事が出来ます
- Anisotropy:数値が+1に近づく暗くなり、-に近づくと発光します

参考文献

この度はありがとうございました!




コメント