XRFrame:getJointPose() 方法

实验性:这是一个实验性技术
在生产环境中使用此功能之前,请仔细查看浏览器兼容性表

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

getJointPose()XRFrame 接口的方法,它返回一个 XRJointPose 对象,该对象提供了一个手部关节(参见 XRHand)相对于给定基准空间的姿态。

语法

js
getJointPose(joint, baseSpace)

参数

joint

一个 XRJointSpace,指定要获取其 XRJointPose(描述项目位置和方向)的手部关节空间。

baseSpace

一个 XRSpace,用作相对位置和方向的基准或原点。

返回值

一个 XRJointPose 对象,指定手部关节相对于 baseSpace 指定的 XRSpace 的位置和方向。

示例

使用 getJointPose()

使用 XRJointSpaceXRReferenceSpace 调用 getJointPose() 以获取 XRJointPose 对象。

js
navigator.xr
  .requestSession({ optionalFeatures: ["hand-tracking"] })
  .then(/* … */);

function renderFrame(session, frame) {
  // …

  for (const inputSource of session.inputSources) {
    if (inputSource.hand) {
      const indexFingerTipJoint = inputSource.hand.get("index-finger-tip");
      frame.getJointPose(indexFingerTipJoint, referenceSpace); // XRJointPose
    }
  }
}

规范

规范
WebXR 手部输入模块 - 1 级
# dom-xrframe-getjointpose

浏览器兼容性

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

另请参阅