Weighting errors in the WebXR generic hands models (w/ fix proposal!)

Hiya folks! I’m having fun working on an Apple Vision Pro game project, using the hand tracking. I’ve noticed that the default generic hands profile models three.js loads are actually really nice, but have some skin weight errors that could be improved.

Overall the hands can look a bit "bendy” as the 1.0 weighted vertices aren’t always centered on the joints they represent, but more critically nothing is weighted to the finger tip joints. This means that when a person with a different sized hand shows up, the fingers are the wrong length! To illustrate what that means in practice, I’ve attached a pair of screenshots with and without weighting changes to just the finger tips. Both screenshots are of the identical bone matrices, just swapping the mesh. When capturing the poses, I was touching my fingers together. I have larger hands than the model’s rest poses, so without the weighting of the finger tips, I can’t actually get my finger to touch!

I’d love to contribute the improvements, but I couldn’t find the mechanism to contribute to the CDN data. Could someone point me in the right direction to propose new data? Thanks!

1 Like