超牛链AI 超牛链博客

专注 AI 出海、AI 案例与 AI SaaS
user
老王不响
@关于博主
2016-01-26

Unity3D for VR 学习(4): 自绘摄像机的视口区域锥体 4 mins read


 

     在Unity Editor下,当选择Camera组件后,可呈现出Camera视口区域锥体,非常方便。但是当选择其他物体,如Cube后,就无法得知是否在Camera市口区内了,这里我找到了雨松MOMO的一篇博客《Unity3D研究院之获取摄像机的视口区域》,他用Camera.fieldOfView和Camera.aspect算出屏幕比例,然后再得出width、height(摄像机)绘制了四边形,非常酷,可以解决这个痛点。

  我在巨人肩膀上,做了一些拓展:

自动获得Camera的farClipPlane和nearClipPlane

void Start()
    {
        if (!theCamera)
        {
            theCamera = this.GetComponent<Camera>();
        }

        upperDistance = theCamera.farClipPlane;
        lowerDistance = theCamera.nearClipPlane;
        tx = theCamera.transform;
    }

 

连线far和near ClipPlane

void FindLower2UpperCorners()
{
    Vector3[] corners_upper = GetCorners(upperDistance);
    Vector3[] corners_lower = GetCorners(lowerDistance);

    Debug.DrawLine(corners_lower[0], corners_upper[0], Color.blue);
    Debug.DrawLine(corners_lower[1], corners_upper[1], Color.blue);
    Debug.DrawLine(corners_lower[2], corners_upper[2], Color.blue);
    Debug.DrawLine(corners_lower[3], corners_upper[3], Color.blue);
}

 

挂接这个CameraViewEx.cs脚本到Camera组件同GameObject即可, 运行时有效:

 

源码下载地址:http://git.oschina.net/xifarm/VR_Mojing/

 

备注:

不用这个脚本,直接在Game视图,打开Gizmos也可以看到Unity自带的Camera视口区域锥体。

2016-01-26
老王 加冕为王
老王,工作了19年的软件工程师、连续创业者、Blogger(since 2013),微软.net MVP获得者(2015~2016)、 Unity3D UVP获得者 (2017)。 曾任上市公司研发主管、知名外企Social Media Marketing 。 现专注于Instagram、SEO等海外社交媒体营销技术研究与实践。 四十而立的我,有2个可爱的宝宝,喜好骑行、读书、木工, 尤其喜好历史、科幻书籍。
友情链接
超牛链 924天前 2024年3月6日 15:16

沙发给忠实粉丝,等待你的光临

最新文章

传统手工分析 AI出海案例 (1): fetra.ai 页面简单,交互轻松

分析这种事情,认认真真,肉眼看,全自动AI,API疯狂...

西藏行 (下):人物志
  • 70后: 退休金兜底、安逸、会玩、舍得玩。
  • 80后:...
西藏行 (中):拉萨 林芝 日喀则 羊湖 珠峰日记

到了108拐山口,突然,浮云散去,我的天,海市蜃楼一般...

西藏行 (上):唐古拉山口 隆中对

自西安高铁到西宁,然后1小时倒车,坐上了拉萨的卧铺 Z...

热门文章

《一句顶一万句》 遇见一个能说的上话的人不易

2024年 甲辰龙年春节假期,我看了2本小说,茅盾文学...

骑行故事初心--自由的御风而行

2023年,三年疫情过后第一个春天,我开始了骑行: 空...

超牛链AI:Ollama本地LLM LangChain RAG小试--算力为王

算力为王时代: CPU --> GPU

GPU这...
再战ComfyUI(1) 工作流 model简介和环境搭建

2025年秋,西安业已秋雨连绵38天多, 于是乎,在秋...

相关【技术杂谈】文章

查看所有相关【技术杂谈】文章
搭建Squid3 密码账号IP代理
搭建Squid3 密码账号IP代理

上文中,说明了 Squid3 IP Proxy 隐藏原IP,这里就搭建Squid 3密码账号IP代理进行整理,涉及...

不用插件,js脚本显示星号密码
不用插件,js脚本显示星号密码

不用插件,js脚本显示星号密码

以前,我是用Chrome插件做这个这的--显示星号密码的。 今天,分享一个不用插件...

执行MySQL报错
执行MySQL报错

今天新采购了柒比贰WordPress主题,安装主题时候报错: MySQL命令行使用sql语句进行建表时,MySQL...