XRPose
XRPose
是一个WebXR API 接口,表示 3D 空间中的位置和方向,相对于其所在的XRSpace
。XRSpace
(它是XRReferenceSpace
或XRBoundedReferenceSpace
)定义了姿态使用的坐标系,并且在XRViewerPose
的情况下,定义了其底层视图。
要获取用作对象局部坐标系的XRSpace
的XRPose
,请调用XRFrame.getPose()
,指定该局部XRSpace
和您希望转换到的空间
thePose = xrFrame.getPose(localSpace, baseSpace);
查看器(或相机)的姿态由XRPose
的子类XRViewerPose
表示。这是使用XRFrame.getViewerPose()
(而不是getPose()
)获得的,指定了一个参考空间,该空间已调整以定位和定向节点,以提供所需的查看位置和角度
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 的浏览器中加载。