11 May 2017 An intro to Virtual Reality
The concept of Virtual Reality (VR) has been around since the 1950’s. The first real working prototype, known as The Sword of Damocles, was created in the late 60’s. Since then, we’ve had Virtuality, Sega VR, the Virtual Boy and the VFX1, all without anything really catching on.
But I think now is a special time for VR. Why, you say? Glad you asked …
Kickstart My Heart
In 2011, Palmer Luckey hacked together a prototype VR device, with the view to creating inexpensive and quality VR for video gaming. In collaboration with John Carmack (the creator of DOOM), a duct-taped version was introduced at the E3 gaming expo. Oculus was formed.
On August 1st 2012, Oculus launched a Kickstarter campaign for the Rift virtual reality headset. Though the consumer version of the Rift wouldn’t ship until 2016, the first Development Kits (DK1) were released in early 2013, allowing developers to begin creating content and adding VR support to existing software ahead of the consumer release.
In March 2014, Facebook purchased Oculus for $2 billion, before any consumer devices had shipped. Around the same time, Sony announced a VR device for their Playstation 4 console, and Google announced Cardboard, an extremely low-cost do it yourself VR device for smartphones. The year after, HTC and Valve announced the Vive VR device, shipping consumer units in 2016. By this point there were at least 230 companies developing VR-related products, including Facebook, Google, Apple, Amazon, Microsoft, Sony and Samsung.
In short, the technology required for VR is finally catching up to the dream, at an affordable price. This, combined with major investments from the world’s top tech firms and an accelerated pace of innovation in the space, shows that VR is here to stay.
You got to have an H-M-D if you want to VR-with-me
Modern VR requires the use of a virtual reality Head Mounted Display (HMD). These generally consist of some sort of eye-covering shell, housing one or two displays and a lens for each eye. Various methods are used for tracking head movement, with the displays rendering the user’s view within a “virtual world”. At the moment, there are two main approaches to HMDs: phone-driven and PC/console-driven. We’ll look at each type in-turn.
The phone-driven approach to VR uses a smartphone (or phablet) placed into the HMD. The smartphone provides the screen, CPU/GPU processing, audio, and positional tracking. The lenses are part of the HMD, and help to provide some perspective for the eye. These sorts of HMDs are generally low cost, unless you factor in the cost of the phone. However, as a smartphone is almost a must-have device in today’s society, phone driven HMDs generally provide a low cost entry point to VR. Here are some of the most well-known phone-driven HMDs:
Google’s Cardboard is a low cost entry point to VR, designed to work with a wide range of smartphones. The HMD itself is constructed of cardboard, though some manufacturers have created plastic Cardboard-compatible HMDs. App interaction is limited to a ‘trigger’ button on the viewer. Google also provides instructions for building a Cardboard yourself, though it is important to ensure you buy quality lenses for the HMD.
Google’s Daydream viewer provides an upgraded experience from the cardboard, and includes a small handheld remote for navigation. Currently, the HMD works with Daydream compatible phone models from Huawei, ZTE, Motorola and Google.
Created in partnership with Oculus, Samsung’s Gear VR is similar to Google’s Daydream, with the newest model also including a handheld navigation remote as well as a touch pad and some buttons along the right side of the HMD. The Gear VR HMD currently only works with Samsung devices such as the Galaxy S8 smartphone.
Phone-driven solutions will only take you so far. More advanced VR solutions require either a PC or video game console to drive the display of the HMD, with the HMD and associated controllers feeding back positional tracking and user interactions. Audio is also provided by the PC/console via headphones either attached-to or plugged-into the HMD. Besides the requirement for a fairly recent high-end PC, the main drawback of these sorts of VR setups is the fact that you are “tethered” to the PC/console via a bundle of cables (power, HDMI, USB), though wireless solutions are on their way. Some of the better-known contenders include:
One of the most well known HMDs in the VR space (due in no small part to the $2 billion acquisition by Facebook), the Oculus Rift provides a PC-tethered VR experience using one or more cameras to provide outside-in tracking. Until recently, the Rift required the use of a Bluetooth-connected Xbox controller for navigation, however with the release of their Touch controllers, Oculus can now provide a more immersive experience.
Currently the Rift’s main competitor, the HTC Vive was developed in conjunction with one of the world’s most well known and successful video game developers: Valve. Their SteamVR platform provides a number of unique components, including room-scale tracking with the use of “Lighthouses”, allowing users to walk around inside VR worlds rather than just remaining stationary. LG is also in the process of developing a SteamVR-based HMD.
Sony’s Playstation VR leverages their existing install base of Playstation 4 and Playstation 4 Pro video game consoles to provide a mainly gaming focused VR experience. Tracking is limited, and interaction is via either a standard DUALSHOCK 4 or PlayStation Move motion controller.
The Fove headset is unique in it’s approach to VR in that it utilises eye-tracking within the HMD to provide foveated rendering. This is a technique that reduces the rendering workload by greatly reducing the quality of the image displayed in the eye’s peripheral vision, outside of the zone gazed by the fovea. In addition to providing eye-tracking functionality to applications, the theory is that due to the reduced rendering load, the requirements for the PC driving the solution will be lower-end and thus less costly.
Microsoft are touting a “Mixed Reality” experience, as opposed to VR, but (excluding the Hololens) I think their proposed HMDs fit the VR definition. The major selling points of these devices are their lower price (~$US300), lower minimum PC requirements, and the fact that they will support inside-out tracking, alleviating the need for external cameras or other tracking stations. In addition to the Acer HMD pictured above, Microsoft has indicated that Asus, HP, Dell and Lenovo are also building HMDs, though at the moment no actual devices have been announced.
VR for Fun and Profit
Ok, so now you have a VR setup, what can you do with it? Video Games are the obvious choice, especially if you like Zombie games or Wave Shooters. Google Earth VR is an amazing experience, allowing you to zip all over the globe, standing among the buildings of a city as if you are a giant. AltspaceVR and Facebook Spaces provide social VR experiences that you can share with others, YouTube and Vimeo can playback 360 degree videos, and social media sites such as Facebook and Twitter provide built in support for 360 degree photos and video. Real-estate sites are beginning to support VR tours of properties, and there are some great virtual tours of museums and art galleries. But what about creating your own content to share, and possibly sell?
360-degree photo and video cameras are becoming very affordable, with Samsung, Ricoh, and 360fly offering some great entry-level cameras. On the high end, GoPro, Google, and Matterport lead the way. In the case of Matterport, rather than capturing a standard 360 photo, the camera can actually be used to stitch together a 3D virtual representation of a space that can be navigated through.
VR software is different to traditional web apps and programs in that insted of the traditional flat user interface (i.e. the web browser or desktop), VR is a 3D space. While it’s possible to have a single flat screen affixed to the users view within VR, it’s a less than optimal experience (and that’s being kind).
If you’re handy with “teh codez”, you can try your hand at creating programs for VR, and there are 2 main approaches. The first is to use a game engine such as Unreal Engine, Unity or Xenko, and the second is to use a web framework such as A-Frame or ReactVR. The main difference between the 2 approaches is that the first produces a compiled, installable program whereas the second can be served over the web via traditional HTTP and rendered in a browser that supports VR.
As far as the assets required by VR software, 3D modelling tools such as Blender, 3ds Max, and Maya, though for prototyping I’ve found that MagicaVoxel is a great way to create simple 3D shapes and objects quickly and easily.
I’ve touched on a lot of things in this post, and there is a lot of scope to expand on in future posts. For the budget conscious, grab a Cardboard viewer and dip your toes into VR. That will give you everything you need to get started with some simple VR websites using A-Frame or ReactVR. If you’re feeling a little more gung-ho and have a gaming PC with an nVidia GeForce GTX 1070 or better, I would recommend picking up an HTC Vive and firing up Unreal Engine or Unity. Have fun!