1)オブジェクトデータを削除する必要性
砲弾を発射し続けると、Hierarchyの中が下記のように「Shell(Clone)」で埋まってきます。
*(Clone)というのは「プレファブから作成されたオブジェクト」という意味です。

このままだとどんどんデータが増えて、ゲーム自体が重くなってきます。
そのため、画面の外に出た砲弾は「削除」してやる必要があります。
2)オブジェクトを削除する方法
*「透明な壁」を作って、「それに触れたら削除(Destroy)」するような仕組みです。
・まず「Cube」で壁を作ります。
・名前は「DestroyWall」に変更してください。
・壁の大きさは自分の世界のサイズに合わせて調整しましょう。

・壁ができたら、「Inspector」の中にある「Mesh Renderer」のチェックを外します。
これで透明な壁が完成しました。

次にスクリプトを作成します。
3)スクリプトの作成
・まずいつものように「C#」スクリプトを作成します。
・名前は「DestroyWall」に変更しましょう。

スクリプトが作成できたらダブルクリックして開きます。
下記のコードを記入しましょう。
using UnityEngine;
using System.Collections;
public class DestroyWall : MonoBehaviour {
void OnTriggerEnter(Collider other){
// もしもぶつかってきたオブジェクトのタグに「Shell」という名前がついていたら
if(other.CompareTag("Shell")){
// ぶつかってきたオブジェクトを破壊(削除)せよ。
Destroy(other.gameObject);
}
}
}
スクリプトが作成できたら、いつものように「DestroyWall」オブジェクトにドラッグ&ドロップします。
・「Is Trigger」にチェックを入れてください。
(ポイント)
*「OnTrigger」系の命令ブロックを書いたら、「Is Trigger」に必ずチェックを入れましょう!

・次に、「Shell」プレファブに「Shell」という名前のタグを付けます。
・「Prefabs」フォルダの中の「Shell」プレファブをクリックします。
・「Tga」はまだ何もついていないので「Untagged」になっています。

・「Tag」をクリック→「Add Tag….」を選択してクリック。

・「+」をクリック

・「Tag0」に「Shell」と記入してエンター
*大文字、小文字に注意すること。

・再び「Shell」プレファブを選択して「Tag」をクリック。
・「Shell」というタグを選択してクリック。

・これで「Shell」という名前のタグがつきました。

これで準備完成です。
再生ボタンを押して、砲弾を発射してみましょう。
透明な壁にぶつかった「Shell(Clone)」が「Hierarchy」から消えたら成功です。
(サイト紹介)