我正在使用ARKit3捕捉3D运动,其中我通过使用以下方法获得所有关节的变换 jointsModelTransforms
或 jointsLocalTransforms
在 session:didUpdate:
委托法 ARSessionDelegate
如下
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
关节。想知道数组中关节的表示顺序?
这里 是一个关于 ARSkeletonDefinition
,这个类包含了关节的层次结构和它们的名称。
在你的例子中,关节的名称和顺序可以通过调用 bodyAnchor.skeleton.definition.jointNames
.