I have been following VR for a few years now and user adaptation has been hesitant, but with WebVR the possibilities are endless (I wrote an article about the subject). User comfort is an important issue in this space, especially since technology still has to catch up with latency and frame-rates. Like we saw at Oculus Connect with the Guardian System, we have to make sure the user doesn't get sea sick. That is why I wanted to build VR profiles.

What it does

Your gravr is a VR profile that follows you from VR experience to VR experience modifying your environment (camera, GUI, etc) and adds a profile button that allows you to switch between a set of preferences while you are immersed in virtual space. You can make the profile button visible by lightly hitting/tapping the side of VR headset and make it disappear either by gaze clicking the X or again tapping while staying immersed in the VR environment. The profile button will always follow you in space and is centered (can be offset by x / y values) in the view when visible.

The preview room shows a scale reflecting the user height as a red bar. When you change the profile the bar adjusts. the blue circle is supposed to (not connected yet) reflect the UI bounds set by the user. The four sample profile presets are showing off different adjustments to the environment based on the properties for default, airplane (airplane seat), bed (hospital), special (physical disabilities).

How I built it

HTML5, Javascript, A-Frame

Challenges I ran into

I am still working on performance; adding my component should not create a performance bump, but work quietly in the background.

Accomplishments that I'm proud of

I not only am submitting one component, but had to build a component in tandem with this project ( I have never been that productive.

What I learned

AFrame is more complicated than vanilla Javascript. Art production and transparency issues. Spatial positioning is tough.

What's next for gravr - A Globally Recognized Avatar for VR on the web

Connect loose ends in the demo room. Performance, compression, restructure code and get feedback if my project triggers inspiration. I need coding help. I will build out the API and look into ways to extend the property library and build a responsive GUI kit for VR based on UI bounds defined by the gravr member.

Built With

Share this project: