/// <summary> /// 判断物体是否在相机视野内 /// </summary> /// <param name="_worldPos">物体的坐标</param> /// <returns></returns>
private bool IsInView(Vector3 _worldPos) { Transform camTransform = Camera.main.transform; Vector2 viewPos = Camera.main.WorldToViewportPoint(_worldPos); Vector3 dir = (_worldPos - camTransform.position).normalized; float dot = Vector3.Dot(camTransform.forward, dir);//判断物体是否在相机前面 if (dot > 0 && viewPos.x >= 0 && viewPos.x <= 1 && viewPos.y >= 0 && viewPos.y <= 1) return true; else return false; }