【Unity】Unityパーティクルシステム入門:炎、煙、魔法エフェクトを作る

作成: 2025-12-07最終更新: 2026-07-12

攻撃がヒットしても画面が地味——足りないのはエフェクトです。Unity標準のパーティクルシステム(Shuriken)のモジュール構造を「パーティクルの一生」で整理し、ヒットエフェクトを作る実践レシピまで解説します。

攻撃がヒットしても「当たった感」がない。ジャンプしても着地しても、画面がどこか地味——足りないのは、多くの場合 エフェクト(VFX) です。爆発の煙、剣の軌跡、魔法の輝き。ゲームの「気持ちよさ」の相当部分を、この小さな粒たちが担っています。

Unityには標準で パーティクルシステム(Particle System)——愛称「Shuriken」——が搭載されています。無数の小さな2D画像(パーティクル)を生成し、動き・色・サイズを時間とともに変化させて多彩な表現を作るツールです。

パーティクルシステムのイメージ。魔法使いが杖を振ると、無数の小さな粒が吹き出して渦を巻き、先端ほど薄く小さくなって消えていく

この記事でわかること

  • パーティクルシステムの構造——「パーティクルの一生」で覚えるモジュール
  • メインモジュール・Emission・Shapeの役割
  • 〜 over Lifetime系で時間変化を作る方法
  • 実践レシピ——ヒットエフェクトを最短で作る
  • VFX Graphとの使い分け

Sponsored

作成方法と考え方——パーティクルの一生

メニューの「GameObject > Effects > Particle System」で作成できます。Inspectorに大量のモジュール(設定グループ)が並んでいて最初は圧倒されますが、覚え方はシンプルです。 「パーティクル1粒の一生を、段階ごとに設定している」 と考えてください。

パーティクルの一生の図。誕生(放出器から生まれる)→動き(軌跡を描いて飛ぶ)→変化(サイズと色が時間で変わる)→消滅(透明になって消える)の4段階
  1. 誕生: どこから(Shape)・どれだけ(Emission)生まれるか
  2. 動き: どの方向へ・どんな速さで飛ぶか(Main / Velocity over Lifetime)
  3. 変化: 生きている間に色やサイズがどう変わるか(Color / Size over Lifetime)
  4. 消滅: 寿命(Start Lifetime)が尽きて消える

メインモジュール

一番上の常時有効なモジュールで、1粒の基本プロフィールを決めます。

プロパティ意味tips
Duration / Loopingエフェクト全体の再生時間/繰り返し炎や煙はLooping、爆発は1回きり
Start Lifetime1粒の寿命(秒)Random Between Two Constantsでばらつかせると自然
Start Speed生まれた瞬間の初速
Start Size / Color初期サイズ・色色も2色間ランダムにできる
Gravity Modifier重力の影響火の粉は0、破片は1、上昇する煙はマイナス

tips 多くのプロパティは右端の▼からConstant(固定値)以外にRandom Between Two Constants(範囲ランダム)やCurve(カーブ)を選べます。「全部の粒が同じ」だと人工的に見えるので、寿命・サイズ・速度は少しランダムにするのが定石です。

主要なモジュール

Emission(放出)——どれだけ生むか

  • Rate over Time: 毎秒の生成数。炎・煙・雨のような継続系に。
  • Bursts: 指定した瞬間にまとめて放出。爆発・ヒットエフェクトのような一瞬の弾け系に。

Shape(形状)——どこから生むか

Cone(円錐: 焚き火・噴射)、Sphere(球: 爆発・オーラ)、Box(箱: 雨・雪の降るエリア)、Edge(線)などから選びます。エフェクトの「輪郭」はほぼShapeで決まるため、迷ったらまずここをいじってみてください。

EmissionとShapeの図。上段は放出のしかた(Rate over Time=継続的に出す、Bursts=一瞬で弾けさせる)、下段は放出する形(Cone=円錐、Sphere=球、Box=箱)
Sponsored

〜 over Lifetime系——生きている間の変化

「一生の間にどう変わるか」を設定するモジュール群です。エフェクトの表情はほぼここで作られます。

  • Color over Lifetime: グラデーションで色変化を作ります。炎なら「白→オレンジ→赤→透明」。終端のアルファを0にして「ふわっと消える」 のが最重要テクニックです(デフォルトのパッと消えるのは不自然に見えます)。
  • Size over Lifetime: カーブでサイズ変化を作ります。煙なら「小さく生まれて膨らみながら消える」。
  • Velocity over Lifetime: 途中で速度を変えます。Orbitalで渦巻きも作れます。
