What is the reason the hand-tracking joints have these axes? visionOS

What is the reason the hand-tracking joints have these axes? I'm trying to create a virtual hands model and that's a mess.

Answered by Vision Pro Engineer in 788551022

The resting pose for the right hand is easiest to understand in the context of a model posed in the T position (shown here). The left hand's transform is the mirror (180 degree x-axis rotation followed by a negative translation of all the joints) of the right hand's transform; similar to turning a glove inside out so you can wear it on the opposite hand. This enables an easier workflow to mirror animations and similar use cases since applying the same rotation to both sides will cause the hands' poses to mirror one another.

On a related note, towards the end of Going beyond the window with SwiftUI there’s an overview of creating virutal hands with ARKit.

Accepted Answer

The resting pose for the right hand is easiest to understand in the context of a model posed in the T position (shown here). The left hand's transform is the mirror (180 degree x-axis rotation followed by a negative translation of all the joints) of the right hand's transform; similar to turning a glove inside out so you can wear it on the opposite hand. This enables an easier workflow to mirror animations and similar use cases since applying the same rotation to both sides will cause the hands' poses to mirror one another.

On a related note, towards the end of Going beyond the window with SwiftUI there’s an overview of creating virutal hands with ARKit.

Thanks! In "Going beyond the window with SwiftUI" we have an example of gloves in the "Hello World" project, but I can't find that there now.

@Vision Pro Engineer I'm having the same issue as @KeyserSozeXR below. I can't locate the example of the Virtual Hands "SpaceGloves" from the video anywhere that I can test.

Would it be possible to provide this? It would help a lot. I have tried creating my own left and right hand USDZs but the results are not correct for the individual joints.

What is the reason the hand-tracking joints have these axes? visionOS
 
 
Q