Unity 判斷物體是否在攝像機視角內


 

 

2D物體和3D物體的渲染是不一樣的 ,3D物體依靠MeshRender,而2D靠的是Canvas統一渲染

判斷3D物體

內置的API: OnBecameVisible     當腳本掛載的物體呈現在任何相機時調用一次

     OnBecameInvisible  當腳本掛載的物體離開任何相機時調用一次

原理:相機進行渲染物體上的MeshRender,時會被檢測,調用;

 

判斷 2DUGUI (需要在Update當中調)

  Vector3 pos = Camera.main.WorldToScreenPoint(transform.position); //取得當前UI在屏幕當中的位置

  //判斷當前的位置 與屏幕坐標的關系

if ((pos.z < 0) || (pos.x < 0) || (pos.x > Screen.width) || (pos.y < 0) || (pos.y > Screen.height))
  Debug.Log("消失在屏幕中");
else
  Debug.Log("顯示在屏幕中");

 

  如有更好的辦法,望可以留言討論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM