【Blender・アニメーション炎シリーズ④】オブジェクト変形とパーティクルで作る「アニメ風の炎エフェクト」の作り方

Blenderのディスプレイスとパーティクルで表現したリアルな炎の3DCGアニメーション

流体シミュレーションを使わず、オブジェクトのモデリング、特殊なマテリアル構築、ディスプレイスでのゆらめき、精度高く上部から吹き出す火の粉(パーティクル)まで、動画の解説手順を完全に再現したチュートリアルです。

下が完成動画となります。

ステップA:ベースの形を整える

1. モデリング:ベースの形状と手・口の作成

下が、説明動画となります。

  1. [Tabキー] を押して「編集モード」に入ります。
  2. 画面上にあるデフォルトの立方体(Cube)を選択した状態で、[Ctrl + R] を押します。
  3. 説明動画の様に、立方体の周りに [Ctrl + R]、ループカットして区切っていきます。

ステップB:火のゆらめきの突起(頭部)を作る

  1. オブジェクトの 上面にある3つの面 を選択して、それぞれに [Eキー] で押し出し、[Sキー] で縮小して火を作ります。
  2. [Eキー] で上に押し出し、[Sキー] で少し縮小します。
  3. 色々な角度で見ながら [Eキー] で押し出し、[Sキー] で縮小、[Rキー] で回転させながら、火のゆらめきに見えるように左右別々に押し出していきます。
  4. 全体のシルエットを柔らかく調整するため、[Oキー] を押して「プロポーショナル編集」をオンにします。ループ選択([Alt + 左クリック])などをして [Sキー] で拡大し、マウスホイールを転がして影響範囲を調整しながら柔らかい形状に整えます。
  5. 説明動画を参照してください。

ステップC:手を生やす

  1. プロポーショナル編集を一度オフにします。
  2. 側面(手の位置に相当する部分)の 2つの面 を選択し、それぞれに [Eキー] で押し出し、[Sキー] で縮小して手を作ります。[Iキー] で面を挿入してから、 [Eキー] で押し出し、[Sキー] で縮小ても問題ないです。
  3. 反対側の手も同様に、面を [Iキー] で挿入 ➔ [Eキー] で2回押し出しと[Sキー] で縮小して手を作り作成します。
  4. 説明動画を参照してください。

ステップD:口を作るステップ:ベースの形を整える

下が、説明動画となります。

形状が確定したら、[Tabキー] を押して「オブジェクトモード」に戻り、 [Ctrl + 2] を押しブディビジョンサーフェスをかけた状態にして細分化しておきます。

💡 これにより「サブディビジョンサーフェス」モディファイアが適用され、ビューポートのレベル数が「2」になります。

説明動画の様に、全体像を調整して好みの火の形に整えます。

[Tabキー] を押して「編集モード」に入ります。

また同じく説明動画の様に、新たに[Ctrl + R]のループカットを使用して区切りを追加してください。

  1. 正面を向き、動画の様に口の位置に相当する面を8個を複数選択します。
  2. [Iキー] で面を挿入し、[Eキー] で内側(奥)へ押し下げます。
  3. 正面から見ながら、頂点を [Gキー] などで動かしてトトロのように大きく広がった口の形を整えます。
  4. 形ができたら [Tabキー] で「オブジェクトモード」に戻り、右クリックから 「スムーズシェード」 を適用します。

2. シェーディング:3次元グラデーションと透過の設定

下が、説明動画となります。

画面上部のタブから 「Shading(シェーディング)」 ワークスペースに移動します。

事前準備:ノードラングラーの有効化 「編集」➔「プリファレンス」➔「アドオン」を開き、Node と検索して 「Node Wrangler」 にチェックを入れて有効化しておきます。