終端アルファの比較図。アルファ固定のままだと粒が突然パッと消えて不自然、終端アルファ0だと徐々に透けてふわっと消えて自然

Renderer(描画)

  • Material: 半透明描画に対応したマテリアル(Particles/Standard Unlitなど。URPではUniversal Render Pipeline/Particles/Unlit)を指定します。
  • Render Mode: 基本はBillboard(常にカメラを向く板)。Stretched Billboardにすると進行方向へ伸び、火の粉・雨・スピード線に化けます。
Render Modeの比較。Billboardは常にカメラを向く丸い粒(煙・魔法向き)、Stretched Billboardは進行方向へ細長く伸びた粒(火花・雨・スピード線向き)

実践レシピ: ヒットエフェクトを作る

剣戟アクションの斬撃ヒット、シューティングの着弾、パズルゲームのブロック消し——ジャンルを問わず一番使うのがこれです。「攻撃が当たった瞬間、火花がパッと散る」を最短手順で作ります。

ヒットエフェクトのレシピの完成イメージ。攻撃が当たった一点から、細く伸びた火花の粒が全方向へ放射状に弾け、外側ほど薄くなって消えていく
  1. Main: Loopingオフ・Duration 0.5・Start Lifetime 0.2〜0.4(ランダム)・Start Speed 3〜6・Start Size 0.05〜0.15・Gravity Modifier 0.5
  2. Emission: Rate over Timeを0にし、Burstsに Count 15 を1件追加(Time 0)
  3. Shape: Sphere・Radius 0.1(一点から全方向に弾ける)
  4. Color over Lifetime: 白→黄色→アルファ0
  5. Renderer: Stretched Billboardにして火花らしく伸ばす

これをPrefab化し、ヒット位置に生成すれば完成です。Main末尾のStop ActionDestroyにすると再生後に自動で消えます。数値はあくまで出発点なので、再生ボタンを押したままSceneビューで調整してください。

ポイントは2つです。 「弾け系はBursts+Sphere」 という組み合わせ(このレシピの骨格で、Countと色を変えるだけで回復エフェクトにもコイン取得にも化けます)と、 「終端アルファ0とランダム幅で自然にする」 こと。ゲームに組み込むときの生成・破棄は オブジェクトプール の実践節(Stop Action=Callbackで自動返却)とつなげると完成形になります。

VFX Graphとの違い

Unityにはもう1つ、GPUベースの VFX Graph があります。

パーティクルシステム(Shuriken)VFX Graph
処理CPUGPU
規模数千個まで数十万〜数百万個
衝突検出○(Collisionモジュール)限定的
学習コスト低い高め(ノードベース)
対応全パイプラインURP/HDRP

判断基準は1行です。 「数千個で足りるならShuriken、桁が足りなくなったらVFX Graph」。ゲームの通常のエフェクト(ヒット・煙・魔法・環境演出)はShurikenで十分です。

おまけ:先に知っておくと良いこと

  • エフェクトはプールで使い回す: ヒットエフェクトを毎回Instantiate/DestroyするとGCスパイクの原因になります。Stop ActionをCallbackにして オブジェクトプール へ返すのが実戦の定石です。
  • 半透明の重なりに注意: パーティクルは半透明描画のため、大量に重なるとオーバードローでGPU負荷が跳ね上がります。モバイルでは粒を大きく少なくするのが基本です(詳細は モバイル最適化)。
  • Collisionモジュール: パーティクルを地形や壁に当てて跳ねさせられます。薬莢や破片の表現に便利ですが、CPU負荷がかかるため数は控えめに。
  • Sub Emitters: 「パーティクルが消えた場所から次のパーティクルを生む」機能です。花火(打ち上げ→爆発)のような多段エフェクトが作れます。

まとめ

  • モジュールは 「パーティクルの一生」(誕生→動き→変化→消滅) で整理して覚える。
  • 継続系はRate over Time、弾け系はBursts。輪郭はShapeで決まる。
  • Color over Lifetimeの終端アルファ0(ふわっと消える)が見栄えの最重要ポイント。
  • ランダム幅(寿命・サイズ・速度)を持たせると自然になる。
  • 数千個で足りるならShuriken。足りなくなったら VFX Graph へ。

まずは今日のレシピのヒットエフェクトを1つ作ってゲームに入れてみてください。攻撃が当たった瞬間の「気持ちよさ」、あなたのゲームでは足りていますか?