(7)物体を破壊する(爆発のエフェクト)

次は、砲弾と物体が当たった瞬間に「爆発のエフェクト(視覚効果)」を発生させる方法を学びます。


(事前準備)

*配布データの「Explosion」というフォルダをプロジェクトの「Assets」内に設定してください。

*「ここからダウンロード」 →ダウンロードが完了したらダブルクリックして解凍

*解凍した「Explosion」フォルダを「Assets」にドラッグ&ドロップする。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-29-9-42-08 %e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-29-9-42-58

 

・設定できたら「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」にドラッグ&ドロップ

スクリーンショット 2016-05-23 14.49.05

ここまでできたら「再生ボタン」を押して確認してみましょう。

砲弾が物体に当たった瞬間エフェクトが出れば成功です。


(試してみよう!)

「Effect Prefab」に色々なエフェクトをドラッグ&ドロップして違いを確認してみましょう。