XRSession: requestLightProbe() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

XRSession 介面的 requestLightProbe() 方法返回一個 Promise,該 Promise 會解析為一個 XRLightProbe 物件,用於估算使用者環境中特定點的光照資訊。

語法

js
requestLightProbe()
requestLightProbe(options)

引數

options 可選

一個包含配置選項的物件,具體來說是

reflectionFormat

內部反射格式,指示紋理資料的表示方式,可以是 srgba8(預設值)或 rgba16f。另請參閱 XRSession.preferredReflectionFormat

返回值

一個 Promise,該 Promise 會解析為一個 XRLightProbe 物件。

異常

requestLightProbe() 不會丟擲真正的異常,而是會使用 DOMException 來拒絕返回的 Promise,具體來說是以下其中一種:

NotSupportedError DOMException

如果在 XRSystem.requestSession() 中未啟用 lighting-estimation 功能,或者 reflectionFormat 不是 srgb8preferredReflectionFormat,則丟擲此異常。

InvalidStateError DOMException

如果會話已結束,則會丟擲此異常。

示例

使用系統首選格式請求光照探針

預設格式是 srgb8,但是,一些渲染引擎可能會使用其他(高動態範圍)格式。您可以使用 XRSession.preferredReflectionFormat 來請求光照探針,該屬性會報告首選的內部格式。

js
const lightProbe = await xrSession.requestLightProbe({
  reflectionFormat: xrSession.preferredReflectionFormat,
});

規範

規範
WebXR 光照估算 API Level 1
# dom-xrsession-requestlightprobe

瀏覽器相容性

另見