VRChatアセット制作アセットの構成要素

[Unity] スプライトシートをパーティクルで再生する:Texture Sheet Animation

目次
  1. スプライトシートとは
  2. 設定手順
  3. 1. マテリアルを用意する
  4. 2. Texture Sheet Animation を有効にする
  5. 3. 見た目にばらつきを出す
  6. うまく表示されないとき

炎や煙、キラキラのようなエフェクトは、スプライトシート(1枚の画像にアニメーションのコマを格子状に並べたもの)をパーティクルで再生して作ることが多いです。Unity の Particle System には、そのためのモジュールが最初から入っています。

スプライトシートとは

4×4に16コマ並んだスプライトシートの例

たとえばこのように 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 の数と、画像の実際の分割数が合っているか確認します
  • 四角い枠が見える:画像の背景が透過されているか、マテリアルのブレンド設定を確認します