次は、砲弾と物体が当たった瞬間に「爆発のエフェクト(視覚効果)」を発生させる方法を学びます。
(事前準備)
*配布データの「Explosion」というフォルダをプロジェクトの「Assets」内に設定してください。
*「ここからダウンロード」 →ダウンロードが完了したらダブルクリックして解凍
*解凍した「Explosion」フォルダを「Assets」にドラッグ&ドロップする。
・設定できたら「Explosion」をクリック→「Prefab Examples」をダブルクリック
・「再生ボタン」を押した後、サンプルを「Hierachy」にドラッグして、それぞれどんなエフェクト(視覚効果)なのか試してみましょう。(爆発後、数秒で消えます。)
1)エフェクト(視覚効果)を発生させるスクリプト
このエフェクトは「砲弾」と「物体」が「当たった時」に発生させるようにします。
・「DestroyObject」スクリプトの中に下記コードを追加しましょう。
*横スクロールするとコードの全体を見ることができます。
using UnityEngine; using System.Collections; public class DestroyObject : MonoBehaviour { // ★追加 public GameObject effectPrefab; void OnCollisionEnter(Collision other){ if(other.gameObject.CompareTag("Shell")){ // ★追加 GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity) as GameObject; // ★追加 Destroy(effect, 1.0f); // 物体を破壊する。 Destroy(gameObject); // 砲弾を破壊する。 Destroy(other.gameObject); } } }
・コードが書けたらチェック。
・「Hierarchy」で物体をクリック
・「Assets」で「Explosion」をクリック→「Prefab Examples」をダブルクリック
・好きなエフェクトを「Effect Prefab」にドラッグ&ドロップ
ここまでできたら「再生ボタン」を押して確認してみましょう。
砲弾が物体に当たった瞬間エフェクトが出れば成功です。
(試してみよう!)
「Effect Prefab」に色々なエフェクトをドラッグ&ドロップして違いを確認してみましょう。