Cardboard虚拟现实开发初步(一)

Google Cardboard 虚拟现实眼镜开发初步(一)

虚拟现实技术简介

不得不说这几年虚拟现实技术逐渐火热,伴随着虚拟现实设备的价格迅速平民化,越来越多的虚拟现实设备来到了我们眼前,也因此虚拟现实方面的开发离我们也越来越近。

这几年迅速崛起的Oculus,其成功就在于拉近了虚拟现实与群众的距离,把原本价格高不可攀的虚拟现实设备放到了我们可以触手可及的位置,Oculus的技术开辟了全新的体验和可能性,不仅仅在游戏领域,还在生活、教育、医疗等诸多领域拥有广阔的想象空间,Facebook在2014年7月宣布以20亿美元的价格收购Oculus。

据说Oculus的逼真程度是非常之高的,和国内目前比较容易接触到的魔镜一类效果差距是很大的,Oculus 官方宣称他具有110 度的视角,并且带有头部姿态传感器,Oculus通过不断地优化大大降低了头痛、恶心感,并且利用全位置跟踪功能和高分辨率的显示屏,提供了更加逼真的感受。

Oculus Rift一些早期版本导致使用者出现恶心或神志不清的状况,但最新的“Crescent Bay”推出之后,这种情况很少出现了。

造成头痛、恶心感的主要原因是延迟。Oculus团队内部有一个词叫Motion-to-photons latency,意思是指从玩家运动头部到在屏幕上看到新图像为止的一个周期里所产生的延迟时长总和,Oculus的任务就是尽可能地削减整个流程产生的延迟时长,来消除恶心感。

最近PewDiePie首次将Oculus Rift头戴式显示器和能够在3D空间内感知手势动作的Leap Motion体感控制器组合在一起,实现了当用户移动头部并完全沉浸在3D虚拟环境中时能够看见自己的双手。

所以不得不说Oculus是一款很酷的产品。

除了Oculus外,其他很多虚拟现实设备也在发展当中,如:

  • HTC的Vive VR
  • 三星的Gear VR,Gear VR的硬件制造者是三星,但其虚拟技术的提供者是Oculus。

    Gear VR能够提供完全虚拟现实的体验。但它使用三星智能手机代替计算机来驱动显示器。

还有增强现实领域的微软的HoloLens,整体表现令人惊艳。

最后介绍Google Cardboard,我们的虚拟现实眼镜开发入门教程便是基于Cardboard SDK for Unity

于北京时间2015年5月29日凌晨0:30在美国旧金山举办的2015谷歌I/O开发者大会上,素来以慷慨著称的谷歌并没有像以往那样大派礼物,除了三星或者LG智能手表的二选一外,开发者还可以领到一个小小的黄色纸板盒Cardboard。不过,这个看起来非常寒碜的再生纸板盒却是I/O大会上最令人惊喜的产品,这就是谷歌推出的廉价3D眼镜。

Cardboard简介

Cardboard最初是谷歌法国巴黎部门的两位工程师大卫·科兹(David Coz)和达米安·亨利(Damien Henry)的创意。他们利用谷歌“20%时间”规定,花了6个月的时间,打造出来这个实验项目,意在将智能手机变成一个虚拟现实的原型设备。

Cardboard纸盒内包括了纸板、双凸透镜、磁石、魔力贴、橡皮筋以及NFC贴等部件。按照纸盒上面的说明,几分钟内就组装出一个看起来非常简陋的玩具眼镜。凸透镜的前部留了一个放手机的空间,而半圆形的凹槽正好可以把脸和鼻子埋进去。

Cardboard只是一副简单的3D眼镜,但这个眼镜加上智能手机就可以组成一个虚拟现实(VR)设备。

要使用Cardboard,用户还需要在Google Play官网上搜索Cardboard应用。它可以将手机里的内容进行分屏显示,两只眼睛看到的内容有视差,从而产生立体效果。通过使用手机摄像头和内置的螺旋仪,在移动头部时能让眼前显示的内容也会产生相应变化。应用程序可以让用户在虚拟现实的情景下观看YouTube、谷歌街景或谷歌地球。

Cardboard原理

CardBoard的虚拟现实效果是由一款CardBoard与一部安卓手机结合而成,眼镜镜体通过透镜加屏幕的原理,将虚像呈现在人的明视距离处实现了沉浸式的虚拟现实感,目前国内虚拟现实眼镜(如暴风魔镜等)大都是这个原理,只不过做了细致的包装,使得佩戴更加舒适,下面为其原理图:

而屏幕即为一部安卓系统的手机,手机的分辨率与像素密度越大显示效果越好,由于采用了透镜放大与分屏显示的原理,如果分辨率较低,颗粒感会比较严重。

手机屏幕上需要分屏显示虚拟环境,开发者还需要调用手机内部陀螺仪等传感器进行视角转变。这一部分的开发无疑有很多选择,使用纯Android的SurfaceView与openGL ES 开发可扩展性很强,但是相应的复杂度比较高,导入3D模型等都需要手写代码。亦或者使用3D引擎如Unity3D等进行开发,适合开发游戏,复杂性较低,模拟左右双眼只需要两个摄像机就可以搞定,但是开发复杂应用又会力不从心。总之在开发前要根据项目进行选择开发的方式。

由于Unity引擎功能强大,基本上能适应大部分需求,而且开发便利,资料很全,最关键的是Google提供了一个Cardboard SDK for Unity,可以很方便的进入虚拟现实的世界,所以我们毫无疑问要站在巨人的肩膀上开始旅行了。

