XRFrame: getLightEstimate() 方法

可用性有限

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

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

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

XRFrame 接口的 getLightEstimate() 方法返回一个 XRLightEstimate 对象,其中包含给定 XRLightProbe 的估计光照值。

语法

js
getLightEstimate(lightProbe)

参数

lightProbe

一个 XRLightProbe 对象,包含当前帧的光照状态。

返回值

如果设备无法估计此帧的光照,则返回 XRLightEstimate 对象或 null

示例

获取每一帧的光照估算

给定一个会话的 XRLightProbegetLightEstimate() 方法将获取一个 XRLightEstimate 对象,其中包含每一帧的光照值。

js
const lightProbe = await xrSession.requestLightProbe();

// frame loop
function onXRFrame(time, xrFrame) {
  let lightEstimate = xrFrame.getLightEstimate(lightProbe);

  // Use light estimate data to light the scene

  // Available properties
  lightEstimate.sphericalHarmonicsCoefficients;
  lightEstimate.primaryLightDirection;
  lightEstimate.primaryLightIntensity;
}

规范

规范
WebXR 光照估算 API Level 1
# dom-xrframe-getlightestimate

浏览器兼容性

另见