unity判斷物體是否在視野內

今天學到兩個蠻有意思的API——OnBecameInvisible和OnBecameVisible。
代碼如下:

using UnityEngine;

public class Test : MonoBehaviour {
//控制物體移動
	void Update () {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        transform.position =transform.position+ new Vector3(h, v, 0);
	}
    private void OnBecameInvisible()
    {
        Debug.Log("看不見");
    }
    private void OnBecameVisible()
    {
        Debug.Log("看得見");
    }
}

效果如圖:
在這裏插入圖片描述
這兩個方法居然能判斷物體是否能被相機看到!所以覺得蠻有趣的,看它樣子好像有點類似 OnCollisionEnter和OnCollisionExit。我在網上查了下一般在做優化的時候纔會用到。
對了,這個腳本掛在的物體上必須有mesh render組件纔可以哦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章