Comments (6)
If inline sessions supported 6-DoF tracking or AR then I suspect they would have seen much wider usage.
One of the biggest downsides of WebXR for handheld platforms is the entanglement of presentation of the content (forced fullscreen, outside of DOM) with access to these underlying tracking features.
I've written at length about the problems this causes at immersive-web/webxr-ar-module#77 and proposed an inline-ar
session as one potential solution at immersive-web/webxr-ar-module#79.
I don't have particularly strong feelings on the utility of the current inline
session type either way. In general my preferred solution for AR use cases within the DOM is to completely separate presentation and underlying features, as discussed in immersive-web/webxr-ar-module#78.
from webxr.
Yeah I think this is probably worth discussing. They are clearly not doing their job right now and we should either make them better or remove them.
from webxr.
Discussed this a little bit with Ada and Rik.
In general it seems like mono inline VR is not used much, because it exists primarily as a convenience API to allow people to use WebXR for non-XR content using the same APIs; and that's only useful if people aren't already used to doing it a different way, which is what basically all the frameworks do.
However, there are two use cases of inline sessions that are not covered here:
- inline AR, "magic window" stuff, where you show a passthrough camera feed aligned to the real world
- stereo inline VR in a browser, showing 3D content that depends on pose that sits on the page, diorama style
The latter is already technically possible in the API: you can request viewer/local permissions when creating the inline session. Nobody implements this but I think it would be nice. It's a good reason to keep the API around if we can get someone to implement it, and perhaps we should write an example that uses this.
Magic window stuff would probably need inline-ar
(and request viewer/local permissions, as before). That wouldn't be affected by deprecating this but it makes a nice symmetric set of features if we keep it around. We probably should explore that a bit.
from webxr.
In general it seems like mono inline VR is not used much, because it exists primarily as a convenience API to allow people to use WebXR for non-XR content using the same APIs; and that's only useful if people aren't already used to doing it a different way, which is what basically all the frameworks do.
Yup, sounds right to me. Looked at the other way round, it also doesn't really add any features that you can't implement with standard WebGL and doesn't have the same level of browser support so there's no compelling reason for frameworks to adopt it.
Wasn't one use case for the mono inline VR to do spectator mode on a secondary display for a PC with a connected headset? Though I suppose if you've got an immersive session already running in the same page you probably don't need anything other than a standard WebGL canvas as you can get all the required state from the immersive session callbacks.
However, there are two use cases of inline sessions that are not covered here:
- inline AR, "magic window" stuff, where you show a passthrough camera feed aligned to the real world
- stereo inline VR in a browser, showing 3D content that depends on pose that sits on the page, diorama style
The latter is already technically possible in the API: you can request viewer/local permissions when creating the inline session. Nobody implements this but I think it would be nice. It's a good reason to keep the API around if we can get someone to implement it, and perhaps we should write an example that uses this.
Sounds like a generalisation of the visionOS <model>
element support to arbitrary content which sounds niche but potentially worth exploring.
Magic window stuff would probably need
inline-ar
(and request viewer/local permissions, as before). That wouldn't be affected by deprecating this but it makes a nice symmetric set of features if we keep it around. We probably should explore that a bit.
I'd be happy to remotely join a TPAC discussion [*] on the handheld AR use case again, but feel that deserves a separate timeslot from the "discuss deprecations" one.
[*] Assuming I'm able to register as a remote participant when it opens again
from webxr.
Well, in my use case I would have totally used 'inline' if the inputs from the controllers were exposed to the XRInputSource, but apparently the implementation "standard" (why, or why not?) and on the Oculus is that the two controllers are considered non-existent to both the XRInputSource.gamepads and the standard navigator.getGamepads api's. Making the 'inline' mode useless if all you really want to do is simply show a html element fullscreen and just use the controller input's.
Instead, I'm having to wire up a massive amount of extra code, making the device do more work by copying a 2d canvas image to a 3d canvas every single frame...
I created a request detailing my issues with inline
mode in #1347 with my full use case.
from webxr.
Related Issues (20)
- Android 14 Compatibility HOT 2
- WebXR Device API to integrate Haptic Gloves HOT 1
- Head of health office
- Allow adjustment of display time HOT 4
- WebXR is not _____ HOT 3
- Immersive-ar no longer supported on Edge for HoloLens 2 HOT 2
- Using camera-access breaks dom-overlay fullscreen HOT 2
- WebXR General Topic: Moving standards forward to their next stage
- We should talk about setting up an accessibility Task Force within this group HOT 4
- Automated testing of WebXR sessions with WebDriver HOT 2
- Ultrawide-angle camera access? HOT 4
- Samsung M33 camera orientation bug HOT 1
- Should an empty profiles array be used to indicate no controller should be rendered? HOT 8
- A new XRSpace for a comfortable location for interactive content. HOT 5
- Webxr AR camera rotate 90° after few seconds HOT 1
- Meta presentation on a11y for ARVR devices HOT 4
- Devices with non-sRGB colour spaces HOT 2
- Is SLAM supported? HOT 1
- Gamepads in inline mode HOT 17
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webxr.