XRLightProbe
XRLightProbe
是WebXR 设备 API的接口,包含用户环境中给定点的照明信息。您可以使用XRSession.requestLightProbe()
方法获取XRLighting
对象。
此对象本身不包含照明值,但用于为每个XRFrame
收集照明状态。有关XRLightProbe
的估计照明值,请参阅XRLightEstimate
。
实例属性
XRLightProbe.onreflectionchange
-
reflectionchange
事件的事件处理程序属性。 XRLightProbe.probeSpace
只读 实验性-
一个
XRSpace
,跟踪照明估计相对于其的位置和方向。
实例方法
无。
事件
reflectionchange
实验性-
每次估计的反射立方体贴图发生变化时都会触发。(当用户四处移动并且环境的照明发生变化时,就会发生这种情况。)
示例
获取会话的XRLightProbe
对象
使用XRSession.requestLightProbe()
方法获取光探测器。
js
const lightProbe = await xrSession.requestLightProbe();
在XRFrame
中获取探测器姿态
将光探测器的probeSpace
传递给XRFrame.getPose()
以获取姿态的光探测器。
js
const probePose = xrFrame.getPose(lightProbe.probeSpace, xrReferenceSpace);
使用reflectionchange
事件
传递XRLightProbe
以在reflectionchange
事件触发时获取反射立方体贴图。另请参阅XRWebGLBinding.getReflectionCubeMap()
。
js
const glBinding = new XRWebGLBinding(xrSession, gl);
const lightProbe = await xrSession.requestLightProbe();
let glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
lightProbe.addEventListener("reflectionchange", () => {
glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
});
规范
规范 |
---|
WebXR 照明估计 API 级别 1 # xrlightprobe-interface |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。