Unity3D中判断物体是否在摄像机视野中

来源:互联网 发布:手机淘宝的服务平台 编辑:程序博客网 时间:2024/06/07 15:48

大概代码就这些:

public class Test : MonoBehaviour{    public static bool bIsVisible = false;    //可见时 回调函数    void OnBecameVisible ()    {        bIsVisible = true;        Debug.Log ("我进来咯");     }    //不可见 回调函数    void OnBecameInvisible ()    {        bIsVisible = false;        Debug.Log ("我出去啦");    }}

把脚本挂载到相应要判断的物体上,同时物体上必须要有渲染器组件(MeshRenderer ,LineRenderer等都可以),此时物体在进入/离开摄像机渲染范围的时候就会执行对应的回调函数,一进一出爽歪歪。
当然,你可能会发现就算我没进去,编译器也说我进去了,这是因为当该物体在场景中需要被渲染时,即使不在任何一个摄像机视野范围内也会被编译器认为可见。这在打包情况下不会出现啦。