XRSession: requestReferenceSpace() 方法
XRSession 介面的 requestReferenceSpace() 方法返回一個 promise,該 promise 會根據請求的參考空間型別,解析為 XRReferenceSpace 或 XRBoundedReferenceSpace 例項。
語法
requestReferenceSpace(referenceSpaceType)
引數
type-
一個字串,指定要返回其例項的參考空間型別。字串必須是下面的值之一。
返回值
一個 Promise,它解析為一個 XRReferenceSpace 物件。
參考空間型別列在下面,並附有其用例和用於實現它們的介面的簡要資訊。
有界地板-
一個
XRBoundedReferenceSpace,類似於local型別,但使用者預計不會超出由返回物件中的boundsGeometry給出的預定邊界。 local-
一個
XRReferenceSpace跟蹤空間,其原生原點位於會話建立時檢視器的位置附近。確切位置取決於底層平臺和實現。使用者不應該超出其起始位置太多(如果會移動的話),並且跟蹤針對此用例進行了最佳化。對於具有六個自由度 (6DoF) 跟蹤的裝置,local參考空間會嘗試使原點相對於環境保持穩定。 區域性地板-
一個
XRReferenceSpace,類似於local型別,但起始位置被放置在對檢視者來說安全站立的位置,此時 y 軸的值在地面水平處為 0。如果不知道地面水平,使用者代理會估算地面水平。如果估算的地面水平非零,則瀏覽器應將其舍入以避免指紋識別(可能捨入到最接近的釐米)。 無界-
一個
XRReferenceSpace跟蹤空間,允許使用者完全自由移動,可能從其原點非常遠的距離。使用者根本不會被跟蹤;跟蹤針對使用者當前位置附近的穩定性進行了最佳化,因此原生原點可以根據需要漂移以適應此需求。 檢視器-
一個
XRReferenceSpace跟蹤空間,其原生原點跟蹤檢視者的位置和方向。這用於使用者可以物理移動的環境,並得到所有XRSession例項(沉浸式和內聯)的支援,儘管它對內聯會話最有用。當確定檢視者與輸入之間的距離或使用偏移空間時,它特別有用。否則,通常會更頻繁地使用其他參考空間型別。
異常
requestReferenceSpace() 不會丟擲真正的異常,而是會拒絕返回的 promise,並使用下面的列表中的名稱的 DOMException。
NotSupportedError-
請求的參考空間不受支援。
規範
| 規範 |
|---|
| WebXR Device API # dom-xrsession-requestreferencespace |
瀏覽器相容性
載入中…