大概代码就这些:
public class Test : MonoBehaviour
{
public static bool bIsVisible = false;
//可见时 回调函数
void OnBecameVisible ()
{
bIsVisible = true;
Debug.Log ("我进来咯");
}
//不可见 回调函数
void OnBecameInvisible ()
{
bIsVisible = false;
Debug.Log ("我出去啦");
}
}
把脚本挂载到相应要判断的物体上,同时物体上必须要有渲染器组件(MeshRenderer ,LineRenderer等都可以),此时物体在进入/离开摄像机渲染范围的时候就会执行对应的回调函数,一进一出爽歪歪。
当然,你可能会发现就算我没进去,编译器也说我进去了,这是因为当该物体在场景中需要被渲染时,即使不在任何一个摄像机视野范围内也会被编译器认为可见。这在打包情况下不会出现啦。