XRLightProbe
XRLightProbe 介面是 WebXR 裝置 API 的一部分,它包含使用者環境中給定點的光照資訊。你可以使用 XRSession.requestLightProbe() 方法獲取一個 XRLighting 物件。
此物件本身不包含光照值,但它用於為每個 XRFrame 收集光照狀態。有關 XRLightProbe 的估算光照值,請參閱 XRLightEstimate。
例項屬性
XRLightProbe.onreflectionchange-
reflectionchange事件的事件處理程式屬性。 XRLightProbe.probeSpace只讀 實驗性-
一個
XRSpace,用於跟蹤光照估算的相對位置和方向。
例項方法
無。
事件
reflectionchange實驗性-
當估算的反射立方體貼圖發生變化時觸發(這發生在使用者移動並改變環境光照時)。
示例
獲取會話的 XRLightProbe 物件
使用 XRSession.requestLightProbe() 方法獲取一個光照探測器。
js
const lightProbe = await xrSession.requestLightProbe();
在 XRFrame 中獲取探測器的姿態
將光照探測器的 probeSpace 傳遞給 XRFrame.getPose() 以獲取探測器的姿態。
js
const probePose = xrFrame.getPose(lightProbe.probeSpace, xrReferenceSpace);
使用 reflectionchange 事件
每當 reflectionchange 事件觸發時,將 XRLightProbe 傳遞以獲取反射立方體貼圖。另請參閱 XRWebGLBinding.getReflectionCubeMap()。
js
const glBinding = new XRWebGLBinding(xrSession, gl);
const lightProbe = await xrSession.requestLightProbe();
let glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
lightProbe.addEventListener("reflectionchange", () => {
glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
});
規範
| 規範 |
|---|
| WebXR 光照估算 API Level 1 # xrlightprobe-interface |
瀏覽器相容性
載入中…