Skip to content

第06回 爆発

前回: 第05回 炎・煙 / 次回: 第07回 軌跡

今回の授業内容

  • 爆発をフラッシュ、衝撃波、火花、炎、煙へ分解する
  • 要素ごとの発生時刻と寿命を設計する
  • 複数のParticle Systemを親オブジェクトへまとめる
  • ワンショット再生後に破棄できるPrefabを制作する
  • 粒子数と透明描画の負荷を確認する

爆発の構成:役割ごとに分ける

爆発は、明るい光、広がる圧力、飛び散る破片、 燃焼、煙の組み合わせとして考えられます

すべてを1つの Particle System に入れると 調整が難しくなります

役割ごとに子オブジェクトへ分けると 強さ、寿命、色、発生方向を個別に調整できます

爆発らしさは、要素の多さより役割とタイミングの整理で作ります

要素の時間差:最初が最も明るく、煙が最後に残る

爆発要素のタイミング
各要素の寿命をずらすと、爆発の立ち上がりと余韻が作りやすくなる

フラッシュは一瞬だけ強く出します

衝撃波は短時間で外へ広がります

火花は外方向へ飛び散り、すぐに消えます

炎は少し残って燃え、煙は最も長く残ります

ワンショット設定:再生されて消える構成にする

項目目安目的
LoopingOff1回だけ再生する
Duration0.5 - 1.0全体の発生時間
Start Lifetime要素ごと残り方を分ける
Start Speed要素ごと広がり方を分ける
Stop ActionDestroy再生後に消す

親オブジェクトの構成:子に要素を分ける

Explosionエフェクトの構成
  • Explosion
    • Flash
    • Shockwave
    • Sparks
    • Fire
    • Smoke

親オブジェクトは位置合わせ用として使います

各子オブジェクトにParticle Systemを持たせます

必要に応じて Play On Awake をオンにし 親を生成した瞬間に再生されるようにします

後から Prefab 化するとゲーム内で使いやすくなります

フラッシュ:一瞬だけ強く光らせる

フラッシュは爆発の中心に出る短い光です

寿命は 0.05 から 0.15 秒程度にします

色は白、黄色、オレンジのような高明度を使います

Size over Lifetime で急に大きくし、 すぐに小さくまたは透明にします

明るすぎる場合は粒子数よりアルファで調整します

衝撃波:円形に広がる動きを作る

衝撃波は爆発の圧力が外へ広がる印象を作ります

リング状のテクスチャーや円形の粒子を使うと作りやすいです

寿命は短めにし、Size over Lifetime で大きく広げます

後半でアルファを 0 にして自然に消します

シェーダー基礎の SDF や半透明の知識と相性が良い要素です

フラッシュと衝撃波の違い:中心の明るさと外側の広がり

要素役割調整の方向
フラッシュ爆発の瞬間を見せる明るい、短い、中心
衝撃波外へ広がる力を見せる大きく広がる、薄く消える

2つを分けると 中心の強さと広がりを別々に調整できます

フラッシュを長くしすぎると 爆発ではなく発光し続ける印象になります

火花:外方向へ速く飛ばす

火花は爆発の勢いを見せる要素です

Bursts で瞬間的に発生させます

ShapeSphereCone を使い 外方向へ飛ぶようにします

寿命は短め、速度は高めに設定します

Color over Lifetime で 黄色から赤、透明へ変化させます

火花の基本設定:最初の目安

項目目安目的
LoopingOff1回だけ出す
Start Lifetime0.2 - 0.6すぐ消す
Start Speed4.0 - 10.0勢いを出す
Start Size0.04 - 0.15細かく見せる
EmissionBurst瞬間的に出す
ShapeSphere外へ散らす

方向のランダムさ:きれいに広がりすぎないようにする

爆発の火花が完全な円形に並ぶと 人工的な印象になります

Start SpeedStart Size にランダム幅を持たせます

Noise を少し加えると 飛び方に揺らぎが出ます

ゲーム用途では、視認性を優先して 重要な方向へ多めに飛ばす調整も有効です

炎:短く燃えて消える

爆発の炎は、前回のループする炎より短くします

発生は Burst にし、寿命は 0.3 から 0.8 秒程度にします

中心付近に大きめの粒子を出し 後半で赤や暗い色へ寄せます

Texture Sheet Animation を使うと 形の変化が加わり、炎らしさが増します

煙:最後に残る余韻を作る

煙は爆発の最後に残る要素です

炎や火花よりも寿命を長くします

