温馨提醒,本篇为介绍篇,如果只想看如何开发的具体步骤请参看《Hello,Cardboard!!-如何开发一个最简单的Cardboard虚拟现实应用(三)》
前述:恕我啰嗦一下,主要照顾对cardboard不太了解的朋在,Cardboard是由Google公司的两位巴黎办公室的员工利用业余时间创作出来的作品,它最大的特点就是将原来人们以为高大上的虚拟现实技术以廉价的方式带进了公众的视野,到目前为止,google已推出了改良版的cardboard 2代盒子,相比1代,2代改善了成像,增加了视野范围等。软件方面,google推出了两套SDK代开发者使用,一套是cardboard sdk for unity,这是专为unity游戏开发引擎开发的开发工具包,另一套就cardboard sdk for android,这是专为android系统开发的工具包。其它的知识,随着朋友们逐步参于到社区活动当中,会有不断深入了解。
本帖记录了我如何作为一个小白开发出一个cardboard虚拟现实系统的整个过程,希望能帮助同样是小白,而又对虚拟现实非常感兴趣的朋友开始进入这一充满想像力的技术领域。
一、我们来看一下整个系统的组成:
解释一下上面图中的含义,
1、一个cardboard虚拟现实系统包含了硬件和软件;
2、硬件包含了一个Cardboard盒子,Cardboard盒子相当于整个系统的支架,它长成这样:
其采用分屏式3D成像原理,使每只眼睛只能看到手机屏幕的一半,然后通过软件在屏幕上生成左右两个画面,同时这两张画面按照人的左右眼视距对同一场景进行显示,这样,最终在人的大脑中加工成3D立体画面感。
像这样:
3、Cardboard除了需要实时生成像上面这样的3D画面,为了实现沉浸式虚拟现实的效果,它还要做一件重要的事-追踪玩家头部转动,并根据转动角度实时地调整生成的3D画面,这一系列的活动,都是在智能手机上完成的,这里提一下,cardboard采用手机来作为系统的一部份,使得大多数人都能轻易地体验虚拟现实,但其不足之处亦非常明显,即性能受限,对于大型动作游戏场景无法获得较高的帧率,影响了玩家的体验。关于cardboard如何发挥出它的最大优势,找到性能和效果的平衡,带给用户最好的体验,也正是我们的社区要探究的一个重要问题。
4、硬件部份还有一个重要角色,即外围交互设备;
在虚拟的世界中,玩家有一个最本能的需求,即与其中的角色进行交互,玩家看到的、听到的都是由手机中的软件实时生成的,从技术层面上说,这种交互就是与手机中软件应用的交互,因此必然需要借助一些穿戴的硬件设备来将玩家的身体信息采集后传入手机中。
当前还没有一套完整的标准去规定外围设备应该做成什么样的?采用什么协议与主机交互?因此,外围设备的开发现阶段也是针对性的,不同的开发平台,外设之间不能直接通用,比如为oculus开发的设备也许就不能直接运用于htc的vive;
在虚拟世界中,玩家可以以全身参于与其中角色的交互,交互方式丰富多样,也许不会有一款外设将所有交互方式都统一。因此,怎样设计和制作cardboard虚拟现实系统的外围交互设备,使其给玩家在不同的场景下带来最大的方便和乐趣,也是我们的社区要探究的一个重要问题。