ステップA:球状グラデーションの構築

  1. 画面下のシェーダーエディターで「新規」を押し、最初からある「プリンシプルBSDF」を選択して [Xキー] で削除します。
  2. [Shift + A] ➔ 「シェーダー」 ➔ 「放射」 を追加し、「マテリアル出力」の [サーフェス] に繋ぎます。
  3. [Shift + A] ➔ 「テクスチャ」 ➔ 「グラデーションテクスチャ」 を追加します。
  4. [Shift + A] ➔ 「コンバーター」 ➔ 「カラーランプ」 を追加し、グラデーションテクスチャと放射の間に挟みます。
  5. グラデーションテクスチャのノードを選択した状態で [Ctrl + T] を押し、「テクスチャ座標」と「マッピング」を自動接続させます。
  6. グラデーションテクスチャの補間設定(初期はリニア)を 「球 2次式」 に変更します。
  7. マッピングノードの 「位置(Location)」の数値を調整 して、模様の中心がオブジェクトの真ん中に来るように合わせます。
    • 💡 動画内での数値目安:X: -0.5, Y: 0.1, Z: -0.6(モデルの大きさによって微調整してください)。
  8. カラーランプの左側のつまみ(黒)を 「赤色」、右側のつまみ(白)を 「オレンジ色」 に変更します。

ステップB:フレネルを使った輪郭の透過処理

下が、説明動画となります。

  1. [Shift + A] ➔ 「シェーダー」 ➔ 「透過BSDF」 を追加します。
  2. 放射シェーダーと透過BSDFをミックスするため、[Ctrl + Shift] を押しながらマウスを右クリックドラッグ して2つのノードを結び、「ミックスシェード」 ノードを自動生成します。
  3. [Shift + A] ➔ 「入力」 ➔ 「フレネル」 を追加します。
  4. フレネルの [係数] を、ミックスシェーダーの [係数(Fac)] に差し込みます。
  5. 輪郭側を不透明、内側を透過(あるいはその逆)にするため、ミックスシェーダーに繋がっている「放射」と「透過BSDF」の 上下の接続を入れ替えて 反転させます。
  6. フレネルの「屈折率(IOR)」を、[Shiftキー] を押しながら左右にドラッグ してゆっくり動かし、輪郭線が綺麗に見えるように微調整します。
  7. 完全な透明ではなく少し不透明度を残すため、フレネルとミックスシェーダーの間に [Shift + A] ➔ 「コンバーター」 ➔ 「カラーランプ」 を挟みます。左側の黒いツマミの色を 「グレー」 に変更して、透明度を好みの度合いに調整します。
  8. 「放射」ノードの 「強さ(Strength)」 を引き上げて、お好みの明るさに光らせます。

3. コンポジティング:ブルーム(発光)の設定

下が、説明動画となります。

  1. 画面上部タブの 「Compositing(コンポジティング)」 ワークスペースに切り替えます。
  2. 画面上の 「ノードを使用」 にチェックを入れます。
  3. [Shift + A] の検索から 「グレア(Glare)」 を追加し、「レンダーレイヤー」と「コンポジット」の間に挟みます。
  4. グレアノードの種類をデフォルトの「ストリーク」から 「ブルーム(Bloom)」 に変更します。
  5. 再び「Shading」ワークスペース等に戻り、3Dビューポート右上にあるビューポートシェーディングのメニュー(丸が4つ並んでいる横の下矢印)を開き、「コンポジター:常に」 にチェックを入れます。
    • 💡 これで、レンダリングしなくても画面上で常にブルームの発光プレビューを確認しながら作業できます。

ステップA:スマートUV展開と画像作成

4. アニメーション:ディスプレイスによるメラメラ感

