Azure Kinect Skeleton miss Wrist joints

Hello here •ᴗ•

BodyData (Devices.AzureKinect.BodyData) have 32 joints but when plugging this into Skeleton (Devices.AzureKinect) only 19 joints are being used.

These 19 joints are the ones being used for Avateer rigged meshes.

I do understand that we don’t want to use the full 32 joints to animate rigged meshes, but I think the selection made here could be better.
In the current 19 joint selections we have FootRight & FootLeft which are useless in terms of animation because AnkleRight & AnkleLeft are already responsible for foot rotation.
On top of that, we don’t have wrist joints, which could be great to have (to rotate hands like Ankle does for the foots).

Checking AzureSkeleton (Devices.AzureKinect), it seems super easy to do these modifications

It’s a problem I can easily fix myself by changing AzureSkeleton (Devices.AzureKinect) but still wanted to share my perspective on this.
Also modifying a package does not sound super clean to me.

Thanks !

Hello @pakreht ,

Valid point. It is disconnected because it is very luggy one and brakes skinning almost all time. We’ll consider to bring it back, and for now you could modify the package your self - just be aware, if you do so, you have to fix the joins mapping accordingly.

Okay I see,
When you say “luggy” do you mean wrist detection on the kinect size is janky and causes weird rotations that break the visual aspect of the mesh?

And if by mapping you mean Azure2Mixamo then it should be fairly easy.
Because AzureJoints should update automatically, I then just have to adapt Azure2Mixamo.

Wonder if it could be possible to have a flexible system where we can select the bones that we need (or a predifined list of configurations).

Thanks!

Exactly that.

Azure2Mixamo is just a Spread of joint names fallowing Mixamo naming convention. This Spread has to be of same count as number of joins in AzureSkeleton (Devices.AzureKinect) and come in the right order. If you use a custom model which is not fallowing Mixamo naming, you have to change the names accordingly, so they match exactly what you have in your model.

And if some joints has to be skipped in you leave an empty string instead of the name.

Here is an example how it could look like:

P.S. Skipping joints has to work in theory and is not tested properly. I’d assume some problems to it because azure API provides only world rotations and we have to calculate local ones ourselves.

In a way, it is already flexible. What could be done more to it is a proper editor where you could visualize your skeleton structures and do the mapping by clicking on bones or so. But I don’t think that we have capacity to this ATM.