XRLightEstimate

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

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

XRLightEstimateWebXR 设备 API 的接口,它提供了XRLightProbe 在由XRFrame 表示的时间的估计照明值。

要获取 XRLightEstimate 对象,请调用XRFrame.getLightEstimate() 方法。

实例属性

XRLightEstimate.primaryLightDirection 只读 实验性

一个DOMPointReadOnly,表示来自XRLightProbeprobeSpace 的主要光源的方向。

XRLightEstimate.primaryLightIntensity 只读 实验性

一个DOMPointReadOnly(其中 xyz 值映射到 RGB),表示来自XRLightProbeprobeSpace 的主要光源的强度。

XRLightEstimate.sphericalHarmonicsCoefficients 只读 实验性

一个包含 9 个球谐系数的Float32Array

实例方法

无。

示例

获取 XRLightProbe 对象

首先,使用XRSession.requestLightProbe() 方法从会话中获取光探针。然后,在XRFrame 循环中,getLightEstimate() 方法将返回一个 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 级别 1
# xrlightestimate-interface

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