下が、説明動画となります。

  1. モディファイアプロパティを開き、「モディファイアを追加」 ➔ 「変形」 ➔ 「ディスプレイス」 を選択します。
  2. ディスプレイス内の 「新規」 ボタンをクリックし、右側にある小さなテクスチャアイコンをクリックしてテクスチャプロパティへ移動します。
  3. タイプを「画像または動画」から 「クラウド」 に変更します。
  4. クラウドの「サイズ」の数値を動かして少し大きくし、形の乱れをマイルドにします。
  5. モディファイアプロパティに戻り、ディスプレイスの 「強さ(Strength)」を 0.3 程度 に下げます。
  6. 3Dビューポート上で [Shift + A] ➔ 「空(Empty)」 ➔ 「十字」 を追加します。
  7. 再びカルシファーの本体を選択し、ディスプレイスモディファイアの「座標」を「ローカル」から 「オブジェクト」 に変更し、「オブジェクト」の空欄に今作った 「空(Empty)」 を指定します。
  8. 空(Empty)を選択し、画面右側のオブジェクトプロパティ(オレンジの四角マーク)を開きます。
  9. 回転や位置のアニメーションを数式で自動化するため、「位置 Z」の入力欄をクリック し、以下の数式(ドライバー)を直接入力してエンターキーを押します。
    • 入力する文字列:#frame / -10
    • 💡 これでスペースキーを押して再生すると、Z軸方向にEmptyが自動で動き、表面がメラメラと無限にゆらめき続けます。

5. テクスチャーペイント:顔(目)の作成

下が、説明動画となります。

  1. カルシファー本体を選択し、「UV Editing(UV編集)」 ワークスペースに移動します。
  2. 編集モードで [Aキー] を押し、メッシュを全選択します。
  3. [Uキー] ➔ 「スマートUV投影」 を選択し、そのままOKを押して自動展開します。
  4. 左側のUVエディター上部にある 「新規」 ボタンを押し、名前を 「カルシファー顔」 にします。
  5. 幅と高さを 2048(または2000など)に設定し、「カラー」の欄をクリックして「アルファ(α)」の値を 0(完全に透明) にしてOKを押します。

ステップB:目のペイント

下が、説明動画となります。

  1. 「Texture Paint(テクスチャペイント)」 ワークスペースに移動します。
  2. 画面右側(あるいは上部)のブラシ設定から「減衰」を開き、「ホッチキスマーク(一番クッキリした形状)」 を選択してボケ足のないブラシにします。
  3. 左右対称に目を描くため、画面上部にある 「対称(蝶のマーク)」の「X」 をオンにします。
  4. 口の位置が分かりづらい場合: オブジェクトプロパティ(オレンジの四角) ➔ 「ビューポート表示」 ➔ 「ワイヤーフレーム」 にチェックを入れるとメッシュの構造(口の場所)を見ながら描くことができます。
  5. 黒や白、赤などの色を切り替えながら、好みの目をペイントします。
  6. 描き終わったら、ペイント画面の左上メニュー 「画像」 ➔ 「名前を付けて保存」 で、描いた目を必ずパソコン内に保存してください。

ステップC:シェーダーで「体」と「目」を合成する

  1. 「Shading」 ワークスペースに戻ります。
  2. [Shift + A] ➔ 「テクスチャ」 ➔ 「画像テクスチャ」 を追加し、画像選択アイコン(下向き矢印)から先ほど保存した 「カルシファー顔」 を指定します。
  3. [Shift + A] ➔ 「シェーダー」 ➔ 「放射」 を追加し、画像テクスチャの [カラー] を、この新しい放射の [色] に繋ぎます。
  4. 体のマテリアル(一番右側のミックスシェーダー)の後に、さらに合成するための 「ミックスシェード」 を挟みます。
    • 💡 元々のミックスシェーダーのアウトプットと、今作った「目の放射」の2つを、この新しいミックスシェーダーに接続します。
  5. 正しく目を切り抜くため、画像テクスチャの [アルファ(Alpha)] 端子から、新しいミックスシェーダーの [係数(Fac)] 端子へと線 を繋ぎます。
    • 💡 これで、目の描かれた部分だけがクッキリと体の上に合成されます。ワイヤーフレーム表示はオフに戻しておきましょう。

6. パーティクル:頭部から湧き出る「火の粉」の表現

最後に、頭の先からパラパラと上空へ消えていく火の粉(焚き火のような演出)を追加します。

ステップA:放出するエリアを「頂点グループ」で指定

