three.js WebXRManager

2023-02-16 17:48 更新

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

屬性

.cameraAutoUpdate : Boolean

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

.enabled : Boolean

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

.isPresenting : Boolean

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

方法

.getCamera () : ArrayCamera

返回表示活動(dòng) XR 會(huì)話的 XR 相機(jī)的 ArrayCamera 實(shí)例。對(duì)于每個(gè)視圖,它在其 cameras 屬性中包含一個(gè)單獨(dú)的相機(jī)對(duì)象。

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

.getController ( index : Integer ) : Group

index — 控制器的索引。

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

.getControllerGrip ( index : Integer ) : Group

index — 控制器的索引。

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

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

.getHand ( index : Integer ) : Group

index — 控制器的索引。

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

.getPlanes () : Set

返回由 WebXR 的平面檢測(cè) API 檢測(cè)到的平面集。

.getReferenceSpace () : String

返回參考空間。

.getSession () : XRSession

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

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

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

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

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

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

.setReferenceSpace ( referenceSpace : XRReferenceSpace ) : undefined

referenceSpace — 自定義參考空間。

可用于配置覆蓋默認(rèn)參考空間的自定義參考空間。

.setReferenceSpaceType ( referenceSpaceType : String ) : undefined

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

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

.updateCamera ( camera : PerspectiveCamera ) : undefined

更新 XR 相機(jī)的狀態(tài)。如果將 .cameraAutoUpdate 設(shè)置為 false,請(qǐng)?jiān)趹?yīng)用級(jí)別使用此方法。該方法需要場(chǎng)景的非 XR 攝像機(jī)作為參數(shù)。調(diào)用此方法時(shí),傳入的相機(jī)變換會(huì)自動(dòng)調(diào)整到 XR 相機(jī)的位置。

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

源碼

src/renderers/webxr/WebXRManager.js


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)