通用 Firefox 55 版本 为 Gecko 平台带来了许多酷炫的新功能,其中之一是 WebVR API v1.1。这使开发者能够在 Web 应用中创建沉浸式 VR 体验,与流行的硬件兼容,例如 HTC VIVE、Oculus Rift 和 Google Daydream。本文介绍了我们为促进 WebVR 开发而提供的资源。
支持说明
WebVR API 1.1 版 非常新,在现代浏览器中支持情况各不相同。
- Firefox 55 在 Windows 上提供完全支持,在 Mac 上仅在 Beta/Nightly 版本通道中提供实验性支持,直到测试和最终工作完成。支持的 VR 硬件包括 HTC VIVE、Oculus Rift 和 Google Daydream。
- Chrome 的支持仍处于实验阶段 - 您目前只能在运行 Google Daydream 的 Android 版 Chrome 中看到支持。
- Edge 通过 Windows Mixed Reality 耳机完全支持 WebVR 1.1。
- 三星互联网通过其 GearVR 硬件也提供支持。
请注意,API 的 1.0 版可以被认为已过时,并且已从(或将从)所有主要浏览器中删除。
使用 VR 控制器的完整功能来控制 WebVR 应用依赖于 Gamepad 扩展 API。这为 Gamepad API 添加了功能,可访问控制器功能,例如触觉致动器(例如振动硬件)和位置/方向数据(即 姿势)。目前,它的支持范围比 WebVR API 更小;Firefox 55 及更高版本在 Beta/Nightly 通道中提供支持。
在其他浏览器中,您现在必须使用基本的 Gamepad API 功能,例如报告按钮按下。
vr.mozilla.org
vr.mozilla.org - Mozilla 的 WebVR 新着陆页 - 提供演示、实用程序、新闻和更新,以及您开始使用 WebVR 所需的所有其他信息。
MDN 文档
MDN 为上述两种 API 提供了完整的文档。请参见
此外,我们还编写了一些有用的指南,让您熟悉使用这些 API 的基础知识。
A-Frame 和其他库
WebVR 体验的开发可能相当复杂。API 本身易于使用,但您需要使用 WebGL 创建要在应用中展示的 3D 场景,对于不熟悉低级图形编程的人来说,这可能很困难。但是,有一些库可以帮助您完成这项工作。
WebVR 世界中的英雄是 Mozilla 的 A-Frame 库,它允许您使用自定义 HTML 元素创建外观不错的 3D 场景,并在幕后处理所有 WebGL。默认情况下,A-Frame 应用也与 WebVR 兼容。它非常适合快速构建应用和体验。
还有许多其他优秀的 3D 库可用,它们可以将使用原始 WebGL 的难度抽象化。一些很好的例子包括
这些库默认情况下不包含 VR 功能,但使用它们编写自己的 WebVR 渲染代码并不太难。
如果您担心支持仅包含 WebVR 1.0(或没有 VR)的旧浏览器,以及支持具有 1.1 的新浏览器,那么您会很高兴地知道有一个 WebVR polyfill 可用。
演示和示例
- vr.mozilla.org - Mozilla 的 WebVR 主要着陆页,提供演示、实用程序和其他信息。
- webvr-tests - 非常简单的示例,用于配合 MDN WebVR 文档。
- Carmel 启动套件 - 很好、简单、注释良好的示例,与 Facebook 的 WebVR 浏览器 Carmel 相辅相成。
- WebVR.info 示例 - 更深入的示例和源代码
- WebVR.rocks Firefox 演示 - 展示示例
- A-Frame 主页 - 展示 A-Frame 用法的示例
另请参见
关于 Chris Mills
Chris Mills 是 Mozilla 的高级技术作家,他编写有关开放 Web 应用、HTML/CSS/JavaScript、A11y、WebAssembly 等的文档和演示。他喜欢玩弄 Web 技术,并偶尔在会议和大学发表技术演讲。他曾为 Opera 和 W3C 工作,喜欢演奏重金属鼓和喝好啤酒。他与妻子和三个可爱的孩子住在英国曼彻斯特附近。
一条评论