XRSessionMode - 用于标识可能使用的会话模式的字符串值
XRSessionMode 是 WebXR 设备 API 的枚举类型,定义了用于标识可能使用的会话模式的字符串值。
值
immersive-ar
会话的输出将被赋予对沉浸式设备的独占访问权,但是渲染的内容将与现实环境融合在一起。会话的 environmentBlendMode 表示将内容混合在一起的方法。
重要:
immersive-ar模式由 WebXR 增强现实模块定义,该模块尚未稳定,除用于测试和实验外,不应使用。
immersive-vr
指示将在 VR 模式下使用沉浸式 XR 设备显示渲染的会话;不应将其覆盖或集成到周围环境中。如果可能,environmentBlendMode 应该是 opaque,但如果硬件需要,则可能是 additive。
inline
输出是在标准 HTML 文档中的元素上下文中内联显示的,而不是占用完整的可视空间。内联会话可以以单声道或立体声模式进行呈现,并且可能具有观众跟踪功能,也可能没有。内联会话不需要特殊的硬件,并且可以在任何提供 WebXR API 支持的 user agent 上使用。
使用注意
XRSessionMode 类型表示在调用 XRSystem.isSessionSupported() 以确定指定的会话类型是否受支持并可以使用,并由 requestSession() 尝试打开新的 WebXR 会话时可以指定的值。
immersive-ar 模式支持与 immersive-vr 相同的所有功能和参考空间,因为它们都是沉浸式会话。浏览器可能支持这两种模式中的一种或两种。如果 WebXR 可用,则始终支持 inline 模式。
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| WebXR Device API XRSessionMode 的定义 |
工作草案 | 初始定义。 |
| WebXR Augmented Reality Module XRSessionMode: immersive-ar 的定义 |
编者的草案 | 增加了 immersive-ar 值 |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
immersive-ar | 81 | 81 | 不支持 | 不支持 | 不支持 | 不支持 |
immersive-vr | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
inline | 79 | 79 | 不支持 | 不支持 | 不支持 | 不支持 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 79 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
immersive-ar | 未知 | 81 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
immersive-vr | 79 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
inline | 79 | 79 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |