约翰·卡马克(John Carmack)在编程领域堪称传奇人物,他的历史与早期游戏行业紧密相关。如今担任Oculus的首席技术官,卡马克可能正在为VR世界留下类似的印记。他设计的专门为VR打造的脚本环境将在Oculus Connect上进行演示。
自2013年加入Oculus以来,卡马克一直密切参与公司的移动项目。去年公布的Samsung Gear VR是由Oculus提供技术支持。这款头戴设备是两家公司合作打造的。根据去年Connect开发者大会上他的演讲,我们了解到卡马克一直在调整渲染流程,以优化Gear VR的虚拟现实体验。
如果这还不够让他忙碌,他还一直在开发自己的脚本环境,该环境基于Scheme语言,并命名为VrScript,专门用于VR应用开发。在Oculus Connect的最后一天,卡马克将成为“现场编码会话”的重点人物,展示VrScript的使用。会议摘要如下:
约翰·卡马克将演示使用一种新的开发环境在Gear VR上快速开发和部署简单的VR应用程序的过程。您还将了解有关媒体处理、远程开发、部署和多用户设置的更多信息。
几个月前,卡马克在Racket编程语言的留言板上分享了他的工作内部概述,透露了VrScript环境背后的动机:
在原生应用程序中进行VR GUI开发非常艰难——使用我们当前的接口,你可以坚持使用C++,但迭代时间和代码结构使之并不趣味十足。
在Unity中进行编辑器原型设计是很好的,但实际的设备测试周期非常糟糕,而且你只能获得Unity的所有冗余代码,并无法充分利用原生VR功能,如TimeWarp层。
有了应用签名,开发人员无法轻松地与彼此或有限的社区共享工作。
他继续列举了脚本环境的几种功能方式:
Web模式:脚本每次执行时从网络下载,并由我们提供的一个签名应用(NetHMD)执行。这种方式通过app-scheme URI完全指定,可以直接从网页或Facebook上的应用链接启动VR体验。我认为这非常强大——在手机上浏览时了解某个东西有多么好,然后只需点击链接,并得到“插入到HMD”的对话框,直接跳转到VR体验。VR脚本可在不离开VR环境的情况下链接到其他VR脚本。这里没有直接的货币化,但随后可能支持应用内购买。
App模式:脚本被打包到常规的apk中,通过应用商店进行分发,而脚本只是作为某些类别应用开发的更有效的环境。
远程开发:脚本实际上在PC上的IDE中执行,并通过TCP连接与NetHMD通信。这样可以实现几乎实时的代码更改与VR更改迭代周期,并使用调试器。还可能存在一个相关模式,其中一个中央服务器直接驱动一个或多个客户端。
根据卡马克早期的描述,VrScript的快速迭代能力至关重要。但社交功能也同样重要。他希望VrScript能够让人们轻松创建在VR环境中具有网络连接的“活动”,如桌游和纸牌游戏。
目前,VrScript似乎主要关注Android平台的移动VR开发,但其中的一些经验教训(即使不是环境本身)也可能在未来对桌面VR开发有所裨益。
0