什么是虚拟现实
虚拟现实(Virtual Reality以下简称VR),是利用电脑模拟产生一个三维空间的虚拟世界,提供用户关于视觉、听觉、触觉等感官的模拟,让用户如同身历其境一般,可以及时、没有限制地观察三维空间内的事物。用户进行位置移动时,电脑可以立即进行复杂的运算,将精确的三维图像通过显示屏传回给用户,从而产生身临其境的代入感。
虚拟现实游戏原理
那么在做一款VR游戏的开发之前,我们必须对目前VR设备运行的原理加以了解。
目前市场上的VR设备基本上以头戴式显示设备(以下简称VR头盔)为准,我们的VR游戏开发也因此而基于VR头盔而开发。VR头盔的部分组成之中我们需要对其中的2个部分加以了解,第一部分是光学显示部分,显示部分通常是一块(基本上所有的VR头盔都是一个屏幕)或两块屏幕(OculusRift CV1使用的是两块屏幕),屏幕距离用户的眼睛比较近,如果直接观看的话用户必定是看不清的,于是便加入了两块光学凸透镜用来延长焦距,从而使图像可以显现在用户面前。同时在计算机中通过设置两个摄像机分别渲染左右眼的图像,然后再显示在用户的左眼和右眼前,通过这样实现3D的效果(类似偏光或者偏振的3D电影的原理)。
但仅仅实现了3D的显示效果并不能算上VR,因为这只能算上一个迷你的家庭影院,因此VR头盔的第二个重要的组成部分便是传感器了。这些传感器用于捕捉用户的头部运动轨迹,由于人的头部能做到的基本上只是绕着三个轴旋转,因此使用的设备通常是陀螺仪等。这些设备获得用户的姿态,然后传入电脑中,控制电脑中的摄像机的运动轨迹,实现虚拟与现实相叠加,从而产生强烈的代入感。以上便是进行关于VR游戏开发的VR头盔的简单原理。
对于VR头盔而言,VR头盔又分为2种,一种是以OculusRift为代表的连接计算机的头戴式设备,这种设备通过计算机的GPU和CPU进行图像的渲染,优点是延迟小、画质好,缺点是需要使用一根线子连接计算机十分不便。另一种是以GoogleCardboard为代表的使用手机作为屏幕的VR头盔,这种头盔使用手机的CPU和GPU进行图像的渲染,优点是价格低廉、没有连线,缺点是移动端渲染导致游戏画质不好等。
虚拟现实游戏开发引擎
在进行虚拟现实游戏开发的时候,我们通常会在选取游戏引擎的时候有些纠结。目前市场上主流的两个虚拟现实游戏开发的引擎是Unity3D和UnrealEngine4。对比而言,Unity3D的游戏开发较为开放和便捷,加上官方的AssetStore上面众多的优秀插件所以我们在通篇教程中选用Unity3D作为游戏的开发引擎。
在下一节中我们将开始使用Cardboard的SDK结合Unity3D游戏引擎进行游戏的开发。
本文作者沈庆阳拥有著作权,未经允许不得转载。