XRSession: requestLightProbe() 方法

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

安全上下文: 此功能仅在 安全上下文 (HTTPS) 中可用,在某些或所有 支持的浏览器 中可用。

requestLightProbe() 方法是 XRSession 接口的一部分,它返回一个 Promise,该承诺解析为一个 XRLightProbe 对象,该对象估计用户环境中给定点的照明信息。

语法

js
requestLightProbe()
requestLightProbe(options)

参数

options 可选

包含配置选项的对象,具体来说

reflectionFormat

指示纹理数据如何表示的内部反射格式,可以是 srgba8(默认值)或 rgba16f。另请参阅 XRSession.preferredReflectionFormat.

返回值

一个 Promise,它解析为一个 XRLightProbe 对象。

异常

requestLightProbe() 不会抛出真正的异常,而是用一个 DOMException 拒绝返回的承诺,具体来说,是以下情况之一

NotSupportedError DOMException

如果 lighting-estimation 不是 XRSystem.requestSession() 中启用的功能,或者 reflectionFormat 不是 srgb8preferredReflectionFormat,则抛出此异常。

InvalidStateError DOMException

如果会话已结束,则抛出此异常。

示例

使用系统的首选格式请求光探针

默认格式为srgb8,但是,某些渲染引擎可能会使用其他(高动态范围)格式。您可以使用XRSession.preferredReflectionFormat请求光探针,它会报告首选的内部格式。

js
const lightProbe = await xrSession.requestLightProbe({
  reflectionFormat: xrSession.preferredReflectionFormat,
});

规范

规范
WebXR 照明估算 API 1 级
# dom-xrsession-requestlightprobe

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