关闭

判断物体摄像机是否可见

标签: unity
309人阅读 评论(0) 收藏 举报
分类:
判断物体摄像机是否可见 

    /// <summary>
    /// 判断世界坐标系内的物体,摄像机是否可见
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public static bool isVisibleOn3dCamera(this GameObject obj, Camera camera3d)
    {
        Vector3 pos = camera3d.WorldToViewportPoint(obj.transform.position);
        // Determine the visibility and the target alpha
        bool isVisible = (camera3d.orthographic || pos.z > 0f) && (pos.x > 0f && pos.x < 1f && pos.y > 0f && pos.y < 1f);
        return isVisible;
    }

        /// <summary>
        ///判断世界坐标系内的一个点,摄像机是否可见
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static bool isVisibleOn3dCamera(this Vector3 pos, Camera camera3d)
        {
            pos = camera3d.WorldToViewportPoint(pos);
            bool isVisible = (camera3d.orthographic || pos.z > 0f) && (pos.x > 0f && pos.x < 1f && pos.y > 0f && pos.y < 1f);
            return isVisible;
        }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:24869次
    • 积分:688
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:5篇
    • 译文:2篇
    • 评论:4条
    文章分类