本篇作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,下一篇就会带领大家去看一看谷歌的Cardboard SDK for Unity,之后还会教大家非常简单的做出自己的第一个CardBoard应用,大家从淘宝上花不到10块钱买一个Cardboard或者买个暴风魔镜就可以测试自己的虚拟现实应用了,敬请期待~

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-13 06:05:52

Cardboard虚拟现实开发初步(一)的相关文章

Cardboard虚拟现实开发初步(二)

Google Cardboard 虚拟现实眼镜开发初步(二) Cardboard SDK for Unity的使用 上一篇文章作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,本篇就会带领大家去看一看谷歌的Cardboard SDK for Unity,虽然目前资料和文档较少,但是这个package用起来还是非常方便的,只要大家稍微接触过Unity就可以轻松的使用,我会以面对Unity初学者的方式进行讲解. 为了方便大家阅读,我会把步骤尽量写的细致一些,相关的谷歌官网上的英文资料和我自己翻译的

Cardboard虚拟现实开发初步(三)

Google Cardboard 虚拟现实眼镜开发初步(三) 利用Cardboard SDK for Unity Demo进行后续开发 在上一篇文章中,我们导入了Cardboard SDK,并且运行了Demo.这一次我会教给大家怎么利用这个Demo创建一个自己的场景,把自己的模型放进场景,用虚拟现实眼镜进行观赏甚至操作,其实只要会Unity,这些都很简单. 这里我会导入一个我自己制作的直升飞机模型,可以理解为制作一个模拟驾驶游戏,之后的后续开发涉及到我自己的项目,就不过多讲解了.后续我会讲解一下

Cardboard虚拟现实开发初步(四)

Google Cardboard 虚拟现实眼镜开发初步(四) Cardboard SDK for Unity Demo的一些解析 写在前面 自从上次写完这个系列的第三篇,忙了一阵子的项目,忙了一阵子的英语,考完一大波考试之后,终于能继续给大家分享一些开发心得了,这期间有好几个同学给我私信甚至qq我,问我啥时候更新,无奈实在是太忙,只能一拖再拖,我感觉是十分对不起大家的,没能及时更新,这里给大家说个对不起.不过能有这么多人关注我的博客,这也是对我最大的肯定,能得到大家的认可心里十分的高兴,希望大家

Hello,Cardboard!!-如何开发一个最简单的Cardboard虚拟现实应用(一)

温馨提醒,本篇为介绍篇,如果只想看如何开发的具体步骤请参看<Hello,Cardboard!!-如何开发一个最简单的Cardboard虚拟现实应用(三)> 前述:恕我啰嗦一下,主要照顾对cardboard不太了解的朋在,Cardboard是由Google公司的两位巴黎办公室的员工利用业余时间创作出来的作品,它最大的特点就是将原来人们以为高大上的虚拟现实技术以廉价的方式带进了公众的视野,到目前为止,google已推出了改良版的cardboard 2代盒子,相比1代,2代改善了成像,增加了视野范围

[入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)

[入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date  周六 10 一月 2015 By 钟谢伟 Category website development Tags asp.net / mvc4 相关资源 ibatis manual pro git 廖雪峰的官方网站 BookMS-V1.0 上一篇链接 任务简介 开发工具:VS2010 项目框架:MVC4 浏览器:Chrome 数据库ORM框架:iBatis.net 数据库:mysql 后端开

(转)TDD的iOS开发初步以及Kiwi使用入门

本文转自“瞄神”博客 TDD的iOS开发初步以及Kiwi使用入门 测试驱动开发(Test Driven Development,以下简称TDD)是保证代码质量的不二法则,也是先进程序开发的共识.Apple一直致力于在iOS开发中集成更加方便和可用的测试,在Xcode 5中,新的IDE和SDK引入了XCTest来替代原来的SenTestingKit,并且取消了新建工程时的“包括单元测试”的可选项(同样待遇的还有使用ARC的可选项).新工程将自动包含测试的target,并且相关框架也搭建完毕,可以说

虚拟现实开发一些建议

本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接: http://blog.csdn.net/cartzhang/article/details/51898067 作者:cartzhang [本文为原作者对虚拟现实开发的一些建议和理解,写的非常不错.理解的也非常透彻,希望对各位在路上的VR开发者有积极作用.] 下面是我对虚拟现实开发一下建议.我已经把他们分为Vive相关,常规VR和更宽泛意义上的建议.更多建议请关注我的Twitter. 一.Vive 相关 1. 让玩家按

移动应用是大势所趋,微信开发初步研究尝试

微信在我们生活中已无所不在,几乎人手一个手机一个微信,天天刷朋友圈.而作为商家和企业应用的服务号和企业号的开发也是移动应用开发的一个新方向. 经过近期对微信开发进行初步研究,对微信开发有了一些了解,可以打通微信与数据库的查询及交互,实现一些应用系统的定制开发.接下来要做的就是根据实际业务需要来开工建设. 微信除了企业内部应用外,在商业环境的应用如支付.活动现场等的应用也是支持的较好.另外微信wifi项目也可作为一个独立分支结合无线路由器来作为一个广大的商业市场进行运作开发. 微信提供了工具和平台

【1】从零开始做第三方支付开发-----初步了解概念

这是第三方支付开发的第一篇. 目前很多公司在做海外支付, 但是不知道怎么开始. 本人公司就是做海外产品, 涉及到paypal和stripe支付, 有比较多的经验, 希望可以帮助需要的朋友. 我是做Java开发, 所以这一系列的所有例子都用Java编写, 其他语言请参考官方sdk. 1. 怎么开始对第三方初步了解? 每个第三方公司的支付逻辑都是不一样的. 最好的办法当然是到官网, 看他们的官方文档. paypal和stripe的文档当然是英文的. 学好英文多么重要!!! 2. 看文档主要是看什么?