WebVR
警告:WebVR 仍处于实验阶段,并且随时可能更改。
WebVR 是一个 JavaScript API,其利用用户拥有的任意 VR 耳机和 VR 设备(如Daydream 耳机和 Pixel 手机)在浏览器中营造身临其境的 3D 体验。
支持与可用性
目前,WebVR API 可用于以下浏览器:
- Chrome Beta (M56+),通过一个 来源试用版 实现。
- Firefox Nightly。
- Samsung Internet Browser for Gear VR。(请注意:此浏览器目前支持一个较早版本的 WebVR 规范)。
对于不支持 WebVR 或可能具有较旧版本的 API 的浏览器,您可以回退到WebVR Polyfill。不过,请谨记,VR对性能极其敏感,并且 polyfill 的性能成本通常相对较高,因此,对于无法为 WebVR 提供原生支持的用户,您需要斟酌是否使用 polyfill。
如果您不确定,则避免提供糟糕的性能体验,从而造成用户出现晕动症。
创建 WebVR 内容
要创建 WebVR 内容,您需要利用一些全新的 API,以及WebGL和网络音频等现有技术,同时考虑不同的输入类型和耳机。
WebVR 使用入门
选取一个 WebGL 场景并添加 VR API 就可以顺利使用 WebVR。
了解详情
向 WebVR 场景添加输入
交互是提供具有吸引力的沉浸式体验的关键环节。
使用入门
更多资源
以下是目前针对网页提供的一些非常好的 WebVR 资源。
记录您的性能
为了最大程度降低使用 WebVR 体验的用户的不适,用户必须保持稳定的(和非常高的)帧速率。不然,会造成用户出现晕动症!
在移动设备上,更新频率通常为 60Hz,这意味着目标频率为 60fps(或每帧 16 毫秒,包括每帧浏览器的开销)。在桌面设备上,目标频率通常为 90Hz(11 毫秒,包括开销)。
为满足上述目标,您需要定期在您的目标设备上进行测试,并且应使用 Chrome DevTools 的 Timeline 测量每一帧的开销。
包含渐进式增强
如果您的用户没有头盔式显示器 (‘HMD’) 或 VR 设备,您该怎么办?最佳答案是使用渐进式增强功能。
- 假设用户当前在使用传统输入设备,如键盘、鼠标或触摸屏,没有安装 VR 耳机。
- 适应输入设备的变化,并在运行时使用耳机。
幸运的是,WebVR API让我们可以检测 VR 环境中的变化,以发现和适应输入的变化,并查看用户设备中的选项。
通过首先假定一个非 VR 环境,可将您体验的覆盖范围最大化,并确保无论用户的设置如何,都可以提供最佳体验。
如需更多详细信息,请查看向 WebVR 场景添加输入指南。