immersive-web / proposals

Initial proposals for future Immersive Web work (see README)
95 stars 11 forks source link

Diorama-style content #31

Closed NellWaliczek closed 5 years ago

NellWaliczek commented 6 years ago

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?

rcabanier commented 6 years ago

Thanks for kicking this off Nell!

As you know, we currently have a high level API to mix javascript generated content with other running applications so it can be offloaded to a central location that knows where everything is. It is not like a diorama as each prism is 3d in a 3d world. I'm doubtful if this can be mixed with WebXR.

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 suspect that this will work nicely on handheld as well. "views" would just return a single element. You'd also be able to layer HTML elements on top which some people expressed interest in.

I agree that the only required permission would be "pose" as these dioramas would not interact with the real world.

Artyom17 commented 6 years ago

Definitely an interesting thing to implement in Oculus Browser.

Artyom17 commented 6 years ago

BTW, walking on Lyon after the first day of the conference, I found a perfect example of diorama. Watch the video: https://youtu.be/Q7SNN30scSs

toji commented 6 years ago

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.

jgwinner commented 5 years ago

BTW, walking on Lyon after the first day of the conference, I found a perfect example of diorama. Watch the video: https://youtu.be/Q7SNN30scSs

@Artyom17 Artem, is it OK if I give a reference to this video? It's an amazing demonstration of what we're talking about here.

== John ==

TrevorFSmith commented 5 years ago

Hey, folks. It seems like there is interest in this topic but it's stalled. Is anyone interested in working on it in the next few weeks? If not, I'll close it and we can re-open it when we have time to work on it.