Unity 如何判断物体是否在摄像机视野内或外

 时间:2024-10-14 18:13:18

Unity 如何判断物体是否在摄像机视野内外。有时候在游戏开发中,需要判断某些物体是否在摄像机视野内或视野外,以便进行一些操作比如,在视野里就显示,在外就隐藏,以节约资源开销,本节介绍如何判断物体是否在摄像机视野内或外的简单案例,具体如下

工具/原料

Unity

OnBecameVisible

OnBecameInvisible

一、基本概念

1、OnBecameVisible():1)DescriptionOnBecameVisible is called when the renderer became visible by any camera.This message is sent to all scripts attached to the renderer. OnBecameVisible and OnBecameInvisible is useful to avoid computations that are only necessary when the object is visible.2)Exampleusing UnityEngine;using System.Collections;public class ExampleClass : MonoBehaviour { void OnBecameVisible() { enabled = true; }}

2、OnBecameInvisible():1)DescriptionOnBecameInvisible is called when the renderer is no longer visible by any camera.This message is sent to all scripts attached to the renderer. OnBecameVisible and OnBecameInvisible is useful to avoid computations that are only necessary when the object is visible.2)Exampleusing UnityEngine;using System.Collections;public class ExampleClass : MonoBehaviour { void OnBecameInvisible() { enabled = false; }}

二、如何判断物体是否在摄像机视野内或外

1、打开Unity,新建一个空工程,具体如下图

Unity 如何判断物体是否在摄像机视野内或外

3、在工程中,新建一个脚本,脚本可以命名为“VisibleOrInvisible”,然后选中脚本,双击脚本或者右键“Open C# Project”打开脚本,具体如下图

Unity 如何判断物体是否在摄像机视野内或外

4、在打开的“VisibleOrInvisible”脚本上编写代码,首先在Update函数里面获取水平方向键输入,以控制“Cube”水平移动,在水平上自由移出移入摄像机视野,然后调用OnBecameVisible函数,当“Cube”在摄像机视野里触发打印操作(这里仅做打印输出,具体可以根据自己需要编写代码),调用OnBecameInvisible函数,当“Cube”在摄像机视野外触发另一打印操作,具体代码及代码说明如下图

Unity 如何判断物体是否在摄像机视野内或外

7、运行场景,即可看到控制台Console上已经打印“摄像机视野内”,因为此时“Cube”可见,当按下水平方向键把“Cube”移到屏幕外不可见时,则看到控制台Console上已经打印“在摄像机视野外”,具体如下图

Unity 如何判断物体是否在摄像机视野内或外

8、到此,《Unity 如何判断物体是否在摄像机视野内或外》讲解结束,谢谢

  • 如何利用Axure RP 8创建下拉框
  • 易语言如何取系统时间
  • 如何使用AXURE中的动态面板功能?
  • 如何获得橡胶木
  • 易语言教程[5]-变量
  • 热门搜索
    西沙群岛旅游报价 北京众信旅游官网 澳大利亚墨尔本旅游 江西户外旅游网 建水旅游 4月份去哪里旅游最好 去美国旅游签证 南京周边旅游景点 北京旅游地图全图 江苏周边旅游景点大全