For this hackathon we really wanted to explore and push our boundaries by working in fields that we had never experienced before. To this end, we decided to work with VR and Web-GL and solve a problem regarding Web VR that had not been solved. We decided to tackle the issue of providing analog input to a VR environment in real time.
What it does
WebVR-Playground is essentially a proof of concept for the technology we made here. It has a front end GUI that allows the user to create a 3d world and once saved, it launches that world for the user to explore. The User then controls a camera on a seperate screen, via an xbox controller, and can move around within the generated world in real time. We wrote all the code of course but the tech we made that is completely new is real time updating and processing of an analog input device handled through the web in a rendered VR environment.
How we built it
We built it fully through web technologies and only on the web. The front end is HTML, CSS, JS, and rendered Web-GL. The back end is a Node server with Express and Socket.io to provide real-time data piping between devices.
Challenges we ran into
The major challenge we ran into was that nobody had done this before so there was no official library or any predefined conventions on how to send/process the input data so we had to create all that from scratch. Additionally porting the rendered objects from the screen with the editor to the screen with the viewer was very troublesome due to the nature f how VR viewing works and required some cool linear algebra transformation to make work.
Accomplishments that we're proud of
We're proud of providing real time updating and input processing becuase of the complexity of the solution required to solve that problem. We're also proud of creating the viewer with VR capabilites because none of us have ever worked with VR before this hackathon. We're also proud of creating a 3d object editor becaue that similarly is a field that none of us had experience in prior to this hackathon.
What we learned
We learned a gamut of things from Vr, to 3d rendering, to linear algebra and data compression and extraction. Not everything we learned made it into our final project but a lot did, especially because there was no much for all of us to learn with reagrds to VR and Web-GL.
What's next for webVR-Playground
Now that this proof of concept exists, the next step would be to abtract the technology and turn it into a full fledged real time input library for web VR.