シューティングゲームで弾が画面外に出た時など
カメラの外にオブジェクトが出た事を検知して処理を呼びたいな~って時に使える処理の紹介です。
手っ取り早い実装方法
//移動速度 private readonly float moveSpeed = 5f; private void Update() { //画面外に出すため前進処理 transform.Translate(Vector3.up * this.moveSpeed * Time.deltaTime); } /*このオブジェクトが画面外に出ると呼ばれる*/ private void OnBecameInvisible() { Debug.Log("画面外に出ました"); } /*逆に画面内に表示されたタイミングで呼ばれます*/ private void OnBecameVisible() { Debug.Log("画面内です"); }
画面外に出たタイミングで画面外に出ましたとログが表示されていますね。