自VR和AR诞生以来,其生态系统似乎一直围绕着原生应用而展开,但无论体验怎样的XR内容都必须下载APP,对用户来说无疑是一件麻烦事,同时也在某种程度上拔高了XR内容开发的门槛。
WebXR标准的诞生,正是要为用户提供更便捷的XR内容访问方式,同时降低开发者的入门门槛,推动XR内容生态的繁荣发展。
作为参与制定WebXR标准最初版本的人员之一,Diego Marcos对于WebXR有着深厚的感情。他是WebXR坚定的支持者,不仅参与了标准的制定,还和其他人一同开发了适用于Web原生XR交互内容的框架A-frame。
▲Diego Marcos
在Marcos眼中,WebXR标准的诞生有怎样的意义,将会引发什么样的行业变革?在最近的一次外媒专访中,Marcos详细讲述了WebXR和A-frame的幕后故事,下面就让我们一同去深入了解这项或许会重塑行业内容生态的新标准吧。
什么是WebXR?它是怎么诞生的?
早在2014年,Marcos就在Mozilla从事FirefoxOS的开发工作。FirefoxOS是基于Web技术的智能手机操作系统,内容包括从开发人员API到浏览器前端的所有第一方应用程序内容。
既然智能手机上的FirefoxOS是为Web内容而构建的操作系统,那么这种想法是否也可以应用在VR设备上?是否可以不用在VR头显中安装任何应用程序,而是启动WebXR浏览器并连接网络,就可以获得VR体验所需的内容呢?
那时Marcos已经对VR产生了浓厚的兴趣,购买了Oculus DK1、DK2和Vive等设备,和Josh Carpenter、Kevin Ngo、Casey Yee等同样对VR感兴趣的同事一起制作了一些原型产品,并在Mozilla内部进行推广。
Marcos的想法也得到了Mozilla的支持,组建了专注VR的团队,并开发出第一版的WebVR API。
这个WebVR标准发布以后,三星、微软以及Oculus等也参与到它的完善工作中,其API的功能也不断扩大,并加入了AR相关的内容,最终发展成为今天的WebXR标准。
事实上,在VR领域,大家对于Web内容的看法并不完全统一,有人认为,Web技术对于任何平台都有存在的意义。在Marcos看来,现有的WebVR技术还无法提供完整的VR体验,但对于本地内容来说,的确是一种补充,并在某些场景下“快速且直接”。
“WebVR对于一些快消型VR体验来说是非常适合的载体,比如用户想要快速的阅读某些事物相关的文章,并且这篇文章附带了一些VR内容来说明这些信息,这时候如果还需要用户去下载应用,可能会引起反感。WebVR正是这种场景下的最佳答案,只需点击链接即可访问体验,快速且直接。”
基于WebXR标准能否开发出类似FirefoxOS的操作系统?
在Marcos看来,FirefoxOS虽然是一种整体的解决方案,但较为封闭,WebXR则是一项开源的标准,目前已经拥有非常棒的API集,从技术角度来说,完全能够做到基于WebXR技术来构建整个系统和平台。
大公司在这一点上通常采用一些更加折中的方案,提供基于WebXR标准的浏览器来作为自身生态系统的补充,例如Oculus Quest就提供了优秀的VR浏览器,通过WebXR的API为用户提供了顶级的Web体验。
Marcos希望,能够有人基于WebXR的标准和API集来构建一套不同于FirefoxOS的VR头显开放生态,但是为什么目前还没有人这么做?为什么WebXR始终滞留在小规模的内容展示中?Marcos给出了自己的看法:
“这是一个很复杂的问题。首先,WebXR还很年轻。我们已经讨论了很多年,但直到2020年初才实际发布浏览器使用的最终API,所以实际上WebXR的诞生并没有很久。由于VR和AR领域对于游戏的关注较多,因此存在很多惯性,而且游戏行业是建立在人们多年来学习的某些工具之上的,当人们想要开发Web内容时,就必须要重新学习新工具和新模式。
第二个问题是货币化。VR以游戏为重心则意味着赚钱的方式是——开发VR游戏,将其放到VR商店中并针对内容进行收费,这对于Web是不合适的。目前Web端的主流收费模式还是广告和订阅服务,这些在视频游戏领域不是那么常见。
我相信,这并不是WebXR在技术上存在什么问题。因为我们拥有了一套标准,并且最终版已经面向浏览器发布了。所有技术上的障碍都已经被克服,余下的事情则是市场教育和让人们了解WebXR技术的潜力。
WebXR的大规模普及一定会到来,但是新技术通常需要更多的时间来让市场接受。也许作为一个VR行业的老鸟,你感觉‘WebXR的发展已经超过5年时间’,但是如果从全球的视野来看,人们才刚刚开始了解WebXR,会为能够在浏览器中消费VR/AR内容而感到惊讶。大多数人还不了解这项技术。”
WebXR如何解决付费问题?
目前Oculus已经在浏览器内集成了Web Payments API,用户可以像在应用商店购买应用一样消费Web内容,这对于Web内容开发者来说,无疑是一项利好。
Marcos认为,VR硬件研发商是有能力来解决WebXR付费问题的,通过Web与应用商店两端绑定的方式。但是,Marcos猜测在诸如安卓、iOS或者是Oculus Quest的生态系统中,原生应用商店付费方式和Web付费方式之间存在着一定的优先级冲突,相关厂商的内部人员就两者的关系肯定展开了大量讨论。
WebXR的状况和现代智能手机诞生时有很多相似之处。例如iPhone,同时拥有本地SDK以及一些对于Web应用的支持,但是苹果倾向于优先为原生应用提供新特性,实际上将Web应用视为「二等公民」。Facebook是否会延续这样的惯例,将在很大程度上影响到WebXR的付费生态。
Marcos对于这一问题是这样看待的:“对于苹果来说,其根基在于对所有东西的把控,自底至顶,从硬件到软件,Web并不在他们的体系内,他们也没有Web的思考模式。我希望Facebook不会这样看待问题,因为Facebook是通过Web取得成功的,不是吗?Facebook是拥有Web基因的。”
什么是A-frame?它解决了哪些问题?
早前,要想通过Web网页呈现原生的3D内容,需要使用被称为WebGL的图形接口。WebGL起源于Mozilla员工弗拉基米尔·弗基西维奇的一项称为Canvas 3D实验项目。2006年,弗基西维奇首次展示了Canvas 3D的原型,2007年底在Firefox和Opera被实现。
在2009年初,非营利技术联盟Khronos Group启动了WebGL的工作组,最初的成员包括Apple、Google、Mozilla、Opera等,并于2011年3月发布了基于OpenGL ES 2.0设计的WebGL 1.0规范。
WebGL完美地解决了现有的Web交互式三维动画的两个问题:
第一,它通过HTML脚本本身实现Web交互式三维动画的制作,无需任何浏览器插件支持;
第二,它利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现的。
也正是解决了Web交互式三维动画的问题后,开发者才有可能开发WebXR应用。但对于大多数Web开发者来说,WebGL只提供了一些底层的API,有着非常高的学习成本。通常只有一些负责游戏引擎开发的程序员才会使用像OpenGL和WebGL这样的底层API。
A-frame正是为解决这些问题而生。作为一个用于在网络上开发VR体验的框架,A-frame让任何具备Web开发能力的开发者,都可以用开发Web应用程序相同的方式开发VR和AR内容,无需关注类似如何在浏览器中渲染出一个立方体这样的底层实现,只专注于3D内容的设计,极大的减少了WebXR开发人员的工作量,降低了WebXR内容创作的门槛。
这正是WebXR生态目前所缺少的开发工具或者框架。
“借助A-frame,我们正在为WebXR的开发生态系统解决工具问题。有数以百万计的Web开发人员并不具备直接在网页上开发XR内容的能力。我们的目标是为这些Web开发人员提供教程和工具,让XR内容的开发能够与Web的工作流程产生共鸣。我们的背景也是Web开发人员,因此我们了解这种心态,我们了解他们工作的方式,这是非常需要的”,Marcos透露。
“如果我们希望WebXR蓬勃发展,我们就需要尽可能多的Web开发人员,因此,我们需要更多能与他们产生共鸣的工具,而不是试图说服尽可能多的原生应用开发者转向Web平台,因为他们已经有了适合工作流程和习惯的工具。如果解决了Web开发者如何开发VR和AR内容的问题,即使只有5%的开发者最终加入到WebXR的生态中,我们也将会迎来WebXR内容的爆发。”
对于WebXR,本地引擎的支持是必需品吗?
现阶段,通常VR和AR内容的开发绕不开Unity和虚幻引擎,作为开发工具来说,Unity和虚幻引擎为VR和AR内容的开发提供了许多非常便利的功能,同时它们本身也是VR和AR技术的推动者之一,支持导出支持WebXR标准的内容。但Marcos认为,Unity和虚幻引擎的支持并非WebXR发展的必要条件。
“那些使用Unity和虚幻引擎进行原生应用开发的人,正处于自己的泡沫之中,他们不太关心Web技术。很多人已经在网络上看到了WebGL和WebXR等新技术的潜力,并表示:‘现在,我拥有一个全新的世界,可以创建新的东西。’这在以前是不可能的。”
▲Unity引擎的XR技术栈
这正是Marcos开发A-frame的目标,不只是为了说服原生应用开发者开发WebXR应用,还可以使已经在使用Web的人们知道Web的价值和应该如何使用它来创建XR内容。
“原生引擎的支持将是非常受欢迎的,对于一些不参与Web开发的人来说,这将是非常容易的开发WebXR内容的方式,但是我认为这不是必需的。”
WebXR应用相比原生应用差异在哪里?
除了是否需要下载安装APP,WebXR应用和原生的VR应用还存在哪些差异?Marcos作出了详细的解答。
WebXR应用的优势是即时性,用户可以仅通过链接共享内容,单击即可访问。从用户的角度来看,这是一个优势。
从开发人员的角度来看,WebXR应用完全处于自己的掌控下。不必向主管政府部门申请许可,无需经过繁琐的应用商店审核上架应用,开发者只需发布相应的内容,用户就会告诉你它是否表现良好。
这真的很必要,因为我们还不知道VR和AR的杀手级应用是什么。Oculus不知道,管理应用商店的人不知道,我也不知道。网络诞生时,没有人会想到日后将出现Twitter或Facebook或其他任何类似的东西。我们需要尽可能多的人来开发内容,尝试想法,看看会发生什么。
同样从开发人员的角度来看,入口的缺失是对收入影响不利的一面。但从好的方面来说,所有的收入都将落入开发者的口袋,没有人会分去收入的30%或20%或15%。同样,Web内容具有很好的持久性,即使现在,人们也可以访问仍在正常工作的90年代的网站。但如果开发者今天在iOS上发布应用程序,三年之内不进行更新,它将无法正常工作。
因此,WebXR内容具有很好的保存性,因为Web标准一旦发布,浏览器就不会删除API。今天所有有效的WebXR内容都将在至少10年内可以正常访问。
▲已经停产的Oculus Go
这是非常重要的一点,因为Oculus Go、Gear VR和Daydream的内容已经被历史所遗忘,而这仅仅是几年前的事。让WebXR成为制作VR应用程序首选方法的原因是,开发者将内容和传统的引擎进行了分离,而浏览器可以被看做是有生命的引擎。使用当前版本的Unity或者虚幻引擎制作的VR内容等到10年后恐怕将无法使用,其使用的基本技术也将会过时。
“即使是我在2014年做的试验性项目,现在也可以获取完整的代码。这些代码会有些混乱,因为当时WebVR还没有成为标准,但在经过一系列调整后,仅花费一个下午的时间,就可以让这些项目在如今支持WebXR标准的浏览器中运行,这就是WebXR的最大价值。”
从长远来看,WebXR这种内容和原生引擎脱钩的方式将随时间的推移显现出越来越明显的优势。Marcos认为,WebXR有取代原生引擎的潜力。例如A-frame,它就像Web开发者常用的Node、Webpack、React或者Angular,可以集成到任何Web工具中,因此Web开发者能够很快的上手,但目前想要让原生应用的开发者迁移开发平台还是很困难的事情。而未来如果WebXR蓬勃发展,原生应用的开发者也将会认识到它的真正价值。
此外,也有人对于WebXR与原生应用的性能差异抱有疑问。许多人认为,受浏览器自身的限制,WebXR应用在运行速度上要比原生应用慢上不少。
不过,Marcos却持有不同的意见。
“在Mozilla工作期间,我们一直在为那种许多情况下根本不可能发生的事情而努力,一旦人们形成了固有观念,就很难被改变。大量的指标和统计数据以及浏览器和应用程序的性能分析表明,WebXR应用与原生XR应用都能够正常的工作。”
Marcos举了一个实际案例——「Moon Rider」,这是他们尝试将广受欢迎的「Beat Saber」引入WebXR而开发的示例,只是为了证明WebXR能够提供与原生应用一样吸引人的内容。只要用户愿意花一定的时间去进行配置,就能够获得与商店应用同样优秀的VR体验。
▲基于WebXR开发的游戏「Moon Rider」
“人们看不到原生应用的测试过程,因为它难以被分享,因此被隐藏了起来。你看不到无法执行的东西,看不到充斥着漏洞的事物。但对于WebXR应用,这些不完善的地方是公开的。因为一旦你对某件产品感到自豪,并将其发布到推特上,人们就可以通过链接来访问,接触到产品的所有缺陷,这很大程度上影响了人们对WebXR应用的印象。”
「Moon Rider」已经发布超过18个月,每日活跃用户为3000-4000人,平均体验时长16分钟。换而言之,用户喜欢这款WebXR应用,并且很多人都在体验。
A-frame未来如何发展?对WebXR有怎样的价值?
针对A-frame未来的发展方向,Marcos表示,它将会同时专注于WebXR上层功能栈的实现,但也会加入一些对开发人员具有很大作用的更高级的功能。
“我认为,我们两手都要抓。一开始,大多数Web AR开发者都在做一些基于360°照片的内容,这是当时的主要用例。对于这些人来说,他们需要的功能是将一些360°照片链接起来,并在各处添加一些文本,因此如果能够有一些高级的工具帮助他们构建这些导览是非常有用和方便的。但这些类别的内容对于VR来说仍然不够成熟。
有时,一段体验的价值在于交互模式的细微差异。在这种情况下,开发者会希望拥有很多控制权,需要一些工具让他们能以非常详细的方式自定义这些交互。因此,我们还需要提供一些更底层的工具,这些工具让开发者能够触及WebXR的部分核心功能并自定义所需的方式。
借助A-Frame,我们希望能够同时解决这两种需求。开发者既可以很快的完成例如放置360°视频或360°全景图的操作,并通过一个简单的链接与Twitter上的朋友分享;与此同时,开发者也能通过A-frame的源码了解这些高级功能的实现方式,从而加深他们对于WebXR内核的理解,为日后开发更复杂的WebXR应用打下基础。”
而A-frame同时结合的这两种特性:既提供高级功能,也可被开发者用于自定义功能的开发对于WebXR的未来也有非常重要的意义。
对于很多Web开发者来说,使用浏览器自带的开发者工具去了解自己喜欢的网站架构是很常见的事情。例如查看和修改CSS属性来更改某个按钮的颜色,检查JavaScript并弄清楚事情的产生方式。Web平台这种开放的环境给开发者提供了向他人学习的机会,让他们可以了解某个网页的内部结构并了解其构建方式,而不像使用原生引擎开发的内容,那就是一个黑匣子。
WebXR和Metaverse有怎样的联系?
Metaverse可谓是近期的热门词汇之一,但大多数人并不能深刻理解它的真正含义。通常人们认为,Metaverse的核心之一就是仅通过一个APP提供任何的功能。Marcos认为,尽管传统的网络是一个2D的世界,但加入了呈现3D内容的方式后,Web或者说互联网本身就已经成为了Metaverse。
互联网的传统媒介是文字,图像,视频和音频。VR和AR是一种新的媒介,它们与传统媒介共同形成了一个多媒体的网络环境,但具体的呈现取决于浏览器。传统的浏览器是2D的,有一个网页窗口,顶部有一个URL栏,也许还有一些选项卡,用户可以打开不同的网站并在它们之间切换。
但这样的方式是否适合VR仍需打一个问号。如果摆脱了窗口的框架,用户如何在VR和AR中访问不同的Web内容?目前还没有很好的解决方式。现状是,技术上的障碍已经被WebXR扫清,只是需要有人以合理的方式将不同的Web内容在VR和AR中组合在一起。
也正是因此,相比原生XR应用,WebXR让互联网更加接近Metaverse了。原生的XR应用很难复制WebXR的所有功能,因为它们需要一些Web平台在用的功能和特性,而这些东西已经经历了30多年的发展。原生应用不仅需要开发者们重新发明这些「轮子」,而且还必须说服开发人员和内容制作者,采用这种新的方式能达成比WebXR更好的效果。
Web生态系统进入空间计算时代后将走向何方?
谈及Web生态系统的未来,Marcos打开了话匣子。
“我们本应该在2014年发布WebXR标准的第一个版本,而到2019年末,已经5年过去了,我有点生气。
但我们最终等来了这一天。可以看到,Oculus在浏览器方面做得很棒,他们支持了WebXR最新的标准和各类交互;Magic Leap也在非常努力地推动WebXR内容的开发;HoloLens同样在其浏览器上集成了WebXR API。可以说现在是万事俱备,唯一的问题在于用户数量。相信随着越来越多的XR设备发布,越来越多的人会使用VR和AR头显接入网络,互联网已经为XR的时代做好了准备,静待开发者们利用它展现XR的无穷潜力。
现在距离WebXR标准的发布仅仅过去十多个月,很多VR浏览器对于它的支持仍在开发中,不过我对于即将发生的事情已经感到超级乐观且兴奋。
至于未来,WebXR的新前沿属于AR。Google员工在基于WebXR标准研发AR新特性方面做得非常出色。苹果公司对WebXR标准也产生了一些兴趣并进行了一些前期的工作,还有一些爆料称它们即将推出首款XR产品。对此我也非常期待。”
苹果全面进军XR领域无疑将同时做大原生XR应用和WebXR应用的市场,因为苹果是大家关注的焦点,会让人们真正开始认真的对待VR和AR。对于现在已经投资或者正在投资VR和WebXR的那些公司来说,一旦苹果公司正式推出XR产品,并推动其走向成熟,将会证明它们对市场的投资是合理且正确的。但无论苹果是否真的重视WebXR,它都将会蓬勃的发展。
人们经常批评苹果提供的互联网访问方式。但毋庸置疑的是,Safari浏览器的表现要优于大部分的同类产品。苹果并非不在乎Web技术,只是在相关路径和优先级上和其他公司的态度有所差异,因为苹果并不靠Web相关的业务来赚取利润,但最终苹果仍然会推出优秀的Web产品。
毫无疑问,随着WebXR标准的确立,XR内容生态的发展正由原先单一的原生应用走向原生与WebXR并存的多元化生态。没有人能够真正预言WebXR的未来究竟会怎样,但从目前来看,WebXR已经找到了一条适合自身发展的道路与应用场景,以满足XR用户爆发式增长后带来的多样化的需求。
未来WebXR将走出一条怎样的道路?Marcos没有给出明确答案,只是表示:“I’m really, really excited.”