Skip to content

第05回 炎・煙

前回: 第04回 火花・ヒット / 次回: 第06回 爆発

注意

この授業には提出課題があります

提出方法は 授業内で説明します

前回の振り返り

ヒットエフェクトを作りました

  • 第04回では火花、フラッシュ、リングを組み合わせて 短時間で消えるヒットエフェクトを作りました
  • Bursts、短い寿命、色とサイズの時間変化を使い ワンショット表現の基本を学びました
  • 今回は連続的に発生する炎・煙を作り やわらかく変化するエフェクトを作ります

今回の授業の目的

炎と煙の基本表現を作る

画像

  • 炎と煙がどのような要素で構成されるかを 分解して考えます
  • Particle System で 上へ伸びる炎とゆっくり広がる煙を作ります
  • テクスチャーアニメーションやノイズを使って 自然な揺らぎを加えます
  • 火花とは異なる、連続的でやわらかい エフェクトを作れるようになることが目標です

今回の授業内容

テクスチャーアニメとノイズ

  • 炎と煙の構成
  • ループエフェクトの考え方
  • 炎の Particle System 設定
  • 煙の Particle System 設定
  • テクスチャーアニメーションとノイズ
  • 授業内課題

炎と煙の違い

調整の違いだけで別物に

  • 炎は光と熱の勢いを見せる表現です 上方向へ伸びながら、明るさと形が細かく揺らぎます
  • 煙は燃焼後に残る粒子や空気の濁りを見せる表現です ゆっくり広がり、薄くなりながら消えていきます
  • どちらも半透明の粒子を重ねて作りますが 色、速度、寿命、発生量の調整方針は大きく異なります

ループエフェクトとして考える

出続ける表現を安定させる

  • 煙や炎は一瞬だけ出て消えるのではなく 一定時間出続ける表現として扱うことが多いです
  • ループエフェクトでは 発生量、寿命、速度のバランスが重要です
  • 発生量が多すぎると重くなり、寿命が長すぎると画面に残りすぎます また、単にパーティクルの数が多ければ良い結果が得られるわけではありません
  • 処理負荷を考慮しながら密度と情報量を調整しましょう

炎の特徴

上へ伸び、明るく揺らぐ

  • 炎は下側が明るく 上へ行くほど暗く、透明になっていきます
  • 粒子は上方向へ移動しながら サイズや形が揺らぎます
  • 色は白、黄色、オレンジ、赤の順で 温度差を感じさせる構成にしやすいです
  • 煙よりも短い寿命で 速く動かすと炎らしくなります

炎の基本設定

最初の目安

項目目安目的
LoopingOn燃え続ける
Start Lifetime0.4 - 1.2速く消す
Start Speed1.0 - 3.0上へ伸ばす
Start Size0.2 - 0.8密度を作る
Rate over Time20 - 60連続感を出す
ShapeCone上方向へ集める

炎の色変化

明るい中心から赤く消す

  • 開始時は白や黄色に近い明るい色にします
  • 中盤でオレンジに寄せます
  • 後半で赤や暗い色に寄せつつ アルファを下げて消します
  • 発光感を出す場合は マテリアルの設定も合わせて調整します

煙の特徴

ゆっくり広がりながら薄くなる

  • 煙は発生直後は比較的濃く 時間が経つほど薄くなります
  • 粒子は上方向へゆっくり移動し 横方向へも少し広がります
  • サイズは寿命とともに大きくすると 空気中に拡散していく印象になります
  • 色は白、灰色、黒に近い低彩度を使います

煙の基本設定

最初の目安

項目目安目的
LoopingOn出続ける
Start Lifetime1.5 - 4.0ゆっくり消える
Start Speed0.3 - 1.5低速で上昇する
Start Size0.4 - 1.2大きめに見せる
Rate over Time5 - 20密度を作る
Gravity Modifier0 付近落下させない

煙の色と透明度

濃く出て薄く消す

  • Color over Lifetime で 後半のアルファを 0 にします
  • 開始直後から完全に濃いと 粒の発生位置が目立つ場合があります
  • 前半で少し濃くなり 後半で薄く消えるカーブにすると自然に見えます
  • 煙は画面を隠しやすいため アルファは控えめに調整します

煙のサイズ変化

拡散する印象を作る

  • Size over Lifetime で 寿命とともにサイズを大きくします
  • 後半で大きくしすぎると 画面を覆って見づらくなります
  • サイズのランダム幅を持たせると 同じ粒が並んだ印象を減らせます

炎と煙を重ねる

1つの現象を複数要素で作る

  • 炎だけだと軽く見え 煙だけだと燃えている印象が弱くなります
  • 下側に炎、上側に煙を重ねると 燃焼している雰囲気を作りやすくなります
  • 炎は短く強く、煙は長く薄く設定します
  • 役割を分けておくと 後から調整しやすくなります

ノイズの役割

不規則さを加える

画像

  • 煙や炎のような現象は規則的に動いているわけ ではなく、常に揺らいでいます
  • ノイズは粒子の動きや形に 不規則な変化を加えるために使います
  • Particle System の Noise モジュールを使うと 粒子の軌道を揺らすことができます
  • シェーダー基礎のノイズ回でも 同じ考え方をより詳しく扱います

