Prefabの生成はゲーム制作には欠かせませんが、放っておくとどんどん貯まってしまいます。
当然、負荷もかかってしまうので、生成したPrefabを削除するしくみはぜひ作っておきましょう。

ボールが落下して、あるところまで落ちると消えます。
関連記事:
発射したPrefabを削除する
ボールの生成
まずは、クリックするとボールが生成されるようにしましょう。
Sphereオブジェクトを作成し、カラーをつけました。

リジッドボディをつけます。
Sphereをプレハブ化します。

Sphereの元データは消しておきましょう。

クリックでボールを生成できるようにします。
空のオブジェクトを作成します。

BallDrop.csを作成して、GameObject(空のオブジェクト)に追加しましょう。

BallDrop.csを書きます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallDrop : MonoBehaviour { public GameObject ball; void Update() { if(Input.GetMouseButtonDown(0)) { Instantiate(ball, transform.position, Quaternion.identity); } } } |
GameObjectにBallフィールドが出来ているので、Sphereのプレハブを入れます。

ゲームプレイして、ボールの生成を確認しましょう。
クリックしてSphereが生成されるものの、プレハブがどんどん貯まっていきます。

落下地点でプレハブを削除する
Sphereが削除されるようにスクリプトを作成しましょう。
Sphereのプレハブデータを選びます。
コンポーネントを追加 > 新しいスクリプト > BallDelete.csを作成して追加。

BallDelete.csを書きましょう。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallDelete : MonoBehaviour { void Update() { if(transform.position.y <= -10f) { Destroy(gameObject); } } } |
ゲームプレイしてみましょう。

Sphereが落下して、Yが-10に到達すると削除されます。
関連記事:
発射したPrefabを削除する