XRFrame

可用性有限

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

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

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

一個 WebXR Device API XRFrame 物件會被傳入 requestAnimationFrame() 回撥函式,並提供訪問渲染 XRSession (描述 VR 或 AR 場景) 的單個動畫幀所需的資訊。傳達物件跟蹤狀態的事件也會在其結構中提供一個 XRFrame 引用。

除了提供此幀要渲染的 XRSession 的引用外,還提供了 getViewerPose() 方法來獲取描述檢視器在空間中的位置和方向的 XRViewerPose,並且可以使用 getPose() 來建立一個 XRPose,該物件描述一個 XRSpace 相對於另一個的相對位置。

例項屬性

session 只讀 實驗性

XRFrame 描述了所有物件的跟蹤細節的 XRSession。可以透過呼叫物件上的方法來獲取特定物件的資訊。

trackedAnchors 只讀 實驗性

包含幀中仍被跟蹤的所有錨點的 XRAnchorSet

例項方法

createAnchor() 實驗性

返回一個 Promise,該 Promise 解析為一個自由浮動的 XRAnchor 物件。

fillJointRadii() 實驗性

使用一組手部關節空間(hand joint spaces)的半徑填充一個 Float32Array。如果所有空間都成功填充,則返回 true

fillPoses() 實驗性

使用相對於給定基準空間(base space)的姿態(poses)矩陣填充一個 Float32Array。如果所有空間都有有效的姿態,則返回 true

getDepthInformation() 實驗性

返回一個包含幀的 CPU 深度資訊的 XRCPUDepthInformation 物件。

getHitTestResults() 實驗性

返回一個包含給定 XRHitTestSource 的命中測試結果的 XRHitTestResult 物件陣列。

getHitTestResultsForTransientInput() 實驗性

返回一個包含給定 XRTransientInputHitTestSource 的命中測試結果的 XRTransientInputHitTestResult 物件陣列。

getJointPose() 實驗性

返回一個 XRJointPose 物件,該物件提供了一個手部關節(參見 XRHand)相對於給定基準空間的姿態。

getLightEstimate() 實驗性

返回一個 XRLightEstimate 物件,該物件包含一個 XRLightProbe 的估計光照值。

getPose() 實驗性

返回一個 XRPose 物件,代表兩個指定的 XRSpace 物件之間的空間關係。

getViewerPose() 實驗性

返回一個 XRViewerPose,描述了檢視器在給定 XRReferenceSpace 中的位置和方向。

規範

規範
WebXR Device API
# xrframe-interface

瀏覽器相容性

另見