Blenderで炎や煙のエフェクトを作ろうとすると、大掛かりな物理演算(流体シミュレーション)を想像するかもしれません。しかし、流体シミュレーションはパソコンへの負荷が非常に重く、ベイク(計算)にも時間がかかります。
そこで今回は、もっと手軽に、かつ非常にリアルな仕上がりになる「パーティクルシステム」と「モディファイア」を組み合わせた火炎放射アニメーションの作り方を解説します!
今回はBlenderでおなじみのメッシュオブジェクト「モンキー(スザンヌ)」の口から、首振りの動きに合わせて大迫力の炎が噴き出す演出を作っていきます。最新の日本語環境に対応し、具体的な設定数値も網羅した決定版ガイドです。
下は完成動画です。
1. 炎と煙の「元となるオブジェクト」を作る
まずはパーティクルとして大量に噴射するための「炎の粒」と「煙の粒」の形を作ります。ディスプレイスメントモディファイアを使って、不規則に変形しながら動く球体を作っていきます。
下の動画を参考にしてください。
ステップA:ベースの球体を用意する
- 事前に 「編集」>「プリファレンス」>「アドオン」 から
Extra Objectsと検索し、「追加メッシュ:Extra Objects」 にチェックを入れておきます。 - 3Dビューポート上で [Shift + A] > 「メッシュ」 > 「Round Cube(ラウンドキューブ)」 を追加します。
- 画面左下の設定欄で、半径などのパラメータを調整し、綺麗な球体(サブディビジョンをかけたような立方体)にします。
ステップB:モディファイアで不規則にうねらせる
- 追加したオブジェクトを選択し、「モディファイアプロパティ(スパナのマーク)」 ➔ 「サブディビジョンサーフェス」 を追加します。
- さらに 「ディスプレイスメント」 モディファイアを追加し、[新規] をクリックしてテクスチャを作成します。
- テクスチャプロパティに移動し、タイプを 「クラウド」 、サイズを
0.8に設定します。 - オブジェクトを右クリックして 「スムーズシェード」 を適用します。
ステップC:エンプティを使ってアニメーションさせる
- [Shift + A] > 「エンプティ」 > 「十字」 を追加します(見えやすいように半径を
2にしておきます)。 - 先ほどの球体を選択し、ディスプレイスメントモディファイアの座標を「ローカル」から 「オブジェクト」 に変更し、オブジェクト欄に 「エンプティ」 を指定します。
- エンプティを選択し、オブジェクトプロパティの 「回転 Y」 の欄に
#frame / 20と入力して、再生したときに自動でエンプティが回転するようにします。- 💡 これで、球体の表面がウネウネと生き物のように動くようになります。
2. 炎と煙の「マテリアル(質感)」を設定する
うねる球体ができたら、それを「炎」と「煙」の見た目に仕上げていきます。事前にアドオンの 「Node Wrangler」 を有効にしておいてください。
下の動画を参考にしてください。
🔥 炎のマテリアル(1つ目の球体)
球体を選択し、シェーダーエディターに切り替えて新規マテリアルを作成します。最初にある「プリンシプルBSDF」は削除します。
- [Shift + A] > 「放射(Emission)」 と 「透過BSDF(Transparent BSDF)」 を追加します。
- [Shift + Ctrl] を押しながら右クリックドラッグで2つのノードを結び、「シェーダーミックス」 でブレンドします。
- 💡 マテリアルプロパティの「設定」内にあるブレンドモードを 「アルファブレンド」 に変更して、透明度を有効にします。
- 放射のカラーに 「カラーランプ」 を繋ぎ、カラーランプの補間を 「イーズ(Ease)」 に変更します。
- カラーランプの左側(黒)を オレンジ系、右側(白)を 黄色系 の色に設定し、スライダーを右側に寄せて調整します。
- 放射の「強さ」を
10に設定します。
💨 煙のマテリアル(2つ目の球体)
- 炎の球体を [Shift + D] でY軸方向に複製し、マテリアルの割り当て画面にある「数字ボタン(ユーザー数を単一化)」を押して独立させます。
- こちらは黒と白のカラーランプを使い、ノイズテクスチャ(スケール:
1、細かさ:15)などを係数に繋いで、半透明の煙の質感を表現します。
下の動画を参考にしてください。
3. パーティクルシステムで勢いよく噴射する
いよいよ、作った「炎」と「煙」の粒を大量に飛ばすための「噴射口」を用意し、パーティクルを設定します。
- [Shift + A] > 「メッシュ」 > 「円(Circle)」 を追加します。左下の設定でフィルタイプを 「Nゴン(NGon)」 にして蓋をします。
- これを [R] ➔ [Y] ➔
-90で横に90度回転させ、放射のノズル(噴射口)にします。
☄️ 炎のパーティクル設定
噴射口(円)を選択し、「粒子プロパティ(パーティクルマーク)」 から [+] をクリックして新規パーティクルを追加します。
下の動画を参考にしてください。
- 放射(Emission):
- 数:
5000 - 開始フレーム:
25(後述するモンキーの動きに合わせます) - 終了フレーム:
350 - 寿命:
50 - 寿命のランダム化:
0.5
- 数:
- 速度(Velocity):
- ノーマル:
3 - Z軸(オブジェクト軸):
5 - ランダム化:
1
- ノーマル:
- 回転(Rotation):
- チェックを入れ、ランダム化、位相のランダム、ダイナミックにチェックを入れます。
- レンダー(Render):
- レンダー方法: 「オブジェクト」
- インスタンスオブジェクト: 最初に作った 「炎の球体」 を指定。
- スケール:
1 - スケールのランダム化:
1
- フィールドの重み(Field Weights):
- 重力(Gravity):
-0.25(炎が熱気で少しずつ上に向かって舞い上がるようにするため)
- 重力(Gravity):
📊 サイズのコントロール(ここが超重要!)
そのまま飛ばすと、炎の粒が全部同じ大きさのまま飛んでいってしまいます。先端に行くほど実妙に形が変わるように設定します。
下の動画を参考にしてください。
- パーティクル設定の最下部にある 「テクスチャ」 を開き、新規作成してテクスチャタブへ移動します。
- タイプを 「ブレンド(Blend)」 にします。
- 影響パネルの「時間」のチェックを外し、「サイズ(Size)」 にチェックを入れます。
- マッピングパネルの座標を「生成」から 「ストランド/粒子(Strand / Particle)」 に変更します。
- カラーパネルの 「カラーランプ」 にチェックを入れ、グラデーションを調整して「最初は小さく、途中から大きく、最後は消える」ようなサイズ変化のカーブを作ります。
💨 煙のパーティクルを追加する
- 噴射口(円)に、もう一つパーティクルシステムを追加(2つ目のプラスボタンをクリック)します。
- こちらの数は
3000、寿命60、寿命のランダム化0.8に設定します。 - レンダーのインスタンスオブジェクトには、2つ目の 「煙の球体」 を指定します。
- 煙用のテクスチャサイズ(カラーランプ)も複製し、煙は「炎よりも後半(飛んだ先)で大きく広がる」ように、スライダーを少し右側に寄せて調整します。
下の動画を参考にしてください。
4. モンキー(スザンヌ)の口と連動させてアニメーションを仕上げる
ここから、今回の主役である「モンキー(スザンヌ)」を登場させ、その口から炎が噴き出すように連動(ペアレント)させていきます。モンキーが首を振る動きに合わせて、炎と煙がダイナミックにうねるアニメーションを作ります。
下の動画を参考にしてください。
ステップA:モンキーと噴射口を配置する
- 3Dビューポート上で [Shift + A] > 「メッシュ」 > 「モンキー」 を追加します。
- モンキーを右クリックして 「スムーズシェード」 を適用し、モディファイアで 「サブディビジョンサーフェス」 をかけて滑らかにしておきます。
- 前回までに作った噴射口(円のオブジェクト)を、モンキーの口元(少し奥側)に移動・縮小して配置します。
- 噴射口の向きが、モンキーの顔の正面(手前側)を向くように位置を合わせて調整します。
ステップB:親子関係(ペアレント)を設定する
下の動画を参考にしてください。
モンキーが動いたときに、口の中の噴射口がズレずにしっかりと付いてくるように「親子関係」を構築します。
- 先に 「噴射口(円)」 を左クリックで選択します。
- 次に [Shift] キーを押しながら「モンキー」 を左クリックで追加選択します(モンキーがアクティブ選択の明るいオレンジ色になります)。
- その状態でキーボードの [Ctrl + P] を押し、メニューから 「オブジェクト」 を選択します。
これでモンキーが「親」、噴射口が「子」になりました。モンキーを動かしたり回転させたりすると、口元の噴射口も一緒に連動して動くようになります。
ステップC:モンキーに「首振りアニメーション」をつける
下の動画を参考にしてください。
ハッチが開いて炎が噴き出し、左右になぎ払うリアルなキーフレームを設定します。
- タイムラインを 「1フレーム目」 に合わせます。
- モンキーを選択し、プロパティパネルの 「回転 Z」 を
0°にして、数値の上で [Iキー] を押してキーフレームを打ちます。 - タイムラインを 「20フレーム目」 に進めます。ここでも一度 「回転 Z」 にキーフレームを打ちます。
- 💡 これに合わせ、先ほど設定した両方のパーティクル(炎・煙)の「開始フレーム」が
25になっていることを確認してください。これにより、25フレーム目から炎が噴き出し始めます。
- 💡 これに合わせ、先ほど設定した両方のパーティクル(炎・煙)の「開始フレーム」が
- タイムラインを 「30フレーム目」 に進め、モンキーを少し左に向けます(「回転 Z」 を
30°にして [Iキー])。 - タイムラインを 「120フレーム目」 に進め、今度は右側をなぎ払うように向けます(「回転 Z」 を
-30°にして [Iキー])。 - 「180フレーム目」 で、再び正面を向くように戻します(「回転 Z」 を
0°にして [Iキー])。
5. 動かしてみよう!
設定が完了したら、タイムラインを1フレーム目に戻し、スペースキーで再生してみましょう!
20フレーム目までは静かに佇んでいたモンキーですが、25フレーム目を過ぎた瞬間、口元から大迫力の火炎放射が噴き出します! さらに、30フレーム目からモンキーが首を左右に激しく振る動きに連動して、炎と煙の粒子が慣性を持ってウネウネと空間に軌跡を残しながらなぎ払われます。
さらにリアルに見せたい場合は、レンダー表示([Zキー] ➔ レンダリング)に切り替え、ワールドプロパティの「カラー」を真っ黒(強さ 0)にし、近くにエリアライトなどを配置してみてください。炎自体の眩しい光がモンキーの顔を怪しく照らし、最高にリアルな特撮風のアニメーションに仕上がります!
下の動画がレンダリング設定しての出力展開です。
まとめ:今回のポイント
- ディスプレイスメント ➔ エンプティ連動: 炎の1粒1粒が常にランダムに変形しながら動くため、パーティクル特有の「ただの球体が飛んでいる感」を完全に消すことができます。
- モンキーへのペアレント(Ctrl + P): 円(噴射口)をキャラクターの口元に子オブジェクトとして配置するだけで、どんなキャラクターからでも強力なブレスを吐かせることができます。
- パーティクルの開始フレーム調整: キャラクターのアニメーション(首を振る動き)のキーフレームと、パーティクルの「開始フレーム」の数値をきっちり連動させることが、不自然さを無くす最大のコツです。
重い流体シミュレーションを使わなくても、これだけ大迫力な炎がサクサク作れるのがパーティクルシステムの強みです。ぜひモンキーに色々な動きをつけたり、マテリアルの色を変えたりして、オリジナルのブレス演出を楽しんでみてくださいね!
