immersive-web / webxr-hand-input

A feature repo for working on hand input support in WebXR. Feature lead: Manish Goregaokar

Home Page:https://immersive-web.github.io/webxr-hand-input/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Standardize the base set of joints

Manishearth opened this issue · comments

OpenXR has standardized a set of joints that must be supported by all implementors, whether through emulation or natively. @thetuvix proposed that we do something similar: it avoids the problem of content working on one browser but not another.

The current set of joints matches OpenXR and is a superset of Oculus' joints, @cabanier do you think Oculus could emulate the middle three metacarpals? Or should we be restricting the joints to Oculus' set?

I will investigate.
Which metacarpals are missing?

I believe Oculus has the thumb and pinky but not the others. The thumb one is called trapezium, which is technically the name of a carpal bone, but it names the same joint (the joint in question is between the trapezium and the thumb metacarpal)

Yes, we don't have INDEX_METACARPAL, MIDDLE_METACARPAL and RING_METACARPAL

OpenXR has standardized a set of joints that must be supported by all implementors, whether through emulation or natively. @thetuvix proposed that we do something similar: it avoids the problem of content working on one browser but not another.

I got some feedback on this. Hands in OpenXR is currently a vendor-extension.
This means that a vendor can be OpenXR 1.0 compliant and not support hands.

The current set of joints matches OpenXR and is a superset of Oculus' joints, @cabanier do you think Oculus could emulate the middle three metacarpals? Or should we be restricting the joints to Oculus' set?

We could emulate the missing bones but I was told that they convey very little information so they don't contribute much to the realism of the hand model.
Maybe we could strip them from the spec or leave them optional

I got some more feedback and we don't want people to try to emulate missing joints.
So we should either skip them or let the UA supply them.

After discussing this more internally, we decided that we will emulate these missing joints.
This means that both Oculus and Hololens can have the same set of joints and match OpenXR. Do we know what other implementations (such as Magic Leap) support?

Agree with others, we will emulate the missing joints on our platform.

/agenda to quickly check with the group

Opened #40 . It also makes XRHand an iterator, because we can, now.