下が、説明動画となります。

  1. カルシファー本体を選択し、[Tabキー] で編集モードに入ります。
  2. 頭部(火の粉を出したいトップの周辺)の面をいくつか複数選択し、[Ctrl + テンキーのプラス(+)] を数回押して選択領域を少し広げます。
  3. 画面右側のオブジェクトデータプロパティ(緑の逆三角形マーク)を開き、「頂点グループ」 の右側にある「+」ボタンを押します。
  4. グループが作成されたら、その下にある 「割り当て(Assign)」 ボタンを必ずクリックします。
  5. [Tabキー] でオブジェクトモードに戻ります。

ステップB:パーティクル(火の粉)の基本設定

  1. カルシファー本体を選択した状態で、「パーティクルプロパティ」(丸から3本の線が出ているマーク)を開き、「+」ボタンで新しくシステムを追加します。
  2. [スペースキー] を押してアニメーションを再生すると、全体からピンポン玉のようなものが落ち始めます。
  3. パーティクル設定内の「フィールドの重み(Field Weights)」を開き、「重力(Gravity)」の数値を -0.3 程度 に設定します。
    • 💡 数値をマイナスにすることで、重力に逆らって上へフワフワと湧き上がるようになります。
  4. パーティクル設定内の一番下にある「頂点グループ(Vertex Groups)」を開き、「密度(Density)」 の空欄をクリックして、先ほど作成した「グループ」を指定します。これで頭の先からだけ湧き出るようになります。

ステップC:火の粉となるオブジェクト(ICO球)を割り当てる

  1. 3Dビューポート上で [Shift + A] ➔ 「メッシュ」 ➔ 「ICO球(アイコスフィア)」 を追加します。
  2. 追加直後に画面左下に出るメニューを開き、「細分化(Subdivisions)」の数値を 1 に下げて軽いメッシュにします。
  3. このICO球を少し横に移動させておきます。
  4. ICO球を選択した状態でマテリアルプロパティを開き、新規ではなく、一覧から「カルシファー本体のマテリアル(一番最初に作ったもの)」 を選択して割り当てます。
  5. 目のテクスチャが混ざるのを防ぐ処理: 上部タブの「Shading」に一瞬切り替え、マテリアル名(Material.001など)の横にある 「2」という数字(シングルユーザー化)をクリック して独立させ、画像テクスチャや目用のノード(合成用のミックスシェーダー)を [Xキー] で削除し、ピュアな炎の放射ノードだけを直接マテリアル出力に繋ぎ直します。
  6. カルシファー本体を選択し、パーティクルプロパティに戻ります。
  7. 「レンダー(Render)」項目を開き、「レンダー方法(Render As)」を「ハロー」から 「オブジェクト」 に変更します。
  8. その下に出現する「インスタンスオブジェクト」の スポイトマーク をクリックし、3Dビューポート上の 「ICO球」をクリック して指定します。
  9. 火の粉の量や見た目の最終調整を行います。
    • 数(Number): 150300 程度(動画内では150に変更)
    • 寿命(Lifetime): 少し短めにして、上に登ったらすぐ消えるように調整。
    • スケール(Scale): 火の粉の大きさをお好みに調整します。
    • スケールのランダム度(Scale Randomness): 数値を上げて大小バラバラの火の粉にします。
  10. ICO球そのものが画面に映ると邪魔なので、アウトライナー(画面右上のオブジェクト一覧)で、火の粉用のICO球の カメラマーク(レンダリング不可)と目玉マーク(非表示) をオフにして隠します。

これですべての手順が完了です!再生すると、上部からパキッと発光した火の粉を吹き出しながら、全体がメラメラとリアルに燃え盛る(炎のエフェクト)そのまんまの表現が完成します。

Blenderによる「」の表現の仕方をシリーズ化して、違いや使い方の理解になればと特集しています。
色々と見比べて、何が違うか?使い分けは?・・と比較検討してみてください。

次の「取り組み」ではエフェクトの作り方での長短等をまとめて、Blenderの学び方にスポットをあてたいと思います。