Unityで爆発エフェクトを作る方法【スプライトアニメーション、スクリプト、シューティングゲーム】

Unityで爆発エフェクトを作る手順

Unityでやる流れはこれです。

手順
1画像をAssetsに入れる
2Sprite Mode → Multiple
3Sprite Editor → Slice
4Animation作成
5Explosionプレハブ作成
6再生して消す

この流れがUnityの爆発エフェクトの基本です。

爆発のスプライトシートを用意する

① 画像をUnityに入れる

画像をAssetsフォルダにドラッグ

② Sprite Mode変更

Inspector

ここを変更

項目     設定
Texture Type Sprite (2D and UI)
Sprite Mode Multiple
Pixels Per Unit 100
Filter Mode Point (No Filter)

そして Apply

③ Sprite Editor → Slice

③ Sprite Editor ボタン

Applyを押すと、Inspectorの下の方に

Sprite Editor

ボタンが出ます。

ここです ↓

Inspector

                                                              • -

Texture Type: Sprite (2D and UI)
Sprite Mode: Multiple
Pixels Per Unit: 100
Filter Mode: Point

                                                              • -

[ Sprite Editor ] ← このボタン

これを押すとSprite Editorが開きます。


Sprite Editor を開いたら
上のメニューに Slice があります。

押すと設定ウィンドウが出ます。


Slice の Type を

Grid By Cell Size

にします。

意味:

モード   意味
Automatic 自動で切る
Grid By Cell Size サイズ指定して切る
Grid By Cell Count 個数指定して切る

爆発スプライトは Grid By Cell Size を使うことが多い

爆発1コマのサイズ入力

入力するのは

Pixel Size X
Pixel Size Y

例えばあなたの画像がこうだとします

画像サイズ
横 1024 px
縦 128 px
爆発が横に8個


あなたの画像にあわせて調整する

Slice を押すとどうなるか

Slice を押すと画像がこうなります

                                                                                • +
1 2 3 4 5 6 7 8
                                                                                • +

マス目が表示されます。

これが
1コマずつ切られた状態

そのあとApply を押すのを忘れないでください。

これで

explosion_0
explosion_1
explosion_2
explosion_3
...

みたいにスプライトが増えます。


Unityのスプライトアニメーションはこういう仕組みです。

[爆発1]
[爆発2]
[爆発3]
[爆発4]
[爆発5]
[爆発6]
[爆発7]
[爆発8]

順番に表示

爆発アニメーション

パラパラ漫画と同じです。

もしサイズが分からない場合

サイズの調べ方

方法①

Sprite Editor の上に画像サイズが表示されます

例:

Size: 1024 x 128

方法②

爆発の数を数える

例えば8個なら

横サイズ ÷ 個数 = 1コマのサイズ

④ アニメーション作成

切り分けたスプライトを全部選択
やり方

Project(Assets)で

explosion.png の左の ▶ を押す

中に小さいスプライトが並んでいる

一番上クリック

Shift押しながら一番下クリック

これで全部選択できます。

explosion_0
explosion_1
explosion_2
explosion_3
explosion_4
explosion_5
explosion_6
explosion_7

全選択が重要

Scene にドラッグ

選択したまま Sceneビューにドラッグ します。

するとUnityが自動でこう聞いてきます

Create new Animation?

保存画面が出ます。

Explosion.anim 作成

ここで保存します

ファイル 意味
Explosion.anim アニメーション
Explosion.controller アニメーション制御

保存場所は
AssetsフォルダでOK

Assets
├ Explosion.anim
├ Explosion.controller
└ explosion.png

保存すると自動で

Animationウィンドウ
が開きます。

Animationウィンドウの中で起きていること

Unityが自動でこれを作っています

0.00秒 explosion_0
0.05秒 explosion_1
0.10秒 explosion_2
0.15秒 explosion_3
0.20秒 explosion_4
0.25秒 explosion_5
0.30秒 explosion_6
0.35秒 explosion_7

つまり

パラパラ漫画 = 爆発アニメーション

爆発アニメーションの速度調整(重要)

爆発は速い方がいいです。

Animationウィンドウで

Samples = 60

にしてください。

Samples 速度
12 遅い
24 普通
60 速い(爆発向き)

爆発を1回で止める設定

爆発はループしてはいけません。

設定
Explosion.anim をクリック
Inspector
Loop Time のチェックを外す

これ忘れると爆発が永遠に続きます。

Explosion.cs スクリプトを作る

手順
Project(Assets)で右クリック
Create
Script
名前を Explosion にする
スクリプトを書く

中身をこれにします。


  1. using UnityEngine;
  2. public class Explosion : MonoBehaviour
  3. {
  4.     void Start()
  5.     {
  6.         Destroy(gameObject, 0.5f);
  7.     }
  8. }

このコードの意味


コード 意味
Start() 生成された瞬間に実行
Destroy オブジェクト削除
gameObject 自分自身
0.5f 0.5秒後

つまり

爆発が生成された

0.5秒待つ

爆発を削除

爆発オブジェクトに付ける方法


方法
Hierarchy にある Explosion オブジェクトをクリック
Inspector を見る
Add Component ボタンを押す
「Explosion」と検索
Explosion スクリプトを追加

これでOK。

Prefabにも付ける

爆発はPrefabから生成するのでPrefab側にもスクリプトを付けます

Hierarchyの欄のExplosionを

AssetsのPrefabsにドラッグ

Prefabs完成


Prefabにスクリプト付ける手順
Assets → Prefabs → Explosion.prefab をクリック
Inspector
Add Component
Explosion スクリプト追加

ここまでの流れまとめ

Unityの爆発エフェクトの作り方

① スプライトシート画像
② Sprite Mode = Multiple
③ Sprite Editor → Slice
④ スプライト全部選択
⑤ Sceneにドラッグ
⑥ Explosion.anim 作成
⑦ Loop OFF
⑧ Destroyスクリプト
⑨ 完成

これはUnity 2Dエフェクトの基本テンプレです。