XRLightEstimate

可用性有限

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

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

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

XRLightEstimate 接口是 WebXR 设备 API 的一部分,它提供 XRLightProbeXRFrame 所表示的时间点的估计光照值。

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

实例属性

XRLightEstimate.primaryLightDirection 只读 实验性

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

XRLightEstimate.primaryLightIntensity 只读 实验性

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

XRLightEstimate.sphericalHarmonicsCoefficients 只读 实验性

一个 Float32Array,包含 9 个球谐函数系数。

实例方法

无。

示例

获取 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 Level 1
# xrlightestimate-interface

浏览器兼容性

另见