XRLightProbe:reflectionchange 事件
WebXR reflectionchange
事件在每次估计的反射立方体贴图发生变化时触发。这是由于用户在不同的照明条件下移动或直接更改照明本身而引起的。此事件不可取消。
语法
在诸如 addEventListener()
的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("reflectionchange", (event) => {});
onreflectionchange = (event) => {};
事件类型
事件
.
示例
使用 reflectionchange
事件
每当 reflectionchange
事件在一个光探测器上触发时,您可以通过调用 XRWebGLBinding.getReflectionCubeMap()
来检索更新的立方体贴图。这比使用每个 XRFrame
检索照明信息更经济。
js
const glBinding = new XRWebGLBinding(xrSession, gl);
const lightProbe = await xrSession.requestLightProbe();
let glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
lightProbe.addEventListener("reflectionchange", () => {
glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
});
onreflectionchange
事件处理程序属性
reflectionchange
事件也可以使用 onreflectionchange
事件处理程序属性来访问。
js
lightProbe.onreflectionchange = (event) => {
glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
};
规范
规范 |
---|
WebXR 照明估计 API 级别 1 # eventdef-xrlightprobe-reflectionchange |
WebXR 照明估计 API 级别 1 # dom-xrlightprobe-onreflectionchange |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。