three.js WebXRManager

2023-02-16 17:48 更新

此類表示 WebXR 設(shè)備 API 的抽象,并由 WebGLRenderer 在內(nèi)部使用。 WebXRManager 還提供了一個公共接口,允許用戶啟用/禁用 XR 并執(zhí)行 XR 相關(guān)任務(wù),例如檢索控制器。

屬性

.cameraAutoUpdate : Boolean

管理員的XR相機是否應(yīng)自動更新。默認為true。

.enabled : Boolean

此標(biāo)志通知渲染器準(zhǔn)備好進行 XR 渲染。默認為假。如果您要在應(yīng)用中使用 XR,請將其設(shè)置為 true。

.isPresenting : Boolean

XR 演示是否處于活動狀態(tài)。默認為假。該標(biāo)志是只讀的,由 WebXRManager 自動設(shè)置。

方法

.getCamera () : ArrayCamera

返回表示活動 XR 會話的 XR 相機的 ArrayCamera 實例。對于每個視圖,它在其 cameras 屬性中包含一個單獨的相機對象。

當(dāng)前未使用相機的 fov,不反映 XR 相機的 fov。如果您需要應(yīng)用級別的 fov,則必須從 XR 相機的投影矩陣中手動計算。

.getController ( index : Integer ) : Group

index — 控制器的索引。

返回表示 XR 控制器所謂的目標(biāo)光線空間的組。使用此空間可視化 3D 對象,支持用戶完成 UI 交互等指向任務(wù)。

.getControllerGrip ( index : Integer ) : Group

index — 控制器的索引。

返回一個組,代表所謂的 XR 控制器的抓地力空間。如果用戶要握住其他 3D 對象(如光劍),請使用此空間。

注意:如果你想顯示用戶手中的東西并同時提供指向光線,你需要將手持對象附加到 .getControllerGrip() 返回的組,并將光線附加到 .getController 返回的組().這個想法是在同一個 WebXR 控制器的兩個不同坐標(biāo)空間中有兩個不同的組。

.getHand ( index : Integer ) : Group

index — 控制器的索引。

返回代表 XR 控制器所謂的手或關(guān)節(jié)空間的組。在不使用物理控制器時,使用此空間可視化用戶的手。

.getPlanes () : Set

返回由 WebXR 的平面檢測 API 檢測到的平面集。

.getReferenceSpace () : String

返回參考空間。

.getSession () : XRSession

返回 XRSession 對象,它允許在應(yīng)用程序級別更細粒度地管理活動的 WebXR 會話。

.setFramebufferScaleFactor ( factor : Float, limited : Boolean ) : undefined

factor — 要設(shè)置的幀緩沖區(qū)比例因子。

limited — 如果值最終高于設(shè)備的功能,是否應(yīng)將幀緩沖區(qū)比例因子減小到本機限制。默認為假。

指定在渲染到 XR 設(shè)備時確定幀緩沖區(qū)大小時要使用的比例因子。該值是相對于默認 XR 設(shè)備顯示分辨率的。默認值為 1。值為 0.5 將指定具有顯示器原始分辨率 50% 的幀緩沖區(qū)。

注意:在呈現(xiàn) XR 內(nèi)容時無法更改幀緩沖區(qū)比例因子。

.setReferenceSpace ( referenceSpace : XRReferenceSpace ) : undefined

referenceSpace — 自定義參考空間。

可用于配置覆蓋默認參考空間的自定義參考空間。

.setReferenceSpaceType ( referenceSpaceType : String ) : undefined

referenceSpaceType — 要設(shè)置的參考空間類型。

可用于配置與用戶物理環(huán)境的空間關(guān)系。根據(jù)用戶在 3D 空間中的移動方式,設(shè)置適當(dāng)?shù)膮⒖伎臻g可以改進跟蹤。默認為本地樓層。請查看 MDN 以了解可能的值及其用例。

.updateCamera ( camera : PerspectiveCamera ) : undefined

更新 XR 相機的狀態(tài)。如果將 .cameraAutoUpdate 設(shè)置為 false,請在應(yīng)用級別使用此方法。該方法需要場景的非 XR 攝像機作為參數(shù)。調(diào)用此方法時,傳入的相機變換會自動調(diào)整到 XR 相機的位置。

注意:在呈現(xiàn) XR 內(nèi)容時無法更改參考空間類型。

源碼

src/renderers/webxr/WebXRManager.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號