-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What joints do different devices plan to support? #1
Comments
Here is an excerpt from the Oculus Mobile SDK with Hands Tracking support.
|
Going through the enums, both OpenXR and Oculus support
Additionally, Oculus supports the trapezium carpal for the thumb, as well as a "forearm stub" joint. OpenXR supports a palm "joint", which is situated on the middle metacarpal. |
Actually, Oculus is missing metacarpals for index, middle, and ring fingers |
Let me ask |
We will probably need to expose some notion of parent joint given that not all devices support not all joints and while users can figure it out based on the gaps, it's easier to just expose it. |
There is some info here: https://developer.oculus.com/documentation/quest/latest/concepts/mobile-vrapi-input-api/ (still asking for more) |
Hmm that link isn't working for me |
Sorry, the proper link: https://developer.oculus.com/documentation/quest/latest/concepts/mobile-vrapi-input-api/ |
So, interestingly, the naming oculus uses means that rotations for the pseudocarpals are missing. The pseudocarpals being the "bones" between the wrist and the metacarpals; they don't actually exist as distinct bones, but they're drawn in your diagram. You can derive their orientations by subtracting the wrist from the metacarpals or proximal phalanges; the only thing that really matters is the x direction, but it feels weird to not have them exposed. On the other hand, naming them is tricky (see #9 ) |
Alright, so thinking more of this, we have the following "bones" overall:
I think it makes sense to expose the phalanges, metacarpals, and tip, with each position located at the bottom of the bone (closer to the wrist). The pseudocarpal bones are displayed in many diagrams, but only their x value is necessary, and since you can calculate it it's not a big deal. This is true for orientations in general -- you only really need the skin normal -- but it's convenient to expose whatever we can if it's not too much work. |
This means we won't expose:
implementors can choose to expose only some of the joints, and they may support more joints than what we expose; both systems work fine. We do not have the problem oculus has with bone backwards compatibility because I'm hoping to not expose bones as a hierarchical concept the way oculus does (with each pose being relative to a "parent"), instead just being a list of joints each with an XRSpace, and you can choose to relate them with each other or with a fixed reference space at your discretion. So in the future we may add more bones if we wish. |
Here's magic leap: https://developer.magicleap.com/learn/guides/lumin-sdk-handtracking |
I suspect various devices with articulated hand tracking will support different sets of joints. We should figure out the superset.
@thetuvix @Artyom17 Can y'all list what your devices plan to support? I also have a list from Microsoft's draft openxr extension, but I'm not certain if this is something I can make public
The text was updated successfully, but these errors were encountered: