[Unity] スプライトシートをパーティクルで再生する:Texture Sheet Animation
炎や煙、キラキラのようなエフェクトは、スプライトシート(1枚の画像にアニメーションのコマを格子状に並べたもの)をパーティクルで再生して作ることが多いです。Unity の Particle System には、そのためのモジュールが最初から入っています。
スプライトシートとは
![]()
たとえばこのように 4×4 に 16 コマ並んだ画像なら、左上から右へ、行が終わったら次の行へ、という順で再生されます。コマ数ぶんの画像を別々に用意するより、1枚にまとめたほうが読み込みも描画も軽く済みます。
設定手順
1. マテリアルを用意する
パーティクル用のシェーダー(例: Particles/Standard Unlit)でマテリアルを作り、スプライトシートの画像を設定します。Particle System の Renderer モジュールの Material にこれを入れます。
2. Texture Sheet Animation を有効にする
Particle System のモジュール一覧から Texture Sheet Animation にチェックを入れて開きます。
| 項目 | 設定 |
|---|---|
| Mode | Grid |
| Tiles | 画像の分割数(4×4 なら X: 4、Y: 4) |
| Animation | Whole Sheet(全コマを順に再生) |
| Time Mode | Lifetime(パーティクルの寿命に合わせて再生) |
これで、パーティクルが生まれてから消えるまでの間に 16 コマが1回再生されます。
3. 見た目にばらつきを出す
全部のパーティクルが同じコマから始まると、動きが揃いすぎて不自然に見えます。
- Start Frame を
Random Between Two Constantsにして 0〜15 にすると、再生開始のコマがばらけます - Cycles を 2 以上にすると、寿命の間に複数回ループします
うまく表示されないとき
- コマがずれて表示される:Tiles の数と、画像の実際の分割数が合っているか確認します
- 四角い枠が見える:画像の背景が透過されているか、マテリアルのブレンド設定を確認します