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

浏览器兼容性

另见