Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Diorama-style content #31
Now that immersive-web/webxr#409 has been merged, I wanted to get a conversation going about how we think about supporting "diorama" style content in WebXR. In the past, we’ve called this “punch through”, but the rough idea is that it looks like a diorama box that hangs out of the backside of a 2D webpage. The primary usage would be on devices like zspace or for 2D browsing within an immersive headset (either AR or VR hardware). And in fact, Magic Leap shows this sort of experience in some of their Helio examples, though not through WebXR.
I've filed this issue in the proposals repo, because it's a bit unclear to me if this ought to be part of the WebXR 1.0, and there's a fair number of open issues that would need to be resolved before we'd have a specific design. Perhaps @rcabanier and others may have an opinion about the urgency of this?
Ok, on to the technical. When contemplating this functionality, there are a number of things i've been considering:
My current thinking is roughly as follows:
Thoughts? Anyone interested on working on this together?
Thanks for kicking this off Nell!
What you are proposing is certainly an interesting way to show 3D. It is used in multiple locations in our product (ie the MLOne's intro screen has a portal diorama and the Dr Grordbort game has diorama's of the robot planet). I think we'd be happy to work on this.
Is there any interest from other vendors?
I agree that the only required permission would be "pose" as these dioramas would not interact with the real world.
That's great! Thanks for the video @Artyom17!
FWIW I think that this also helps demonstrate the non-1:1 scale issue too. Setting aside physical limitations, this is fun to view as miniature, and has been designed to fit it's viewport well. If the scene was full-size this little window wouldn't be terribly effective. You'd only see a small chunk of the scene at a time unless you're physically right next to the window. (Plus, miniatures are just cute!) However, it seems like a natural thing to say that if I want to jump from viewing this as a diorama to a fully immersive scene, I'd probably want everything to be 1:1 scale. You can easily imagine the same principle for, say, a car customization site.
So the point about dioramas not forcing 1:1 scale is simply to allow content to fit the the size viewport, which is unpredictable. (I may be viewing content on a phone, a 30 inch monitor, or a virtual 6 foot tall wall of browser content in a headset.) The content should be well-framed in all cases. We can achieve that either by having the diorama frame of reference automatically provide scaled matricies, or by providing the developer with enough information about the viewport that they can compute the transform themselves.