XRLightProbe:reflectionchange 事件
WebXR 的 reflectionchange 事件會在估計的反射立方體貼圖每次發生變化時觸發。這通常發生在使用者在不同光照條件下移動,或光照本身發生直接變化時。此事件無法被取消。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("reflectionchange", (event) => { })
onreflectionchange = (event) => { }
事件型別
示例
使用 reflectionchange 事件
每當 reflectionchange 事件在 light probe 上觸發時,您可以透過呼叫 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 Level 1 # eventdef-xrlightprobe-reflectionchange |
| WebXR 光照估算 API Level 1 # dom-xrlightprobe-onreflectionchange |
瀏覽器相容性
載入中…