XRSession: depthUsage 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

immersive-ar 类型的 XRSession 对象的只读 depthUsage 属性描述了使用的深度传感用法。

此属性可以返回以下值

cpu-optimized

深度数据旨在用于 CPU;请参阅 XRCPUDepthInformation 接口。

gpu-optimized

深度数据旨在用于 GPU;请参阅 XRWebGLDepthInformation 接口。

示例

要请求所需的用法方法,您需要在请求会话时使用 XRSystem.requestSession() 指定 usagePreference。在此,调用者能够处理 CPU 和 GPU 优化的用法。顺序表示对 CPU 的偏好。

js
navigator.xr.requestSession("immersive-ar", {
  requiredFeatures: ["depth-sensing"],
  depthSensing: {
    usagePreference: ["cpu-optimized", "gpu-optimized"],
    formatPreference: ["luminance-alpha", "float32"],
  },
});

要检查用户代理选择了哪种用法,您可以调用 depthUsage 属性。

js
console.log(session.depthUsage); // either "cpu-optimized" or "gpu-optimized"

规范

规范
WebXR Depth Sensing 模块
# dom-xrsession-depthusage

浏览器兼容性