immersive-web / webxr

Repository for the WebXR Device API Specification.
https://immersive-web.github.io/webxr/
Other
3k stars 386 forks source link

Initial attempt at a comfortSpace #1349

Open AdaRoseCannon opened 1 year ago

AdaRoseCannon commented 1 year ago

This PR is an attempt to add a new space to session as discussed in https://github.com/immersive-web/webxr/issues/1339 I was thinking it should probably be null if it's not something that makes sense for the platform. I am not sure if I got the syntax right for that.

What do people think?


Preview | Diff

AdaRoseCannon commented 1 year ago

/agenda to get feedback

AdaRoseCannon commented 1 year ago

After the meeting today, the result of the discussion is that the space should clarify where the content should be placed in relation to the zero point. The change I will make (when I return from vacation) is to add a 6 item Array for the min-max 3D vectors of an AABB. The min-y value will always be 0 so effectively positive-y will be placed on top of a surface if the comfort space is aligned to a surface.

AdaRoseCannon commented 11 months ago

Does it need to follow the user??

I don't think so

AdaRoseCannon commented 11 months ago

Thinking further I think the min-Y property should only be 0 if the user has the comfort space resting on a desk or similar surface. If it is free floating then it can be negative to let the origin on the space be used for the most comfortable place since for a device where the comfort space is tall developers could place the objects quite low down. Although this would let developers infer that there is a surface they can use which is information which would normally be exposed via the real-world-geometry API.

AdaRoseCannon commented 11 months ago

Another question, if the user is only using a tracked controller in their left hand then swaps hand or activates a second tracked controller, should the bounding box update to reflect this change?