Grip Space orientation relative to hands

Assume I use hand models locally oriented with the fingers forward and palms facing each other, and that I use the the XR Input Source’s grip space for orientation + positioning of the models in my app

Using the grip space causes the fingers to be pointed in the same direction as the blade of sword would be if a sword was in your hand. Is there a standard number of degrees I should rotate the hand models along to x axis to get the hand models to line up with my actual hands given the different XR Controllers? Right now I’m using Oculus quest controllers and it seems I need to rotate them about 45 degrees-ish to get them more aligned, and I’m wondering if this would be the same on other controllers as well?


Any chances to visualize what you are trying to achieve? Similar images like from this PR would be useful.

So here’s a screenshot of roughly what I’m experiencing by using the grip space for orientation. I can very easily rotate my hand model to line up with my hand when using Oculus Touch controllers, but what I’m wondering is if the rotation that the grip space provides relative to the hand is the same for different VR Controllers? i.e. if I rotate my hand model to line up with my hands when they’re using Oculus Touch controllers, will they still line up for my hands if they’re using Vive Wands or Index controllers?

This question might be more related to the WebXR API directly than three.js, but I figured this might be a good place to ask. I know target ray space is rotated differently depending on the controller, but couldn’t find any info about the rotation of the grip space

Hope the pictures help with expressing this more clearly

Definitely, thanks for sharing! In any event, the grip space is the right coordinate system for your hands. However, as far as I know you can’t make an assumption about how a tracked controller manages its coordinate systems. Meaning there is no fixed rotation you can apply so your hand models will always align with your “real” hands holding the controller.

Ah damn, I guess I’ll just have to try out different headsets and set up profiles to configure the hands depending on the controller. That or let the users edit the orientation of their hands themselves. The later is more future proof at least


1 Like