-
Notifications
You must be signed in to change notification settings - Fork 386
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
Feature for the UA to handle viewing the system inputs during a session #1366
Comments
This would be useful, and developers have requested this ability. I think (A) Show and hide methods directly on session let systemInputShown = xrSession.hideSystemInput()
let systemInputShown = xrSession.showSystemInput()
if (!systemInputShown) {
app.drawOwnInput()
} (B) Single toggle method with a force param let systemInputShown = xrSession.toggleSystemInput(force)
if (!systemInputShown) {
app.drawOwnInput()
} (C) systemInput property with methods xrSession.systemInput.visible
xrSession.systemInput.show()
xrSession.systemInput.hide()
// xrSession.systemInput.toggle() ?
if (!xrSession.systemInput.visible) {
app.drawOwnInput()
} I'm partial to (C). I could see adding more fields on Thoughts? |
I was thinking something along these lines too, I will try to put my thoughts together shortly, thank you for this. |
A mockup video of toggling system input display, where
Note that, as with examples above, I do think we want this to be dynamic and not just something at session init. xrSession.addEventListener('select', () => {
xrSession.systemInput.toggle()
app.drawInput(xrSession.systemInput.visible)
}); sys-input-toggle-mock.mp4 |
Of the options @mkeblx offered, I like the idea of the I'm not sure that we need two separate methods and a |
Even if there would be high confidence most platforms would be able to switch visibility quickly, a Promise could still make sense. A Promise would also allow to handle the hopefully rare case of unable to set the visibility. xrSession.systemInput.setVisibility(true).then(() => {
}).catch((err) => {
console.log('Unable to set visibility', err);
}); One question I now have is whether a boolean is enough. What is a system has multiple ways of displaying the system input and would like to expose that to the app level? Some examples off the top of my head: 'hands', 'hand+tool', 'tool', 'hands+arms', 'full body', etc. I suppose if something like this is needed in the future, it could be exposed via another method (e.g. |
/facetoface On visionOS when you don't have the hand-tracking feature we show the system input so the user can see their hands and is comfortable. I would like to discuss adding a feature to show the system input even when it otherwise would not be shown.
The text was updated successfully, but these errors were encountered: