站在VR世界的大门前 - 开发工具与设备平台的选择
不是很能写得出字的样子。这是扯谎。因为接下来就是有些人爱看有些人不爱看的前言,写起来也是收不住。“Where’d You Go”,混音,Eminem/Jay-Z/Tupac/Dr. Dre。“We was young and we was dumb but we had heart.In the dark where we survived through the bad parts.”
公众号版本的这个位置或许会有音乐供播放。微笑。
十月六日,看这数字怎样都觉得像是个需要记住的日子,是什么来的,过去哪一年的这个日子发生过怎样的事情。却也回忆不起什么嗯。
刚刚摘下帽子发现前面的头发已经长到会被压得贴在额头上,不如试着留长些?不再自己剪,也不再跑洗剪吹,就这样下去如何?时不时就会叨咕起这样的事情,纹身也是,念叨了不是一天两天,执行力好低嗯。怎样都觉得应该在胸前刺满歌词才好,却也不曾认真想过选曲的问题,像个没主意的DJ。“It’s better to burn out than to fade away”?“Sometimes is all the time,and never means maybe”?无论怎样,龙飞凤舞嚣张跋扈的图案还是免了,简直像傻瓜;“7210”或“VII II X”的巨大字样又如何?像是猪肉批号,又过分自恋;Beforweb公众号二维码?脱光上衣让人家举着手机扫码的情景想想也是有些尴尬的。
说起来,很久没有度过这样不会每天都宅在家里做事或玩游戏的长假了。有多久,十年?至少十年。所以在过去十年间一直有着足够让自己安心宅着的家或家人?或许是,或许所谓的“家”从来不是我一厢情愿幻想出来的样子。想着却也飘渺了起来,无论怎样,只记得那些年的十一长假会一大早起来,既不睡懒觉也不出去玩,煮上一壶浓浓的咖啡,身心愉悦的对着博客或代码度过整个上午,因抓住了时光而充实着开心着。而今天是我十年来第一个真正闲散的十一长假的第,几天。Happy holiday嗯。
译文在十月一日便已做好。不那么想更新。事情就是这样,要么在尚未进入假期状态的前一两天里将事情做对做好,要么等到日子被自己放纵的一干二净,再回过头来把做事当作回血。今次选择后者。爽。我去天台抽根烟。
此外确是有些愉悦的收获,譬如X战警六部,星际迷航三部,猩球崛起两部,特种部队,遗落战境,世界尽头(血与冰激凌三部曲的另外两部待补),守望者(三个半小时的电影也是没谁了)等等。未完待续。于是怎样都觉得豆瓣上一众文艺青年一面大骂无脑无情节一面又浪费自己时间去看这些片子最后矫情的打个两星的嘴脸甚是傻逼。
你们再叫我一声文艺青年试试。
仍是来自Liv Ericsson(Twitter)的老司机经验小文,Choosing Development Tools & Platforms for VR Projects,主题与之前的“项目特质与设计开发流程的策略选择”有些类似。突然想到Google正式发布了Daydream View头显,以及第一部Daydream-ready手机Pixel。很开心,是时代的脚步声。Google从Cardboard开始直到现在一路走过的是最为典型的“概念-原型-反馈-迭代”流程,不觉得?
下面进入译文。
我时常会被问到应该如何为VR项目选择合适的平台设备。答案取决于多方面因素,包括项目本身的特质、目标、受众等等。在本文中,我将和各位聊一聊我在选择开发工具及平台设备时的具体策略。
作为一名VR技术布道者,我在选择项目时有着较为充分的自由度。有时,我喜欢将一些小概念扔到同一个项目框架当中验证可行性;有时,我会专注于Unity开发当中的某个特定领域进行深入挖掘;此外,我还会时不时的持续打磨我的KittenVR小项目。有些项目的目标很明确,例如“在本周结束之前制作出一个可运行的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领域当中充满了可能性和不确定性,放之四海而皆准的原则恐怕还不存在,不过这也正是事情最有意思的地方之一。
译文代表原作者观点。欢迎发表评论,或到译者微博进一步交流探讨。