主流VR平台和开发引擎简介

李文松
原创 13694       2016-07-29  

VR与桌面终端、移动终端一样,是一种新的人机交互IO形式,而决定VR成败的关键仍是内容。众所周知,内容的产出离不开程序员,离不开编程工具、语言和引擎。承担着“定义未来重任的各位工程师,想要紧跟技术前行的脚步,追随时代发展的潮流,就必须苦练内功,而动手开发VR应用,就是很重要的一步。要遇见一个全新的VR世界,首先需要对VR平台有一些基本的了解。



一、VR平台分类
依笔者看来,目前的VR平台可分成2大类,分别为“有线VR”“无线VR”


“有线VR”:是指基于PC/主机类的VR设备,例如:OculusDK1、DK2;即将上市的 CV1;HTC VIVE;Sony PSVR等。特点是:基于强大计算能力极佳的综合体验效果。

“无线VR”:以Google Cardborad、Oculus GearVR为代表的移动端VR,以手机或者穿戴式设备实现无线显示。其优点是可以随身携带缺点是计算能力不如台式机强大。但未来“无线VR”一定是主流方向,这不单是因为嵌入式CPU、GPU发展越来越强大,体验越来越好,更重要的一点是,无线方式结合AR技术可以实现丰富的商务模式,更容易获得普通消费者青睐。

当然VR不仅指头戴显示器,还包括其他一些VR的IO设备,比如手柄、手势识别器、跑步机、运动座椅等。VR目前还在快速发展当中,技术标准还未出现,一切都还是未知数。笔者比较看好Leap Motion手势输入设备,其新的Orion SDK效果非常优秀,是目前市场上性价比最高最有可能达到消费者级别的一种VR输入设备


二、细数主流VR平台及产品

1.Oculus/Samsung

“有线VR”代表产品: Oculus Rift DK1、DK2、CV1、GearVR

Oculus Rift DK1:第一代VR头显通过陀螺仪大视角屏幕(虽然分辨率现在看有点低)第一次诠释了“沉浸感”带给用户的震撼体验。

Oculus Rift DK2:引入了位置跟踪(Positioinal Tracking),提供桌面尺寸的头部位移体验

CV1 :增加了输入Touch 控制器

Rift 的所有计算都是在PC 上进行的,在 Oculus Ready PCs 可以看到 Rift 要求的 PC 配置。由于显卡的性能问题,Rift 目前并不支持 Mac,只能下载到基于 Windows 的 Runtime。推荐显卡是 GTX970 以上。

SDK支持: Oculus Rift 支持 Unity 5 、Unity 4 和 Unreal 。3月1日,Oculus 发布了 MobileSDK 1.0.0.1 升级,这个 SDK 提供了对Oculus Remote Monitor 的支持,同时也让我们可以在 Mac OSX 基于 MobileSDK 进行开发。


“无线VR”代表产品: Gear VR


简介: Gear VR Samsung Oculus 共同开发的。它目前使用 Samsung  Galaxy S7/S7 edge, Note5, S6, S6 edge 来代替头显中原来的显示器。Gear VR 内置传感器用于与三星手机配对,并内置了触摸板用于操作。和 Oculus Rift 使用 PC 来进行计算不同,Gear VR 把计算放在了 Samsung 手机上。


SDK支持 Oculus MobileSDK 最开始就是为 Gear VR 提供的。


2. Google

“无线VR” 代表产品: CardBoard /Daydream平台



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


Cardboard虽然看起来简单,但是却代表了一大批基于安卓VR平台,国内各种“魔镜”类产品,不论塑料、纸壳,其实从内容开发上都是Cardboard的同门兄弟。



3.HTC
“有线VR”代表产品: Vive



简介: Vive 也已经预售了。它是目前呼声最高消费级 VR 设备了。Base stations 设计、Light House 定位装置、多功能操纵柄、StreamVR和良好的体验都让它成为目前最好的 VR 设备。在VIVE OPTIMIZED PCs 可以看到推荐的 PC 配置,和 Oculus 类似,但不要求 8G 内存

SDK支持: Steam VR 、Unity 和 Unreal 。

4.SONY
“有线VR”代表产品: PlayStation VR

