XRPose

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中可用。

XRPose 是一个WebXR API 接口,表示 3D 空间中的位置和方向,相对于其所在的XRSpaceXRSpace(它是XRReferenceSpaceXRBoundedReferenceSpace)定义了姿态使用的坐标系,并且在XRViewerPose的情况下,定义了其底层视图。

要获取用作对象局部坐标系的XRSpaceXRPose,请调用XRFrame.getPose(),指定该局部XRSpace和您希望转换到的空间

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

查看器(或相机)的姿态由XRPose的子类XRViewerPose表示。这是使用XRFrame.getViewerPose()(而不是getPose())获得的,指定了一个参考空间,该空间已调整以定位和定向节点,以提供所需的查看位置和角度

js
viewerPose = xrFrame.getViewerPose(adjReferenceSpace);

这里,adjReferenceSpace是一个参考空间,它已使用帧的基准参考系和任何调整进行更新,这些调整需要根据来自 XR 设备以外的源(如键盘或鼠标输入)提供的运动或旋转来定位查看器。

有关更多详细信息和带有详细解释的示例,请参阅文章运动、方向和运动

实例属性

XRPose.angularVelocity 只读

一个DOMPointReadOnly,描述相对于基础XRSpace的角速度(以弧度/秒为单位)。

XRPose.emulatedPosition 只读

一个布尔值,如果transform给出的位置和方向是直接从完整的六自由度 (6DoF) XR 设备(即不仅跟踪头部俯仰、偏航和滚转,还跟踪查看器前后和左右运动的设备)获得的,则为false。如果transform的任何组件是人工计算或创建的(例如,使用鼠标或键盘控件在空间中移动),则此值改为true,表示transform部分在软件中模拟。

XRPose.linearVelocity 只读

一个DOMPointReadOnly,描述相对于基础XRSpace的线速度(以米/秒为单位)。

XRPose.transform 只读

一个XRRigidTransform,提供相对于基础XRSpace的姿态的位置和方向。

规范

规范
WebXR 设备 API
# xrpose-interface

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