万维网联盟(W3C)最近发布了 WebXR 规范草案。WebXR Device API旨在为开发者提供用于开发沉浸式应用程序的接口,让他们可以通过这些接口开发出基于 Web 的、舒适的、有吸引力的沉浸式应用程序。
开发者可以通过 WebXR API 来创建 XR 体验。XR 包括了增强现实(AR)、虚拟现实(VR)和最近出现的沉浸式技术。制定这个规范的沉浸式 Web 社区工作组(Immersive Web Community Group)解释说:
因为我们不想局限于 VR 或 AR,所以我们使用了“X”,它并不是字母缩写的一部分,但它代表了各种”现实“。也有人把它叫作”扩展现实(Extended Reality)“或者”跨界现实(Cross Reality)“,这样似乎也不错。不过这里的 X 可以指任何你想要的东西!
很多 VR 开发人员使用 Unreal 和 Unity 来开发交互式的虚拟世界。程序员们通常使用 C#之类的语言来开发这些虚拟世界的底层逻辑。WebXR 构建在 WebVR 之上,并想要取代它。它的目标是帮助开发者使用 JavaScript 来开发 VR、AR 和其他沉浸式应用程序。这样一来,开发人员就可以开发出可以利用 Android ARCore 和 iOS ARKit 的 Web 应用程序。
WebVR 最初是在 2016 年发布的,其目标是将 VR 带到 Web 上,不过需要佩戴各种设备。沉浸式 Web 社区工作组表示,WebXR Device API 有两个新的目标:
支持更广泛的用户输入,比如声音和手势,让用户可以在虚拟空间中进行导航和交互;
为 AR 体验开发奠定技术基础,让开发者可以将真实世界的媒介和情境叠加集成在一起。
当前版本的 API 提供了以下这些关键特性:
检测可用的 VR/AR 设备;
列出设备的功能;
探测设备的位置和朝向;
以合适的帧频将图像显示在设备上。
WebXR 规范草案还写道:
WebXR Device API 的新特性带来了一些隐私、安全和舒适度方面的风险(比如眼球跟踪、指纹等),用户必须知道如何降低这些风险。
虽然 WebXR 还处于早期阶段,不过 Mozilla 和 Chrome 已经支持它了(一些注意事项)。
一些受支持的设备包括(不限于这些):
兼容 ARCore 的设备;
Google Daydream;
HTC Vive;
Magic Leap One;
微软 Hololens;
Oculus Rift;
三星 Gear VR;
Windows 混合现实头戴设备。
有关 WebXR 规范的反馈和建议可以通过GitHub Issues提交,相关的讨论可以参看public-immersive-web@w3.org归档。
查看英文原文:W3C Publishes WebXR Draft Specification for Direct Web Interaction with Immersive Hardware
评论