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 事件
每当 reflectionchange 事件触发时,将 XRLightProbe 传递以获取反射立方体贴图。另请参阅 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 Level 1 # xrlightprobe-interface |
浏览器兼容性
加载中…