Unity livelink Avatar Joint coordinate issue

Hi, i’m getting the joint coordinates from worldJointsPos in the ZEDBodyTrackingManager script and drawing a line with lineRenderer from there. The issue is that the lines don’t actually start from the exact joint positions, they are a little off and it’s noticable. The smoothing is disabled so i don’t think it’s related to that, i also tried turning off the foot locking and default hip offset but it didn’t help. Should i get the joint positions data from a different place? What should i do? thanks.

Hi, Appearently the issue is that the avatar is not making the same exact movements as the skeleton, because the coordinates i’m using are following the skeleton perfectly. Knowing this i’m still not sure how i should go about making the avatar follow the movements of the skeleton perfectly. I found the following topic in the community about a similar problem but it wasn’t really helpful. ZED Unity LiveLink avatar not moving like the SDK skeleton

Any help would be appreciated.

Hi,

To animate the 3D model, we are using the rotations of the keypoints (from the ZED SDK), not the position. The movements should be very close between the avatar and the skeleton.

However, some things can impact the final result. For example, if the avatar is not rigged exactly the same way the AI model detects the keypoints in the ZED SDK, it can slightly impact the final movement.

Can I ask How different the movements are? If you can share a video, it would be very much appreciated. You can send it at support@stereolabs.com if sending the video publicly is an issue for you.

Hi,Sorry for stating the question in such a confusing way earlier.

Here are a few images
image

image

I’m using the avatar and settings provided by livelink, so i don’t think the problem is beacuse of the way the avatar is rigged?
I did a few tests and the avatar actually follows the skeleton, but the skeleton is not completely inside the avatar.
I think the reason might be the size of the skeleton and avatar not being the same? Here is an image of an avatar created after recording a different person
image

You can see that the elbows of the skeleton in the third image are closer to the avatars, while they are farther from the avatar in the first two.
Is there any way to automatically scale the avatar or the skeleton ,so that they are the same size , in the sdk? Or will i need to write that part myself? Thanks.

Edit: Or alternatively, is there any way for me to get the coordinates of the avatar’s joints instead of scaling the skeleton or avatar? That would actually be a better for me.

Hi,

Yes, I think the detected person and the avatar are not the same size which causes this.

There is no automatic solution to resize the avatar for the moment.

to get the avatar’s joints positions, you can use :Unity - Scripting API: Animator.GetBoneTransform