XRLightProbe
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
XRLightProbe
は WebXR 機器 API のインターフェイスで、ユーザー環境のこの点の照明情報が入ります。 XRLighting
オブジェクトは XRSession.requestLightProbe()
メソッドを使用して取得することができます。
このオブジェクト自体は照明値を保持しませんが、それぞれの XRFrame
の照明状態を収集するために使用します。 XRLightProbe
の推定照明値については XRLightEstimate
を参照してください。
インスタンスプロパティ
XRLightProbe.onreflectionchange
-
reflectionchange
イベントのイベントハンドラープロパティです。 XRLightProbe.probeSpace
読取専用 Experimental-
照明推定が相対的な位置と方向を追跡する
XRSpace
です。
インスタンスメソッド
なし。
イベント
reflectionchange
Experimental-
推定反射立方体マップが変更されるたびに発行されます。(これはユーザーが移動して環境の照明が変化したときに発生します。)
例
セッションの XRLightProbe
オブジェクトの取得
ライトプローブを取得するには、 XRSession.requestLightProbe()
メソッドを使用します。
const lightProbe = await xrSession.requestLightProbe();
XRFrame
内のプローブ位置姿勢の取得
ライトプローブの probeSpace
を XRFrame.getPose()
に渡すと、ある位置姿勢のライトプローブを取得します。
const probePose = xrFrame.getPose(lightProbe.probeSpace, xrReferenceSpace);
reflectionchange
イベントの使用
XRLightProbe
を渡して、 reflectionchange
イベントが発生するたびに推定反射立方体マップを取得します。XRWebGLBinding.getReflectionCubeMap()
も参照してください。
const glBinding = new XRWebGLBinding(xrSession, gl);
const lightProbe = await xrSession.requestLightProbe();
let glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
lightProbe.addEventListener("reflectionchange", () => {
glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
});
仕様書
Specification |
---|
WebXR Lighting Estimation API Level 1 # xrlightprobe-interface |
ブラウザーの互換性
BCD tables only load in the browser