简介 Sony 大法虽然好,但 PSVR 和上面几家比起来,面世时间比较晚,又从 2016 上半年跳票到下半年,但既然 Unity提到了对 PlayStation VR 的支持,应该没什么大问题,它是 PS4 共同使用的,但目前我没有找到它的 SDK



三、VR开发引擎对比

前面介绍了主流VR硬件平台,但想要真正“携手VR”,你还需要了解如何开发VR应用。下面就介绍一下VR开发引擎,其实本质还是传统的3D引擎,尤其是传统的“双U”(即Unity3DUnreal),加入了VR插件(所谓VR插件,基本功能是实现左右分屏渲染螺仪、位置跟踪等API)。开发引擎与我们传统的开发语言环境相比,有以下几个不同:

  •  首先开发者要更熟悉3D 的理念,这是VR的基础。
  •  其次VR的3D引擎开发需要各种各样的资源,开发应用的


Unity(U3D)
以下内容引自知乎:Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合专业游戏引


Unity类似于Director,Blender game engine, Virtools 或 TorqueGame Builder等利用交互的图型化开发环境为首要方式的软件,其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone和Android平台。也可以利用Unity web player插件发布网页。


参与者不仅仅是程序员,还有美工等其他人员,所以引擎是一个完整的协作工具,编程尤其是写代码只是开发中的一个环节,“开发”更多是一种综合性工作

Unreal Engine(UE)
该引擎的免费版简称UDK以下内容引自知乎:关于UE和UDK,前者正式商业版本(建议用此版本),后者是前者的免费版无源,商业用途需要授权。UNREAL ENGINE中文名“虚幻引擎”,是目前世界最知名、授权最广的顶尖游戏引擎,占有全球商用游戏引擎80%的市场份额。中国首家虚幻技术研究中心在上海成立,该中心由GA国际游戏教育与虚幻引擎开发商EPIC的中国子公司EPIC GAMES CHINA联合设立。

基于它开发的大作无数,除《虚幻竞技场3》外,还包括《战争机器》、《彩虹六号维加斯》、《镜之边缘》等等。在美国和欧洲,虚幻引擎主要用于主机游戏的开发,在亚洲,中韩众多知名游戏开发商购买该引擎主要用于次世代网游的开发,如《剑灵》、《TERA》、《战地之王》等。 iPhone上的游戏有《无尽之剑》(1、2)、《蝙蝠侠》等。


二、关于开发引擎的个人观点


关于以上两种开发引擎哪种更适合VR开发,以下为笔者个人观点:

Unreal

优势:3D图形画质较好,因为它采用了预烘培等技术,并且更充分地利用了Shader
劣势: 开发难度较大,早期只能使用C/C++开发,UDK引入了类C/JAVAUnrealScript作为开发语言,但业内精通UE的开发者不多,有极端观点认为UE如果不做FPS射击游戏的话,失败概率很大。


Unity

优势:
1、 架构设计非常合理;开发者容易上手
2、 跨平台支持非常好,第三方插件系统非常先进,能第一时间获得最新VR设备的插件支持,堪称宝库的asset Store第三方组件、素材商店让你仿佛是在与全世界的开发者联合开发。
3、 Unity开发可以“举一反三”:一次开发可以迅速应用到多种平台,或者新插件一发布,许多老的项目也能扩展到新的方式当中,比如VR开发,Oculus、HTC、Sony、Cardboard一发布,Unity平台上就有新的插件可以使Unity开发的老项目适用于VR新硬件平台上。所以目前U3D的开发者队伍发展速度非常快
劣势:出现时间较晚,一般认为缺省画质不如UE。


其他还有一些平台如CryEngine、OSVR等,也有一些开发者用引擎,直接用高级语言驱动VR设备开发,但这种方法要解决的问题太多,比如左右画面自己渲染,陀螺仪驱动数据读取等,有兴趣的开发者可以找一些资料,不过因为VR硬件平台发展太快,选择这种开发方式要慎重。


作者:



版权所有 侵权必究

如需转载请联系

0571-28829811


恒生技术之眼原创文章,未经授权禁止转载。详情见转载须知

联系我们

恒 生 技 术 之 眼