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

 时间:2026-02-15 17:39:50

1、OnBecameVisible():

1)Description

OnBecameVisible 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)Example

using UnityEngine;

using System.Collections;public class ExampleClass : MonoBehaviour {

    void OnBecameVisible() {

        enabled = true;

    }

 }

2、OnBecameInvisible():

1)Description

OnBecameInvisible 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)Example

using UnityEngine; 

using System.Collections;public class ExampleClass : MonoBehaviour {

    void OnBecameInvisible() {

        enabled = false;

    }

 }

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

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

2、在场景中,新建一个“Cube”,具体如下图

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

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

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

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

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

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

5、“VisibleOrInvisible ”脚本具体内容如下:

using UnityEngine;

public class VisibleOrInvisible : MonoBehaviour {

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

        float h = Input.GetAxis("Horizontal");

        this.transform.Translate(new Vector3(h * 5* Time.deltaTime, 0, 0));

}

    private void OnBecameVisible()

    {

        print("摄像机视野内");

    }

    private void OnBecameInvisible()

    {

        print("在摄像机视野外");

    }

}

6、脚本编译正确后,回到unity界面,把“VisibleOrInvisible ”脚本赋给场景中的“Cube”,具体如下图

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

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

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

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

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

  • 如何利用Axure RP 8创建下拉框
  • 易语言如何取系统时间
  • 如何使用AXURE中的动态面板功能?
  • 如何获得橡胶木
  • 易语言教程[5]-变量
  • 热门搜索
    问候的近义词 满足的近义词是什么 均匀的近义词 怎么删除word中的空白页 五彩斑斓的近义词 心惊肉跳的近义词 问道手游怎么赚钱 小米max怎么样 哈尔滨工程大学怎么样 产后脱发严重怎么办