判断物体是否Game视图主摄像机 范围内
...
private void Update()
{
Vector3 viewPos = Camera.main.WorldToViewportPoint(this.transform.position);//在摄像机范围外
if (viewPos.x >= 0 && viewPos.x <= 1 && viewPos.y >= 0 && viewPos.y <= 1 && viewPos.z > 0)
{
print("物体在 摄像机范围内");
}
else
print("物体在 摄像机范围外");
}
...
打包后不能正常使用。
判断物体是否Game视图主摄像机 范围内
...
private Rect screenRect = Rect.zero;
...
private void Update()
{
if (screenRect.Contains(Camera.main.WorldToScreenPoint(this.transform.position)))
{
Debug.Log("在摄像机范围内");
}
else
{
Debug.Log("在摄像机范围外");
}
}
...
打包后可正常使用。
判断物体是否Game视图和Scene视图两个摄像机 范围内
OnBecameVisible和OnBecameInvisible
相关资料1
判断物体是否Game视图和Scene视图两个摄像机 范围内
判断MeshRenderer.isVisible
...
private void Update()
{
if (this.GetComponent<MeshRenderer>().isVisible)
{
Debug.Log("111第一个cube在视野内");
}
else
Debug.Log("222第一个cube不在视野内");
}
...
相关资料:
1.[Unity][Camera]判断物体是否在摄像机的可视范围视野范围内
2.

本文介绍了在Unity中判断物体是否在Game视图主摄像机范围内,包括打包后仍能正常使用的方案,以及如何判断物体是否在Game视图和Scene视图两个摄像机范围内。同时,提到了OnBecameVisible和OnBecameInvisible两个方法的使用,以及MeshRenderer.isVisible属性在判断中的应用。并提供了相关参考资料。
3492

被折叠的 条评论
为什么被折叠?



