WebXR - The future of VR in Decentraland
Proposal Details
Latest update: Based on the protocol squad update: https://discord.com/channels/894658869391933540/1058482438445215774/1150901821192290364 It seems Godot client may be our best bet for a webXR and interoperable (mobile!) future of DCL! Godot also seems to have webXR support, available here: https://docs.godotengine.org/en/stable/classes/class_webxrinterface.html
Hello! Thank you to everyone who voted and showed interest in this idea, we reached even higher interest than the previous .VRM proposal! HP's suggestions are valid, webXR is natively supported in babylon.js and has been simplified heavily compared to what it would take in current browser implementation: https://playground.babylonjs.com/#9K3MRA#1 The babylon.js client is also pretty great, I think we can consider this a viable option for webXR/VR on the browser, with the potential for webGPU support in the future also: https://doc.babylonjs.com/setup/support/webGPU Overall, I am extremely bullish on the babylon.js application, it's a simpler and more intuitive interface that many can likely build on top of. For this concept to be viable, we will also need a player full body tracking networking module, and eventually, ability to add shapekeys/jiggle-bones to wearables. As we already have a quest proof of concept it's my hope that this is something we can start working on horizontally in the near future.
WebXR - The future of VR in Decentraland This proposal is now in status: PASSED. Voting Results: * Yes 87% 5,684,316 VP (79 votes) * No 12% 830,145 VP (5 votes) * Abstain 1% 12 VP (1 votes)
[quote="Morph, post:5, topic:19700"] it should simply be an interface on top for the browser code, camera movement can be converted from headset accelerometer <> Mouse [/quote] That seems very much of a workaround, it *might* work, but chances are it will create many problems [quote="Morph, post:6, topic:19700"] Demo for feasibility check: [Unity WebGL Player | Unity WebXR Export ](https://de-panther.github.io/unity-webxr-export/Build/) [/quote] This is using a third party tool. With the complexity of the Decentraland client, I have my doubts it would work, but we can always try, it would be a free way to support WebXR.
I think there's two discussions at large to have here: 1.) Is it feasible to implement webXR on the current platform? 2.) If not, is it worthwhile to focus on the browser to prep for incoming wave of WebGPU/WebXR? I would argue that even if 1 is not possible, 2 seems like a viable path to Decentraland's original vision and much more realistic than running multiple separate clients. Given this is something that has not previously been viable, but is now thanks to both software and hardware innovations, I think it warrants a discussion on both counts.
Demo for feasibility check: https://de-panther.github.io/unity-webxr-export/Build/ Repo: https://de-panther.github.io/unity-webxr-export/
I believe it's compatible as it should simply be an interface on top for the browser code, camera movement can be converted from headset accelerometer <> Mouse, while movement is still joystick controlled, a separate point and click interface is likely needed to go from controller location controller direction instead of viewpoint projection. EDIT: I'm not a Unity dev so I'm genuinely asking for feasibility discussion here if possible
Pretty sure this would require a different client from the Unity one. Perhaps the BabylonJS client from the protocol squad could be used for this? https://doc.babylonjs.com/features/featuresDeepDive/webXR/introToWebXR
It seems reasonable, but I'm gonna need some of the more technically inclined and VR-enthusiasts of the community to tell me if you are way off base or not.
As someone who is forced to keep up to date with browser technology day to day, I truly believe people are underestimating how powerful it currently is, and how much more powerful it will soon be. With the standardization that has happened across browsers the last 5-10 years, alongside security improvements and now hardware connective SDKs for both GPU and better memory access, it is very possible we see browsers replace much of the concept of OS middleware in the years to come. We should seize this opportunity to improve the browser experience as not only the ultimate interoperable and accessible portal, but the complete experience with native VR right out of the box and no downloads. I truly believe this, alongside .VRM expansions (see here https://governance.decentraland.org/proposal/?id=bdafe1c0-1d6b-11ed-96c7-2fa07c6df25b) are the missing pieces of the puzzle to a complete, metaverse engine.
10 Comments