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 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |