-
Notifications
You must be signed in to change notification settings - Fork 53
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
Logitech MX Ink: Target ray space not aligned with controller grip #267
Comments
Target Ray space is a fundamental property of the InputSource, fixing it in WebXR Input Profiles wouldn't be appropriate because some websites may choose not to use it. I think in this particular case it should probably be fixed in Meta Quest Browser. What do you think @cabanier? |
I pass the ray space from OpenXR. Maybe I should move it to the tip and align it? |
Maybe it should be fixed at an OS level? In the shell the ray space is correct, so maybe they manage the difference for this device somehow there? Also, if you setup the stylus for left-handed use in settings, the ray points to the right of the stylus, instead of to the left like in the image attached above (the screenshot was taken in right-handed mode). |
/tpac how should we surface stylus type controllers? |
Relevant bits of the spec that could be tweaked:
So I think my impression was that we could just tweak the wording about "platform-specific guidance", and then provide some of that guidance. |
The spec talks about orientation here and not position.
|
I have vague recollections of discussions about something like devices that have an explicit or implied point whether they are meant to interact with the real world or not? Could also extend to say "The position and orientation of the target ray relative to the tracked object..." and then start/formalize some place to provide controller-specific guidance. Regardless, the suggestion sounds fine to me, but I don't recall if there was a desire for that even more generic language around devices that should have origins set as such. |
We did talk about "if the controller has a pointy bit" during the TPAC meetings, but we'd want to formalize that in a way that doesn't accidentally imply that decorative bits on a more "aggressively" styled device aren't considered the pointy part.
This sounds good, though I maybe think that "interact with the real world" is a bit ambiguous. Perhaps "If part of the device is intended to contact real-world surfaces (such as a pen tip)..." However, I do wonder if that's problematic for something like the Quest Pro controllers where most of the time they act as a typical controller but can have a pen nib inserted into the bottom of the handle for writing. Would either variation of the language above imply that when the pen nib is inserted the target ray MUST start pointing out the bottom of the handle? Is that state even detectable? |
OK. I'll make a PR with that language
It is not detectable. I agree it would be nice if it did. |
The target ray is not correctly positioned and aligned in the
logitech-mx-ink
profile. The model matches the physical position and orientation of the device, and when comparing when the model drawn by the OS (by clicking in the menu button, so the OS windows appear) the models match but the rays don't. See attached imagesLeft: The model and its ray, properly aligned, as drawn by the OS shell.
Right: Inside WebXR (the profile viewer), the model is correctly posed, but the target ray isn't.
Some additional info:
magicleap-one
I understand this hasn't been a problem before because usually each platform only have had a small number of controllers compatible, so the browsers on those platforms had the model transformations setup for their controllers. Now that Meta is opening up the OS for third party controllers, would it make sense to add an optional definition of the targetRaySpace in the profiles?
The text was updated successfully, but these errors were encountered: