XRPose

可用性有限

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

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

XRPose 是一個 WebXR API 介面,表示在三維空間中的位置和方向,相對於其所在的 XRSpaceXRSpace — 無論是 XRReferenceSpace 還是 XRBoundedReferenceSpace — 定義了姿態使用的座標系,並且在 XRViewerPose 的情況下,定義了其底層的檢視。

要獲取用作物件區域性座標系統的 XRSpaceXRPose,請呼叫 XRFrame.getPose(),指定該區域性 XRSpace 和您希望轉換到的空間。

js
thePose = xrFrame.getPose(localSpace, baseSpace);

檢視器(或攝像頭)的姿態由 XRPose 的子類 XRViewerPose 表示。這透過 XRFrame.getViewerPose() 而不是 getPose() 來獲取,指定一個已調整以定位和定向節點以提供所需視角和角度的參考空間。

js
viewerPose = xrFrame.getViewerPose(adjReferenceSpace);

在此,adjReferenceSpace 是一個已透過幀的基本參考系以及從 XR 裝置以外的源(如鍵盤或滑鼠輸入)提供的移動或旋轉來定位檢視器所需的任何調整來更新的參考空間。

有關更多詳細資訊以及包含詳細解釋的示例,請參閱文章 Movement, orientation, and motion

例項屬性

XRPose.angularVelocity 只讀

一個 DOMPointReadOnly,描述相對於基本 XRSpace 的每秒弧度角速度。

XRPose.emulatedPosition 只讀

一個布林值,如果由 transform 提供的位置和方向直接來自六自由度 (6DoF) XR 裝置(即,一個不僅跟蹤頭部俯仰、偏航和滾動,還跟蹤檢視器的前後和左右移動的裝置),則該值為 false。如果 transform 的任何元件是計算或人為建立的(例如,透過使用滑鼠或鍵盤控制元件在空間中移動),則此值為 true,表示 transform 部分是在軟體中模擬的。

XRPose.linearVelocity 只讀

一個 DOMPointReadOnly,描述相對於基本 XRSpace 的每秒米線速度。

XRPose.transform 只讀

一個 XRRigidTransform,它提供姿態相對於基本 XRSpace 的位置和方向。

規範

規範
WebXR Device API
# xrpose-interface

瀏覽器相容性

另見