###前提・実現したいこと
Unityを勉強中で、現在は公式チュートリアルSpace Shooterをやっています。
Unityのバージョンは5.6.3p2です。
###ゲームの概要
上下左右に移動できる自機が、弾を発射して、向かってくる隕石や敵機を破壊したりするゲームです。
###発生している問題・エラーメッセージ
発射した弾は一定の速度で直進していくため、ゲーム画面外から出て行っても、進み続けます。このままでは、ヒエラルキービューが埋まってしまったりして、困るので、Destroyしたいです。
そこで、ゲーム画面全体を囲う箱を用意しました。さらに、下記のスクリプトを書いて、弾がOnTriggerExitしたら、Destroyするようにしたのですが、弾はシーン上からは消えるものの、ヒエラルキービュー上からは消えずに残っています。
エラーメッセージは表示されません。
###該当のソースコード
DestroyByBoundary.cs
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class DestroyByBoundary : MonoBehaviour { 6 7 void OnTriggerExit(Collider other) 8 { 9 Destroy(other.gameObject); 10 Debug.Log("Destroyed"); 11 } 12}
###試したこと
シーン上からは消えているので、Destroyがうまく機能していないのではないかと考え、公式レファレンスを始めとして、いろいろ調べましたが、このような現象についての記述は見つかりませんでした。
OnTriggerExitでDestroyを呼び出したときにだけ起こる現象なのではないかと思い一応調べてみました。
まず、ゲーム画面の外(画面の上の方)に壁を設置して、OnTriggerEnterしたら、Destroyされるようにスクリプトを書き換えましたが、先程同様、弾はシーン上からは消えるものの、ヒエラルキービュー上から消えずに残っています。
###補足情報(言語/FW/ツール等のバージョンなど)
参考までに現状のgifを載せておきます。
回答よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー