[Unity][Camera]判断物体是否在摄像机的可视范围视野范围内

xiaoxiao2021-02-28  80

OnBecameVisible和OnBecameInvisible,isVisible。

判断 物体 在Scene视图和Game视图下的 所有的摄像机的可视范围内。 

isVisible的用法,挂载的物体必须要有Renderer组件

using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraCube : MonoBehaviour { public GameObject[] go_array; // Update is called once per frame void Update () { updateArray(); } void updateArray() { for (int i=0; i<go_array.Length ;i++) { if (go_array[i] !=null && go_array[i].GetComponent<MeshRenderer>()!=null) { Debug.Log(go_array[i].name+" isVisible:" + go_array[i].GetComponent<MeshRenderer>().isVisible); } } } }

OnBecameVisible和OnBecameInvisible的用法:

using System.Collections; using System.Collections.Generic; using UnityEngine; public class VisibleOrInvisible : MonoBehaviour { private void OnBecameVisible() { //print("摄像机视野内"); Debug.Log("摄像机视野内"); } private void OnBecameInvisible() { //print("在摄像机视野外"); Debug.Log("摄像机视野外"); } }

把VisibleOrInvisible挂载到 3DCube物体下

参考文章:

1.【Unity】【Camera】判断物体是否在视野范围内

2.

如何判断对象是否在摄像机的可视范围内

3.

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

4.

5.

转载请注明原文地址: https://www.6miu.com/read-2625683.html

最新回复(0)