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
为了重现我的问题,我使用 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