XRLightProbe: reflectionchange イベント
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
WebXR の reflectionchange
イベントは、推定反射立方体のマップが変更されるたびに発生します。これは、異なる照明条件での使用や、照明自体の直接的な変更に応じて発生します。このイベントはキャンセル不可です。
構文
このイベント名を addEventListener()
などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。
js
addEventListener("reflectionchange", (event) => {});
onreflectionchange = (event) => {};
イベント型
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);
};
仕様書
Specification |
---|
WebXR Lighting Estimation API Level 1 # eventdef-xrlightprobe-reflectionchange |
WebXR Lighting Estimation API Level 1 # dom-xrlightprobe-onreflectionchange |
ブラウザーの互換性
BCD tables only load in the browser