使用 JavaScript 开发 WebXR

重要

WebVR 已弃用且在当前浏览器中不可用,因此请不要将其用于任何新的开发。 需要将任何现有 WebVR 实现迁移到 WebXR

WebXR 将继续可用。 但是,WebXR 的支持已停止(无 bug 修复、内容更新或技术支持),因此我们不能保证应用程序将继续在任何较长时间内工作。

JavaScript 是世界上最流行的编程语言之一! 它简单轻量,在 Web 上被广泛使用。 通过应用 JavaScript 和 Web 技能的强大功能,创建更具吸引力的混合现实体验。

Web 上的混合现实应用程序

可以通过 WebXR 在 Web 上使用混合现实功能。 可以在启用了 WebXR 的兼容浏览器中查看虚拟现实(VR)和增强现实(AR)内容,而无需再安装任何软件或插件。 可以在 HoloLens 2 等物理设备上使用这种浏览器。

WebXR 设备 API 用于在 Web 上访问虚拟现实 (VR) 和增强现实 (AR) 设备,包括传感器和头戴式显示器。 WebXR 设备 API 在 Microsoft Edge 和 Chrome 版本 79 上可用,更高版本默认支持 WebXR。 可以在 caniuse.com 上检查 WebXR 的最新浏览器支持状态。

WebXR 功能 可用性
WebXR 设备 API (w3.org) Windows 桌面上的 Edge 81
HoloLens 2 上的 Edge 91
WebXR 增强现实模块 - 级别 1 (w3.org) Edge 91。 仅限 HoloLens 2
WebXR 手部输入模块 - 级别 1 (w3.org) Edge 93。 仅限 HoloLens 2
WebXR 定位点模块 (immersive-web.github.io) Edge 93。 仅限 HoloLens 2
WebXR 命中测试模块 (immersive-web.github.io) Edge 93。 仅限 HoloLens 2

查看 WebXR

可以使用新的 Microsoft EdgeFirefox Reality 浏览器在 Windows Mixed Reality 中查看 WebXR 体验。 若要测试你的浏览器是否支持 WebXR,可以在浏览器中导航到 WebXR 示例

可以使用哪些工具来开发沉浸式 Web 体验?

以下列表显示了用于构建沉浸式体验的 JavaScript 框架和 API,它们目前占据市场主导地位,并被混合现实 JavaScript 开发人员广泛接受和采用:

框架 示例
Babylon.js

Babylon 是一种 JavaScript 3D 引擎,可为 3D 内容和沉浸式应用程序的开发提供方便。 在开始使用沉浸式应用程序之前,建议学习 Babylon.js 开发基础知识。

- 了解如何使用 Babylon.js 构建 3D 应用程序:开始使用
- 使用 Babylon.js 学习 3D 示例及其源代码:操场
- 深入了解 WebXR
- 了解如何开始使用我们的教程:创建第一个“Hello World!”应用
BabylonJS Logo
A-Frame

A-Frame 是一种声明性 JavaScript 框架,可用于在 Web 中开始进行虚拟现实开发。 若要了解详细信息,请查看 A-Frame 文档
A-Frame
Three.js

Three.js 是用于创建沉浸式体验的流行 3D 库。 详细了解 three.js浏览示例
Three.js
WebGL

可以使用 WebGL API 直接访问 WebXR 设备 API。 WebGL(Web 图形库)是一个 JavaScript API,用于在任何兼容的 Web 浏览器中渲染高性能交互式 3D 和 2D 图形,而无需使用插件。
WebGL

另请参阅

后续步骤 - 教程