XRSessionMode - 用于标识可能使用的会话模式的字符串值

XRSessionModeWebXR 设备 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

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持7979 不支持 不支持 不支持 不支持
immersive-ar8181 不支持 不支持 不支持 不支持
immersive-vr7979 不支持 不支持 不支持 不支持
inline7979 不支持 不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持7979 未知 不支持 未知 不支持 不支持
immersive-ar 未知81 未知 不支持 未知 不支持 不支持
immersive-vr7979 未知 不支持 未知 不支持 不支持
inline7979 未知 不支持 未知 不支持 不支持