Azure Kinect DK,Body 跟踪:在不同的骨架上映射不同的化身

Azure Kinect DK, Body tracking: Mapping separate avatars on separate skeletons

为了重现我的问题,我使用 this 示例项目在 Unity3d 2020 中设置了一个项目。 在这里,我可以成功地将头像映射到单个骨架。然而,在我的项目中,我想映射多个骨架 - 不仅仅是最近的,如示例提供的那样。

到目前为止,我已经成功地渲染了多个骨架,但是当我尝试在每个骨架上映射单独的化身时 - 两个化身将仅跟随场景中其中一个骨架的运动。

以下代码用于设置头像:

var avatarPrefab = Instantiate(avatarPrefab, new Vector3(0,0,0), Quaterion.identity);
avatarPrefab.GetComponent<PuppetAvatar>().KinectDevice = this;
avatarPrefab.GetComponent<PuppetAvatar>().CharacterRootTransform = avatarPrefab.transform;
avatarPrefab.GetComponent<PuppetAvatar>().RootPosition = this.transform.GetChild(i).transform.GetChild(0).gameObject; // gets the pelvis of each "rootBody" prefab.

PuppetAvatar.cs 脚本的创建者尚未发布任何支持多体跟踪的更新,但我提出了一个类似的 question in this 线程。

看看 MoveBox:https://github.com/microsoft/MoveBox-for-Microsoft-Rocketbox

Movebox can parser the SMPL body models extracted by an external tool for 3D multi-person human pose estimation from RGB videos.

并且支持Azure Kinect DK