A-Frame Basics

a-frame vr

In order for VR to take off there really needs to be a low barrier to entry, both on the side of the creator and the viewer. A-Frame is a great framework to create VR interactions, and the web is the preferred standard. There are too many walled gardens from Oculus, Steam and others already. Let's get rid of that and learn from history, everyone should work to get VR on the web standardized, A-Frame is the best way to do that. Let's take a look at some of the basic pages I would like to create for my type of content.

Stereo 360 Images

I'm creating a lot of stereo 360 images, this seems pretty basic that A-Frame supports this, which it does, but needs a few additions.

It's a bummer that A-Frame doesn't support over-under equirectangular panoramas out of the box, you need to add the overunder component from stereo-panorama-viewer

Usage is easy, add the script js

<script src="stereo-panorama-viewer/public/aframe-components/aframe-overunder-component.js"></script>

and then call the overunder entity

<a-entity id="dome" overunder="images/crane_OU.jpg"></a-entity>

VR Controllers

Incompatibility between various viewing devices and controllers is a big problem with VR acceptance. Some people are pushing for a completely accessory-less environment using hand tracking and voice recognition, others are looking for a minimum and want mouse/keyboard interaction, game controller interaction etc. I'm going to make a simplifying assumption, if you are into VR you will have an HMD and a set of controllers. I test on Oculus Quest with touch controllers, and HTC Vive with Vive controllers. A-Frame has components to support a fairly generic controller interface, I think that is the best way forward.

References

Additional reading and references used for my pages.

Docs

Basic stereo equirectangular viewer

GUI Components

Simple project to make slides in 3D environment: Slideshow