Noise モジュール

粒子の軌道を揺らす

画像

  • Strength は揺らぎの強さです
  • Frequency は揺らぎの細かさです
  • Scroll Speed はノイズの変化速度です
  • 煙では弱くゆっくり 炎ではやや速く細かくすると扱いやすいです

テクスチャーシートアニメーション

コマ送りで表示を切り替える

画像
出典:Unity Technologies 「無料のVFX画像シーケンスとフリップブック」
https://unity.com/ja/blog/engine-platform/free-vfx-image-sequences-flipbooks

  • テクスチャーシートアニメーションは 1枚のテクスチャーを複数のコマに分割して 寿命に合わせ切り替え表示するアプローチです
  • 粒子の寿命に合わせてコマを切り替えることで 煙や炎の形が変化しているように見せられます
  • フリップブックとも呼ばれる表現方法で 連続的な変化を作るのに便利です

Texture Sheet Animation の設定

Particle System 側の設定

  • Texture Sheet Animation を有効にします
  • グリッド上にコマが並んでいるテクスチャーを 用意し Tiles の X と Y に分割数を設定します
  • Whole Sheet をオンにすると寿命全体で全コマを再生します
  • Single Row をオンにすると、行ごとにコマを切り替えます

テクスチャーアニメの調達

高度な素材であり、調達は難しいかも

  • テクスチャーアニメは、1枚のテクスチャーに複数のコマが描かれた素材です
  • 炎や煙の動きを丁寧に描くか物理シミュレーションが必要なため、 作成には専門的なスキルやツールが必要になります
  • Unity Technologies が Houdini で作成したVFX用のテクスチャーアニメを CC0で提供しています 利用を検討してみてください
  • 無料のVFX画像シーケンスとフリップブック
    https://unity.com/ja/blog/engine-platform/free-vfx-image-sequences-flipbooks

シェーダー基礎との接続

半透明と UV の知識を活用する

  • 炎と煙は半透明の重なりで表現します
  • マスクや Alpha の調整で 粒子の輪郭をやわらかくできます
  • UV スクロールを使うと 炎や煙の流れをマテリアル側で作れます
  • 今回は Particle System 側の機能を中心に扱い 後の回でシェーダーとの連携を強めます

実習 1

炎を作る

明るい色で めらめらと

実習1:炎の Particle System

短く速い粒子を重ねる

  1. 空の GameObject を作成する
  2. 子に Particle System を追加する
  3. Looping をオンにする
  4. Start Lifetime を短めにする
  5. Start Speed を高めにする
  6. ShapeCone にして上方向へ集める
  7. Rate over Time で密度を調整する

実習2:炎の色と揺らぎを調整する

明るく出て赤く消す

  1. Color over Lifetime で 白、黄色、オレンジ、赤の流れを作る
  2. 後半でアルファを下げる
  3. Size over Lifetime で上に行くほど細く見せる
  4. Noise を加えて揺らぎを作る
  5. あとで煙と重ねて全体のバランスを調整する

実習 2

煙を作る

ゆっくり広げて 静かに消す

実習3:煙の Particle System

ループする煙を作る

  1. 新しい Particle System を作成する
  2. Looping をオンにする
  3. Start Lifetime を長めにする
  4. Start Speed を低めにする
  5. Shape を調整して上方向へ発生させる

実習4:煙の見た目を調整する

色、透明度、サイズを整える

  1. 灰色系のマテリアルを割り当てる
  2. Color over Lifetime で後半を透明にする
  3. Size over Lifetime で少しずつ大きくする
  4. Noise を弱めに加える
  5. 画面を隠しすぎない密度に調整する

実習5:Texture Sheet Animation を試す

形の変化を加える

  1. 複数コマの煙または炎テクスチャーを用意する
  2. Texture Sheet Animation を有効にする
  3. Tiles の X と Y を設定する
  4. 寿命に合わせてコマが切り替わるか確認する
  5. 再生速度と発生量のバランスを調整する

授業内課題

炎と煙のどちらか、または 両方を使ったエフェクトを 提出してください

時間いっぱい 凝ってみて

課題の条件

以下を満たしてください

  • ループ再生される
  • Color over Lifetime で透明度が変化する
  • Size over Lifetime で大きさが変化する
  • Noise または Texture Sheet Animation を使っている
  • スクリーンショットまたは動画で結果が確認できる

提出時の説明

調整意図を添えてください

  • 炎、煙、または両方のどれを作ったか
  • どのパラメーターで動きの印象を作ったか
  • どのパラメーターで見た目の密度を調整したか
  • 改善したい点

今回のまとめ

炎と煙は連続的な変化で作る

  • 炎は短い寿命で上へ伸び、明るく揺らぐ表現です
  • 煙はゆっくり広がり、薄く消える表現です
  • Color over LifetimeSize over LifetimeNoise を使うと 連続的な変化を作れます
  • 次回は爆発のように、火花・炎・煙を組み合わせた複合表現へ進みます

おつかれさまでした!

次回予告 第06回 爆発

ワンショットを さらに重ね合わせる

参考資料