Wrong (?) WebXR L / R hand joint orientations

Hi! :wave:t2:

I’ve stumbled over an issue concerning WebXR hand (Oculus Quest) joint orientations and now wonder if it’s a three.js or an Oculus Browser bug. You can find a detailed description here: Messed up WebXR L / R hand joint orientations · Issue #30 · vatro/svelthree · GitHub

Short: basically joints of generated XRHandModels seem not to be rotated as they should be.

Current joint orientations:

Direction Left Hand Right Hand
Forward : Back X+ : X- X- : X+ flipped
Up : Down Y- : Y+ Y+ : Y- flipped
Left : Right Z- : Z+ Z- : Z+ same

Expected joint orientations:

Direction Left Hand Right Hand
Forward : Back Z- : Z+ Z- : Z+ same
Up : Down Y+ : Y- Y+ : Y- same
Left : Right X- : X+ X- : X+ same

Fix would be:

Rotate all joints locally -90° around the Y axis then rotate only left hand’s joints locally -180° around the X axis.

Would like to have some feedback on this as I’m not sure if I should report a bug and if so where exactly.

  • three 119

Thanks!