Skip to content

第06回 爆発

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

注意

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

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

前回の振り返り

炎と煙を作りました

  • 第05回では、連続的に発生する炎と煙を作りました
  • Color over LifetimeSize over LifetimeNoise を使い やわらかく変化するループ表現を調整しました
  • Texture Sheet Animation により 粒子の形を寿命に合わせて切り替える考え方にも触れました
  • 今回は火花、炎、煙を組み合わせて 短時間で強く見せる爆発エフェクトを作ります

今回の授業の目的

複数要素を重ねて爆発を作る

  • 爆発を、1つの大きな粒子ではなく 複数の役割に分けて考えます
  • フラッシュ、衝撃波、火花、炎、煙を 時間差で重ねます
  • ワンショットエフェクトとして 再生されて消える構成を作ります
  • 瞬間の強さと、余韻の残り方を 調整できるようになることが目標です

今回の授業内容

複合ワンショット表現

  • 爆発を構成する要素
  • 要素ごとのタイミング
  • フラッシュと衝撃波
  • 火花、炎、煙の組み合わせ
  • Texture Sheet Animation の活用
  • 授業内課題

爆発の構成

役割ごとに分ける

  • 爆発は、明るい光、広がる圧力、飛び散る破片、 燃焼、煙の組み合わせとして考えられます
  • すべてを1つの Particle System に入れると 調整が難しくなります
  • 役割ごとに子オブジェクトへ分けると 強さ、寿命、色、発生方向を個別に調整できます
  • 爆発らしさは、要素の多さより 役割とタイミングの整理で作ります

要素の時間差

最初が最も明るく、煙が最後に残る

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

  • フラッシュは一瞬だけ強く出します
  • 衝撃波は短時間で外へ広がります
  • 火花は外方向へ飛び散り、すぐに消えます
  • 炎は少し残って燃え、煙は最も長く残ります

ワンショット設定

再生されて消える構成にする

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

親オブジェクトの構成

子に要素を分ける

text
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回の炎と煙を組み合わせることで 複合的なワンショット表現を作れます

おつかれさまでした!

次回予告 第07回 軌跡

余韻を扱う 重要な表現