immersive-web / webxr-hand-input

A feature repo for working on hand input support in WebXR. Feature lead: Manish Goregaokar
https://immersive-web.github.io/webxr-hand-input/
Other
105 stars 17 forks source link

Require all joints to be valid #91

Closed cabanier closed 3 years ago

cabanier commented 3 years ago

The spec currently does not require that all the pose of the hands are tracked. For instance, if a UA could just track the tips, it's allowed to return poses for just those. However, most authors would expect that all joints return valid poses. At least on Quest, we either get poses for the entire hand or none.

Should we update the spec to require that? If not, should we add a note to clarify that partial hands are allowed?

Manishearth commented 3 years ago

Yeah I think we should do this, but I was being conservative in my initial pass. cc @thetuvix?

thetuvix commented 3 years ago

Definitely! I had thought "all joints or no joints" was actually the current state of the spec - perhaps it was before the TAG updates and this got lost by accident?

Either way, it should be the responsibility of the UA to do IK or whatever is needed to get the user the full hand joint set. Regardless of what we try to say, this is what WebXR apps will start to expect, as all current hardware operates that way, and it's unlikely any app will be properly hardened for UAs that behave otherwise - we should just align there in the spec.

cabanier commented 3 years ago

Definitely! I had thought "all joints or no joints" was actually the current state of the spec - perhaps it was before the TAG updates and this got lost by accident?

Yes, I was surprised it wasn't in there as well. I think we agreed on this but then forgot to add it :-)

Either way, it should be the responsibility of the UA to do IK or whatever is needed to get the user the full hand joint set. Regardless of what we try to say, this is what WebXR apps will start to expect, as all current hardware operates that way, and it's unlikely any app will be properly hardened for UAs that behave otherwise - we should just align there in the spec.

+1