ARKit3中ARBodyAnchor的jointsLocalTransforms / jointsModelTransforms中的关节顺序是怎样的?

What is the order of joints in jointsLocalTransforms / jointsModelTransforms of ARBodyAnchor in ARKit3?

我正在使用 ARKit3 捕捉 3D 运动,其中我通过在 ARSessionDelegatesession:didUpdate: 委托方法中使用 jointsModelTransformsjointsLocalTransforms 获得所有关节的变换] 如下所示

func session(_ session: ARSession, didUpdate anchors: [ARAnchor]) {
  for anchor in anchors {
    guard let bodyAnchor = anchor as? ARBodyAnchor else { continue }
    let bodyTransforms: [simd_float4x4] = bodyAnchor.skeleton.jointModelTransforms
    // TODO
  }
}

bodyTransforms 数组的第一个索引是 root 关节。 想知道数组表示的关节顺序吗?

Here 是关于 ARSkeletonDefinition 的文档,class 包含关节的层次结构及其名称。

在您的情况下,关节的名称和顺序可以通过调用 bodyAnchor.skeleton.definition.jointNames 轻松获得。