XRLightProbe: reflectionchange-Ereignis
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Das WebXR reflectionchange
-Ereignis wird jedes Mal ausgelöst, wenn sich die geschätzte Reflexions-Cube-Map ändert. Dies geschieht als Reaktion auf Bewegungen von Anwendern durch verschiedene Lichtverhältnisse oder auf direkte Änderungen der Beleuchtung selbst. Dieses Ereignis ist nicht abbrechbar.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("reflectionchange", (event) => {});
onreflectionchange = (event) => {};
Ereignistyp
Beispiele
Verwendung des reflectionchange
-Ereignisses
Immer wenn das reflectionchange
-Ereignis bei einer Lichtsonde ausgelöst wird, können Sie eine aktualisierte Cube-Map abrufen, indem Sie XRWebGLBinding.getReflectionCubeMap()
aufrufen. Dies ist weniger aufwändig, als bei jedem XRFrame
Beleuchtungsinformationen abzurufen.
const glBinding = new XRWebGLBinding(xrSession, gl);
const lightProbe = await xrSession.requestLightProbe();
let glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
lightProbe.addEventListener("reflectionchange", () => {
glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
});
Die onreflectionchange
-Ereignishandler-Eigenschaft
Das reflectionchange
-Ereignis ist auch über die onreflectionchange
-Ereignishandler-Eigenschaft verfügbar.
lightProbe.onreflectionchange = (event) => {
glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
};
Spezifikationen
Specification |
---|
WebXR Lighting Estimation API Level 1 # eventdef-xrlightprobe-reflectionchange |
WebXR Lighting Estimation API Level 1 # dom-xrlightprobe-onreflectionchange |
Browser-Kompatibilität
BCD tables only load in the browser