“一边是火焰,一边是深海”,可谓是 VR 行业的真实写照,因资本而起又因资本而却的 VR ,一时之间宛如六月天。如今硬件不温不火持续地升级,应用也一步一步地向 B 端市场摸索前行,但是行业统一标准的缺失、高品质应用的匮乏成为众多 VR 市场腾飞的拦路虎。对于完善的行业标准,在今年 1 月,Khronos 推出了一项名为 OpenXR 的 VR 计划,致力于制定设备接口和应用接口标准,并已经得到了谷歌、英特尔、Facebook 旗下的 Oculus、Valve、三星、英伟达和 AMD 等科技巨头的支持,但我们还有很长的路要走;论高品质应用的研发,性能优化、交互设计、3D 动画、平台移植等无一不是开发者需面临的难题,基于此,我们采访了奥秘游戏 CTO、《VR开发实战》作者冀盼,从 VR 开发挑战、实战、前景三大方面解读行业现状,并分享如何开发出优质的 VR 内容, 在此希望能够帮助开发者少走一些弯路。
奥秘游戏 CTO 冀盼
冀盼,现任奥秘游戏 CTO,负责奥秘IT产品规划、技术研究、技术团队管理,其团队所研发的探索解谜游戏《画境》,是 HTC 首届 VR 内容开发大赛的获奖作品。
VR 开发挑战
目前 VR 的成熟度可能还没有那么高,吸引您开始并坚持 VR 开发工作的原因有哪些?
我很幸运初次体验 VR 设备就试用了 HTC Vive 这样的高端设备,一下就被虚拟现实技术惊艳到了,那种全沉浸的体验感觉可以超越目前所有电子设备带来来体验效果,在那一瞬间,你就会意视到这是下一代科技,这就是未来,这将是与电脑、手机同等意义的新一代计算平台,将来每人家里都会有一套这样的设备,VR 可以带给人的感官刺激太强烈了。从那时起我就决定一定要做 VR 相关的产品开发,像在《VR开发实战》书中提到的种种应用场景,都会给人带来前所未有的震憾,带来切实的效率提升,在新的应用领域满足更多应用需求。
目前 VR 产业正好是爆发前夕,各类 VR 硬件产品基本都处于消费级产品初级形态,有条件的消费者都可以买来体验,但一定是推荐三大品牌:Vive、Oculus、PSVR。此正当方兴未艾时,处于行业标准形成阶段,在这个阶段参与进来能亲身体验即将影响人类生活方式的一大科技产品的发展变迁过程,并在某种程度上可以理解变迁轨迹必然性,这是很难得的一种经历。另外由于定位技术、交互技术还处于发展过程中,并没有特别成熟或有一套标准,所以有机会尝试对比不同的几种技术,并需要在其中做出选择,去预见将来的标准,并在现在的开发中提前做出准备。而且如果有关注VR行业的新闻,可以看到微软也推出了 VR 头显计划,并计划授权给更多厂商去生产,SteamVR 平台又新增 LG 公司加入生产头显,所以 VR 硬件普及的趋势是越来越明显,现在 VR 设备特别像智能手机暴发前,当设备普及,内容生产的春天就来了。基于以上几个原因,不单是我会继续从事其中,相信会有越来越多的开发者加入 VR 行业,参与 VR 内容开发。
VR 开发和传统开发对开发流程、技能的需求主要有什么不同?
开发流程其实变化不大,但是更强调前期的实验,由于 VR 产品全新的交互体验,很多理论还不完善,很多情景在之前的产品开发设计中并不会遇到,所以之前产品的前期实验可能会做的东西不多,但在 VR 开发中前期实验很重要,关系到产品中很多核心设计点是否符合 VR 场景。比如实现一个在崎岖的山路上开车的效果,如果按正常开发,通过摄像头晃动来增加真实感是很正常的一个做法,但在 VR 中是绝对不能的,非玩家主动运动的相机运动都会触发玩家的晕眩,严重的话会当场呕吐。再比如声音效果,一般产品声音对产品的效果影响有限,但在 VR 中声音对产品质量至少有 20%-30% 的效果提升。
技能需求除了具备软件开发能力外,还要对 VR 交互设计有一定的了解,对 3D 数学有一定的了解,这两点对提升产品质量、加快产品迭代速度很重要,最好熟悉一个 3D 游戏开发引擎,会对 VR 开发有非常大的帮助,可以减少很多开发工作量,可以应用和借鉴很多成熟技术。
从硬件驱动到内容驱动,如何理解当前 VR 开发工作的痛点?
所谓痛点其实正好是机会点,是可以出成绩的地方。VR 设备的核心技术主要是头显、定位技术,这两块是大公司的必征之地,建议中小公司团队除非有特别的资源否则不要去碰,小团队一般很难在竞争中获得优势。硬件驱动的机会点在主要 VR 的配件上,比如目前 VR 其实只有视觉和声音反馈,交互只有依托手柄,离真正的现实还有很大差距,比如触觉反馈、味觉反馈、嗅觉反馈,再比如最自然的双手直接交互,现在有不少公司都在这些领域展露头角,设计出诸如触感背心、气味生成器、追踪双手位置和动作的手套、或者直接摄像头识别双手位置和动作。再者目前主流高端 VR 设备由于对带宽要求比较高,都有物理连线,有公司通过无线技术将物理连线替换,是很好的创业方向。如在 VR 中行走,有公司开发出万向步行机,方便在有限的空间内模拟无限空间行走。
回顾移动设备发展历程,和移动应用发展是相辅相成的,同样在 VR 领域,VR 内容也是推动 VR 设备普及的重要动力,所以可以看到几家大厂都在努力推动 VR 内容生产,特别是 Vive 提出建议 VR生态,方便 VR 产业相关所有团队可以共同推动行业发展,为开发者团队提供技术支持和融资帮助。那作为开发者其实首先应当在 VR 内容开发上投入更多精力,目标必须是做出 VR 精品,做出能力内最好的 VR 作品,而不仅仅是做出一款 VR 应用,普通虚拟现实的应用是没有市场的,反而会毁掉市场。
做出 VR 精品内容是目标,至少需要注意以下几点:构思要巧,不要简单移植 PC 平台或移动平台的产品,要学会利用 VR 的特点去做设计,至少要做针对 VR 平台的优化和调整;交互设计要适合 VR 平台,标准出来之前这块是最体现设计和技术能力的地方,需要不厌其烦的做调整;视听效果要有特色,能打动人心。
目前比较受关注的三大应用领域:游戏、教育、房产等ToB应用。ToB 应用目前变现最快,基本是项目制,具有 VR 开发能力的团队和个人都可以联系到有相应的需求方。游戏和教育都是非常有潜力,值得一直投入的应用领域,寻求快乐和寻求成长是人的本能追求,由于 VR 应用对人感官刺激要比其他设备更强,所以人所获得的信息量也会增加,同样的内容,VR 形式可以让人更快乐,学习效果更好。所以有理想的话可以将 VR 应用到游戏或教育中,这将是近几年增长最快的领域,且大公司还未进入,正是内容开发者群雄逐鹿时。
要成为一名出色的 VR 开发者,需要什么样的条件?
首先,你要有一颗热爱 VR 技术的心,其次要有一套设备(建议 Vive,采用 SteamVR 平台,适用范围最广,如果条件有限又特别想入行 VR 开发,那可以从移动 VR 开始)。然后只要本身是一位出色的开发者,就一定可以成为出色的 VR 开发者。对新技术有热忱,对自己开发的作品有高要求,真心热爱开发工作,并且对VR相关理论感兴趣。万事开头难,只要有恒心,入门之后一定会慢慢提高,加上对自己的高要求就足以成为出色的 VR 开发者。
《VR开发实战》
写《VR开发实战》这本书的初衷。
这本书是我和同事谢懿德一起编写的,最初我们一直都想在博客或社交媒体上写文章,但由于没有很好的契机所以尚未开展。直到这次,我们觉得应该将一些经验普及给想入门的开发者,可以减少大家的弯路,同时也是对自己的一个总结。另外在未来,科技越发重要,新兴的 VR 技术让国人有机会超越国外同行,所以也希望能有更多的开发人员转行到 VR 领域进行开发,做探路者,做开拓者,做引领者。
这本书适合的受众以及能为开发者解决哪些难题?
本书最适合的是有一些开发基础(比如至少懂一门编程语言),想了解 VR 开发或想转行到 VR 领域开发的朋友。同时本书也适合已经在 VR 领域开发,但在实际开发中有些技术问题不清楚如何解决,在本书中都有实战案例进行讲解。VR 开发与普通应用开发的主要不同点和注意事项,在书中都有介绍到,希望读者掌握后不要跳这些坑。书中重点讲基于 Vive 上的开发,同时对 Oculus 和 Cardboard 都有章节涉及,所以如果有条件建议优先购买 Vive 设备,如果没有条件,从移动 VR 入门开发也是不错的选择,不过由于 VR 开发特别看重交互部分的内容,如果只是移动 VR 开发就没办法很好的实战交互部分。
能否介绍 Vive 的学习成本和便利性,以及您在 VR 开发中如何思考硬件、引擎的选择?
本书重点介绍了 Vive 开发,其中有几个原因:
首先 VR 硬件设备目前还没有行业标准,开发目前都需要依赖各自厂商的技术平台,Vive 基于 SteamVR 平台,定位和交互技术都有支持,而且是目前最开放的技术平台(像国内的 VR 硬件也都兼容 SteamVR 平台),同时兼容支持配备有 Oculus Touch 手柄的 Oculus 设备。这意味着即使没有 Oculus,也没有针对 Oculus 做优化,你的产品照样可以在 Oculus 上正常运行(可能极个别情况会有异常)。
第二点 Vive 货源稳定,在国内很方便就能买到,Oculus 的设备国内不能直接买到,其他如 PSVR 如果没有资质得不到开发、测试设备。
第三点 Vive 确实效果是最惊艳的,交互和定位技术都非常出色。综合考虑,目前从事 VR 开发,从 Vive 设备开始是最明智的选择。引擎选择主要看团队能力模型和产品形态需要,如果追求短平快,Unity 引擎是最好的选择,资料丰富,学习入门很简单,如果追求次世代视觉效果,团队能力又很出色,那推荐 Unreal Engine 4,视觉效果很容易做得酷炫。
从产品规划、团队管理的角度,带领团队成功研发一款优秀的 VR 产品,有哪些关键点可以分享?
首先选题,产品方向要在深刻理解现阶段 VR 的优势和劣势,评估 VR 之后发展方向的前提下进行,普通看好的方向社交、游戏、教育,主要是 VR 的形式对人的感官刺激更强烈,提高了信息接受程度,所以大家可以继续在这几个领域深挖,从细分角度去突破,比如教育领域不同年龄段的 VR 产品很大差别,不同内容的产品也有很大差别,物理、化学、医学等教学内容相差很大。
第二团队,对于 VR 这种新的领域,团队的学习能力是最重要的,所以从选人时就要重点看学习能力,比如 VR 开发中有很多游戏开发领域的知识和技能可以借鉴,另外在项目实际开发时要多做实验,团队中要有人做踩雷的,需要有人在项目预研时把涉及到的技术问题都搞定,新的交互方式新的设计能先做出来看下效果,这样整体开发成本才能降下来,风险可以提前发现。
第三关注成员本身,团队建设要有凝聚力,大家目标一致,做最好的产品,在这个过程中收获团队的成长和个人成长,关心每一个人的成长和面临的难题,帮助他成长,就是帮助团队成功。
新手学习 VR 开发,最容易陷入的误区是什么?技术团队管理者应该如何正确引导他们?
执迷于原来的经验可能是最大的误区,所以要有怀疑精神,设计的效果开发出来试一试,经验证才知道适合不适合。不要怕失败,不要怕担误时间,早点实验才能降低成本。聪明的开发人员不太需要引导,注意创新思维方式,多做技术实验就可以了。
VR 开发前景
您如何看待 VR 成为下一代计算平台这种观点?
其实 VR 成为下一代计算平台这个观点略有点夸张,但是 VR/AR 作为计算平台,在不久将来可以占据比较主流的地位是肯定可以预期的,VR 非常符合人类求爽的原始欲望,在其中体验的内容更刺激感官。VR/AR 做为下一代信息输出输入平台是毫无疑问了(因为当带宽足够高时,将计算能力放在家里或者云上才更省事)。但从整个产业来看,行业标准、工具链、用户量、VR 开发团队素质、VR 内容数量和质量等都还不够成熟。
具体到某一款产品的设计,您如何判断将 VR 技术融入其中的时机是否已经到来?
主要考虑三个方面:产品体验是否有提升、市场接受度是否够高、技术实现是否可以做到。VR 化或提供 VR 模式后,如果产品体验没有提升,那就没必要再投入时间精力去实现 VR 版;如果体验有提升,但是用户需要付出额外的成本(比如额外的设备费用或不方便携带),而且用户觉得成本过高,那也暂时不适合 VR 化,除非采用 B 端运营,对用户来说没有额外成本,比如阿里的“Buy+”,有很多商场有免费提供设备;另一种接受度是伦理层面,如果和普世价值观有冲突那也是不合适的;如果产品体验有提升,用户不需支付过高额外的成本,只需要关注技术实现是否可以达到相应效果,单纯的技术问题总有办法解决,所以技术风险算是最小的一个风险。总之 VR 设备会越来越普及,将来要考虑的因素可能就缩减为体验提升和技术成本这两项了。
对于 VR 硬件平台、开发工具的发展,您最为期待哪些方面的完善?
行业标准。肯定是更通用的硬件标准,更统一的软件接口,方便开发者“编写一次,到处运行”。目前开发者需要针对不同的硬件平台做不同的开发,或者依赖于开发引擎在中间做统一处理。VR 开发工具目前还没有形成特别完整的工具链,像传统的 Web 开发,有一套持续集成的工具可以使用,从编写、测试到发布上线可以有非常高的自动化作业流程。也希望有一些傻瓜式的编辑工具方便非专业人士生产内容,估计很快有 VR 模式运行的编辑开发工具,实现所见即所得的开发效果。而现在 VR 开发工具还是仅限于专业开发人员使用,对于非专业人员有一定门槛,希望相关从业人员开发一些给业外人士使用的“内容生产工具”,增多增快 VR 内容生产。
除了对行业标准尽快建立的期待,还希望有更多专业引擎去开源,对开发人员提升产品质量、加快解决问题的速度,对提升开发人员专业素养也很有帮助。像微软过去一直走封闭的路子,结果越走路越死,近年微软开始拥抱开源,加入各种基金会支持开源项目,并开放自家产品代码,如推进 .NET core 开源,各种产品支持 Linux、Mac OS,使微软的价值在股市有非常直接的体现,重回巅峰。再如 Golang 和 Swift 的开源,都给这些项目本身注入非常多的活力。所以开发工具的开源,开发工具链的完善,非常让人期待。
未来 VR 开发者的核心竞争力会是什么?您后续会从哪些方面提升自己?
核心还是两个来源,一方面来自于业务领域知识的积累,一方面是自身技术素养的提高。先说业务知识,未来 VR 会应用于各行各业,而每个不同行业间的业务壁垒就天然会成为从事相关业务 VR 开发的人员的核心竞争力,比如从事少儿教育相关 VR 开发,对于少儿教育理论的研究、少儿行为习惯的理解,以及长久来积累的大数据带来的数据价值。在每个细分领域做得越深越细,竞争力越强。再谈技术素养,其实又包含两层意思,一个是对已掌握技术的理解和应用质量,一个是对新技术的学习、理解、应用速度。说得再直白点就是技术能力的深度和广度,优先求深度,其次再求广度,否则什么东西都懂一点点,好像什么都可以做,但是没有一样可以做到顶尖水平,远不如有几个方向的技术可以掌握应用到顶尖水平,别人做不到我可以做到。
对自己的提升要求也是从这两方面来进行,领域知识必须要学,要争取做到业务专家水平,否则不理解业务不可能做出高品质的产品,因为你不会理解产品的核心。技术能力方面希望能对开发引擎底层细节更深入一些,知其然而知其所以然。