站在VR世界的大门前 - 开发工具与设备平台的选择
author:一佰互联 2019-05-26   click:165

我时常会被问到应该如何为VR项目选择合适的平台设备。答案取决于多方面因素,包括项目本身的特质、目标、受众等等。在本文中,我将和各位聊一聊我在选择开发工具及平台设备时的具体策略。

作为一名VR技术布道者,我在选择项目时有着较为充分的自由度。有时,我喜欢将一些小概念扔到同一个项目框架当中验证可行性;有时,我会专注于Unity开发当中的某个特定领域进行深入挖掘;此外,我还会时不时的持续打磨我的 小项目。有些项目的目标很明确,例如“在本周结束之前制作出一个可运行的app”,另外一些则相对宽泛,像是“我要在3D环境设计方面取得进步”一类。

对于平台的选择则取决于具体项目的具体情况。如果只是制作一些演示用的小demo,我通常会选择Cardboard - 其SDK与Gear VR良好兼容,我可以在开发完成后带着我的Gear VR在外进行演示,其他人也可以比较方便的复制我的项目进行学习交流。而一旦需要制作一些大型项目来完整演示VR技术的潜力,我势必要选择Vive或Rift,纵使这类平台在部署和演示方面较为不便;不过如果你能将设备整合完善并邀请人们前来参观体验,最终的效果将会相当精彩。

确定了目标平台之后,对于开发工具的选择同样要考虑多方面的因素。Unity可以面向几乎任何平台进行开发,绝大多数VR和AR平台也都会提供Unity插件或资源。如果项目当中需要比较丰富的环境体验,Unity通常是我的不二之选,而C#则是我在编写脚本时最喜欢使用的语言。而在制作一些数据需求较高的原型时,我会选择基于web的VR框架,因为可以配合一些现有的JS库来处理数据,相当便捷。如果很赶时间,或是要在不超过两小时的workshop当中演示代码编写,WebVR则是最高效的解决方案,尤其是在很多学生并没有在自己的电脑中安装过Unity的情况下。

最终,具体情况还是取决于你要完成的目标。不需要复杂运动体验的VR app可以聚焦于巨大的Cardboard市场,而依赖于肢体运动追踪的游戏类产品则通常只能以Vive为目标平台。

经历过的实战项目越多,你就能越发从容的在不同平台之间进行切换。WebVR可以在桌面及移动VR平台当中良好的运行,所以如果你的项目依赖于数据驱动,或是不需要复杂的互动模式,那么WebVR将是不错的选择,如需切换平台也很轻松。而如前所述,Unity内置的VR工具及各平台提供的插件与资源使其在面向多种设备进行开发时拥有着巨大的优势。我通常会进行这样的判断:

  • 需要时常的、简单快速的演示demo?选用Cardboard。
  • 需要复杂的追踪互动及房间规模的环境定位?选用Vive。
  • 需要通过控制器或游戏手柄进行互动?选用Rift。

桌面VR与移动VR之间最大的差别在于性能与交互模式两个方面。你很难将一款面向Rift打造的游戏移植到Cardboard上,反之亦然。所以在项目开始之前基于明确的目标选择恰当的目标平台和开发工具非常重要。

当然,所有这些都不是一成不变的,特别是在如今这样的探索阶段,VR领域当中充满了可能性和不确定性,放之四海而皆准的原则恐怕还不存在,不过这也正是事情最有意思的地方之一。