後半で大きく広がりながら薄く消します

色は灰色、黒、茶色など 爆発の種類に合わせて調整します

濃すぎる煙は画面を隠すため アルファと発生数を抑えます

Texture Sheet Animation:形の変化で情報量を足す

爆発のテクスチャーシート例
爆発用フリップブックの例 寿命に合わせてコマを切り替える

爆発や煙のような形が変わる表現では フリップブック素材が有効です

1枚のテクスチャーに並んだコマを 粒子の寿命に合わせて順番に表示します

粒子の移動だけでは出しづらい 膨張、崩れ、消失の変化を作れます

素材を使うときの注意:形と寿命を合わせる

素材のコマ数と Tiles の X、Y を合わせます

粒子の寿命が短すぎると アニメーションが早送りに見えます

寿命が長すぎると 変化が遅く、爆発の勢いが弱く見えます

フラッシュや火花は短く、 煙は長く、と要素ごとに再生速度を分けます

処理負荷に配慮する:大量に出せば良いわけではない

爆発は粒子数が増えやすいエフェクトです 半透明の重なりが多いと描画負荷が上がります

また、大きな煙を何枚も重ねると、画面全体を覆って重くなりがちです 見やすさを考慮しつつ、パーティクルの数と大きさを調整してください

最初は要素を少なめに作り、パンチの弱い部分を徐々に追加しましょう

密度だけではなく、明るさ、サイズ、タイミングでインパクトを演出しましょう

実習:爆発 Prefab を作る

手順1:親オブジェクトを作る

  1. 空の GameObject を作成し Explosion と名前を付ける
  2. 子に FlashShockwaveSparksFireSmoke を作る
  3. 各子にParticle Systemを追加する
  4. すべての Looping をオフにする
  5. 必要に応じて Stop ActionDestroy にする

手順2:中心のフラッシュを作る

  1. Flash の寿命を短くする
  2. 明るい黄色または白に近い色を設定する
  3. Size over Lifetime で一瞬大きくする
  4. Color over Lifetime で後半を透明にする
  5. 画面が白くなりすぎないようにアルファを調整する

手順3:外へ広がる衝撃波を作る

  1. Shockwave にリング状または円形の素材を割り当てる
  2. Start Lifetime を短めにする
  3. Size over Lifetime で大きく広げる
  4. 後半で透明にする
  5. 必要に応じて Start Delay で フラッシュより少し遅らせる

手順4:火花を外方向へ散らす

  1. SparksEmissionBurst にする
  2. ShapeSphere にする
  3. Start Speed を高めにする
  4. Start Lifetime を短めにする
  5. Color over Lifetime で 黄色から赤、透明へ変化させる
  6. 速度やサイズにランダム幅を持たせる

手順5:炎と煙で余韻を加える

  1. Fire は短めの寿命で オレンジから赤へ変化させる
  2. Smoke は長めの寿命で 灰色から透明へ変化させる
  3. SmokeSize over Lifetime を大きくする
  4. 必要に応じて Noise を加える
  5. 全要素を再生して 強すぎる要素を下げる

手順6:テクスチャーアニメーションを試す

  1. 爆発または煙のフリップブック素材を用意する
  2. Texture Sheet Animation を有効にする
  3. Tiles の X、Y を素材に合わせる
  4. Frame over Time で寿命に合わせて再生する
  5. 粒子の寿命と再生速度のバランスを調整する

授業内課題:フラッシュ、火花、煙を含む 爆発エフェクトを 提出してください

完成条件

  • ワンショットで再生される
  • 3種類以上の子 Particle System で構成されている
  • フラッシュまたは衝撃波がある
  • 火花が外方向へ飛ぶ
  • 煙または炎が後半に残る
  • Color over LifetimeSize over Lifetime を使っている

提出時の説明:要素ごとの役割を添えてください

  • どの子オブジェクトがどの役割か
  • 最初の明るさをどの要素で作ったか
  • 外へ広がる勢いをどの要素で作ったか
  • 最後に残る余韻をどの要素で作ったか
  • 改善したい点

今回のまとめ:爆発は複数要素の時間差で作る

  • 爆発は、フラッシュ、衝撃波、火花、炎、煙を 役割ごとに分けると調整しやすくなります
  • 最初は短く明るく、後半は煙や炎で余韻を残します
  • BurstsColor over LifetimeSize over LifetimeTexture Sheet Animation が重要です
  • 第04回の火花、第05回の炎と煙を組み合わせることで 複合的なワンショット表現を作れます