XRLightProbe

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

XRLightProbeWebXR 機器 API のインターフェイスで、ユーザー環境のこの点の照明情報が入ります。 XRLighting オブジェクトは XRSession.requestLightProbe() (en-US) メソッドを使用して取得することができます。

このオブジェクト自体は照明値を保持しませんが、それぞれの XRFrame (en-US) の照明状態を収集するために使用します。 XRLightProbe の推定照明値については XRLightEstimate (en-US) を参照してください。

EventTarget XRLightProbe

インスタンスプロパティ

XRLightProbe.onreflectionchange

reflectionchange イベントのイベントハンドラープロパティです。

XRLightProbe.probeSpace 読取専用 Experimental

照明推定が相対的な位置と方向を追跡する XRSpace (en-US) です。

インスタンスメソッド

なし。

イベント

reflectionchange Experimental

推定反射立方体マップが変更されるたびに発行されます。(これはユーザーが移動して環境の照明が変化したときに発生します。)

セッションの XRLightProbe オブジェクトの取得

ライトプローブを取得するには、 XRSession.requestLightProbe() (en-US) メソッドを使用します。

js
const lightProbe = await xrSession.requestLightProbe();

XRFrame 内のプローブ位置姿勢の取得

ライトプローブの probeSpaceXRFrame.getPose() (en-US) に渡すと、ある位置姿勢のライトプローブを取得します。

js
const probePose = xrFrame.getPose(lightProbe.probeSpace, xrReferenceSpace);

reflectionchange イベントの使用

XRLightProbe を渡して、 reflectionchange イベントが発生するたびに推定反射立方体マップを取得します。XRWebGLBinding.getReflectionCubeMap() (en-US) も参照してください。

js
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

関連情報