How to Get Started with VR: Intro to Your First Virtual Reality Project

“Mrs. G was super-religious and spent most of her time in the OASIS, sitting in the congregation of one of those big online mega-churches, singing hymns, listening to sermons, and taking virtual tours of the Holy Land.”

Ready Player One by Ernest Cline

This sentence, describing the seemingly absurd possibilities of owning a set of virtual reality goggles in 2045 is already outdated. Meditative readings of the Bible are available on Samsung Gear VR today. For free. Sit back and enjoy.

It seems like anything can be transferred into a virtual realm. Just scroll through a VR experience store. You can swim with dolphins, act out your dreams of being a pirate, immerse yourself and your kids in an educational VR about the night sky. And then there are a ton of games: racing, shooting, arcades, exploration, and… oh, is this The Economist VR app? There’s also seems to be a Jaguar racing simulator, a virtual tour of GE’s smart windfarms in China, and an overview of the Western Sydney University campus.

Not many of those hundreds of branded experiences available on VR platforms are as interactive and realistic as you may expect. But they’re out there, open to the public, collecting users and reviews, while benefiting their developers. If you want to know how to build a VR application for your customers, employees, or simply for the good of the humankind, keep reading. Let’s start with the most reasonable examples of VR implementation.

Solid VR use cases

Gaming

Steam VR store

Spending hundreds of dollars on VR products and supported hardware is not the only option for people who want to try immersive gaming. VR amusement park chains such as The Void or Oriental Science Fiction Valley are opening up around the globe to combine standard virtual reality software with real-life sets — all for a fraction of the price spent on the hardware.

Marketing

This Interstellar Oculus Rift experience encouraged moviegoers to float inside a spacecraft
Source:
USA Today

An example of a different approach was offered by an online travel agency Expedia. The company published two interactive virtual experiences — a tour through Mexican cenotes and a walk in Seattle’s Space Needle. Here, the company didn’t simply provide a guided tour — it’s an actual short game that can be played using HTC Vive or Oculus Rift hardware. This approach requires that the audience already owns a headset and is interested in trying the experience at home.

Screenshot from Expedia Cenote VR
Source:
Steam

The third approach can be seen in Lowe’s example. Here, the home improvement brand offered users the opportunity to try their Holoroom innovation directly in store. This realistic experience allows customers to play around with tiles, wall colors, furniture positioning and so on to create their dream environment.

Lowe’s Holoroom

Retail

VR technology in Audi dealerships
Source:
Audi

Many brands also use VR for planning their store spaces. L’Oréal employs virtual reality visuals and 3D rendering to make better decisions on merchandise positioning. The process of prototyping, designing, and creating physical demos usually takes several months while virtual stores provide the same feedback much faster.

Training and education

Spacewalking in NASA’s Virtual Reality Lab
Source:
The Verge

Many dangerous and simply high-risk operations on Earth also employ virtual reality as part of their practice. Military, firefighter, railway maintenance, and many more simulators are used to prepare trainees to make quick decisions in stressful situations, and all without harming or endangering people as it used to be with traditional training. Flaim Systems is one of providers of such technology that uses real-life equipment, jackets with built-in heating elements to simulate fire, and a hose that gives realistic feedback. This is both far and very close to gaming sims people can enjoy on their PCs.

Regular school education benefits from VR as well. In 2015, Google announced its new service Expeditions and offered free headsets along with teacher-assisting software to all schools that decide to implement the technology. Using virtual field trips, teachers can take students to travel around the world, explore underwater flora and fauna, and enrich lecture with immersive and engaging experiences. Another provider ClassVR offers both headsets and VR content organized in a curriculum for learning various subjects on different education levels.

ClassVR platform allows teachers to plan and deliver lessons, along with creating their own content
Source:
ClassVR

Healthcare

A study conducted by the University of Washington documented an effectiveness of using VR for pain distraction
Source: Human Photonics Laboratory at the University of Washington

Tourism

As an example, Thomas Cook offered virtual excursions to some of their destinations that customers could try in their physical stores. The Best Western hotel chain created a virtual map of their properties’ rooms, lobbies, and even gyms to not only keep the customers engaed, but to help in the decision-making process many travelers go through when choosing a hotel.

VR tour around Best Western Premier
Source:
BestWestern

Understanding VR development

Design and prototype tools

Pen and paper. Although the 360-degree world is different from traditional rectangular screen dimensions, you still need to prototype and create 2D wireframes for the UI part of your project. Some experienced designers even created printable templates that can be converted into virtual sketches: Check out this 360 panorama grid and a VR storyboard template.

Example of a sketch for virtual reality
Source:
Volodymyr Kurbatov

Sketch. This classic tool for designing user flows and screens in mobile interfaces can also be successfully used in VR. Besides, there’s also a plug-in that transforms Sketch documents into a 360-degree view as seen on the gif below.

VR interface created in Sketch

Blender. This free and beginner-friendly product will help you create great custom 3D models for your first VR project. Any visual designer from your team can get the hang of it with online tutorials and a bit of practice. Blender objects can be easily imported into any game engine.

3ds Max and Maya. These Autodesk products are standards in modeling, sculpting, animation, lighting, and visual effects. Many if not most game and movie elements are designed using one of them. Which is both a blessing and a curse since their robust nature makes them challenging to learn. They are not exactly cheap and require a true master to put them to work effectively. Consider them when you have time and money to spare.

Cinema 4D. Another advanced tool, Cinema 4D, while not as widely used, has a ton of plug-ins and a milder learning curve when compared to Maya, for example. It’s popular among small teams and single artists, and unlike Autodesk products is available for Mac OS.

VR scene created using Cinema 4D
Source:
eyedesyn

WebVR libraries

A-Frame. This open source Mozilla project allows you to create VR experiences using HTML. Finished experiences run on HTC Vive, Oculus Rift, Google Daydream, and Samsung Gear VR. This is a great jumping-off point to give your in-house developers an opportunity to experiment with a new format.

A-Frame example

React 360. This promising framework uses the same logic as other React development products and allows you to code VR apps using only JavaScript and Node.js in particular. The tool also supports desktop, mobile, and headset interfaces.

Primrose. There are two use cases described on the tool’s official website: prototyping and collaboration. While the first is more or less the same as previously mentioned software, the collaborative function is unique. Basically, Primpose encourages users to voice-chat in their virtual meeting rooms as in common interaction spaces. Primrose apps can be viewed on desktop, mobile, and most major headsets.

Primrose demo

Other interesting tools for your WebVR experiments include Vizor.io, JanusVR, X3Dom, and BabylonJS.

Game engines

While mobile development suggests that you use a different tech stack for every operating system (unless you’re using one of the cross-platform methods), most VR engines allow you to publish your app on all main platforms. While there are tons of engines on the market to explore, we’ll give you a quick overview of the main ones to give you a head start.

Unity. Considered the mandatory tool for beginning VR engineers, Unity supports all main VR devices and file formats used by different 3D building applications including Cinema4D, 3D Max, Maya, and more. It uses C# — object-oriented scripting language — to write commands for game objects and the overall logic of your virtual world. One of Unity’s biggest pros is the huge community-based asset store for free and paid 3D objects, textures, and audio files. The product is also free until you start earning over $100k a year from your app. Finally, the community is unmatched with 45 percent of game devs preferring Unity over any other engine.

Unity interface
Source:
youtube.com/avrworks

Unreal Engine. Second in line after Unity with around 17 percent of the market is Unreal Engine. This tool uses C++ language which is considered more difficult than C# or Java and requires some C++ programming knowledge before getting started. There’s also an alternative scripting method called Blueprints Visual Scripting which allows designers and programmers to work in collaboration using the same range of tools.

Google Daydream development in Unreal Engine
Source:
Gamasutra

Unreal uses a different pricing model — the engine is free to use until you earn $3k a quarter and then you have to pay 5 percent of the revenue from your app. It’s a more complex and sophisticated tool compared to Unity, which is compromised by better performance and arguably the most realistic look among other engines. Just like Unity, it supports all main VR devices.

CryEngine. Another free tool for highly realistic-looking interfaces is CryEngine. It’s famous for its unique weather and water effects including volumetric fog, ocean physics, and full 3D cloud rendering making it a first-choice tool for nature-rich experiences (check out this gameplay of VR game Robinson: The Journey for a demonstration). CryEngine also works with C++ and unlike its competitors supports only three VR platforms: HTC Vive, Oculus Rift, and OSVR.

CryEngine interface

Platforms and SDKs

VR devices on the market can be divided into two categories: high-end and mainstream.

High-end VR products use high-performance PC processors and consoles. These sophisticated products with specific hardware requirements include HTC Vive, Oculus Rift, and PlayStation VR.

Mainstream VR devices such as Samsung Gear VR, Oculus Go, or Google Daydream are comprised of VR glasses (also controllers, sometimes) and use mobile processors for computing power and as displays (except for Oculus Go that downloads VR content directly to the device).

How to choose a platform to develop your first VR experience on? Well, you may go the popularity route, but remember to consider other factors. For example, PlayStation has the largest market share for its headsets but only users owning the console at home can use them. How will you deliver your apps to the audience? Will it be a one-time marketing campaign experienced directly in a store? Or a game that will be available to people at any times on Steam or in mobile stores? Capabilities of different devices can also be different so let’s draw a quick comparison.

Sony PlayStation VR is the most popular vendor for headsets, followed by Oculus, HTC, and a small portion of other devices including Samsung and Google
Source:
Statista

Below we review six VR devices, common implementation examples, available SDKs and shipping platforms. You can skim over this table and read the detailed description after.

HTC Vive (Viveport SDK). Devices from the HTC Vive line appeared from the collaboration of a hardware company HTC and Valve, creator of the largest software distribution platform Steam. This headset allows users to experience the virtual world while sitting, standing, or even in motion — it maps out the room around the wearer using a camera and provides a more immersive and less nauseating experience. The only limitations for moving are created by each separate game and are being displayed as faint blue lines on the screen during the VR experience. The apps are distributed via — you guessed it — the Steam VR platform and available on PC.

Oculus Rift and Oculus Go (Oculus SDK). Being Vive’s biggest competitor in VR experiences for PC, Oculus started the global VR adoption with its Kickstarter campaign in 2014. Apart from the Steam platform, you can distribute applications in the Oculus store. Recently the company rolled out the lighter and cheaper headset Oculus Go for users who don’t have robust and performance-demanding computers. Games and apps for Go can also be distributed via a dedicated mobile app that downloads them directly on a headset. Oculus, along with HTC Vive, are the only VR devices allowing for the room scale experience that we described earlier; so if you want your users to freely roam around the room, these are your only options.

Samsung Gear VR (Oculus Mobile SDK). Since Oculus took part in creating Gear VR hardware, it’s only logical that you can use their dev kit for software as well. Both brands share the same app store and the overall experience is very similar. The main difference is that the Samsung device is powered entirely by a smartphone — and, not surprisingly, a Samsung smartphone. The one noticeable advantage Gear VR has over Oculus Go is the price and the fact that many Samsung users likely got their device for free or with a discount, which means that even people not particularly interested in VR can have a device laying around in their house.

Google Cardboard (Google VR SDK). When Google released its foldable VR device made out of plastic lenses, magnets, and well, cardboard, for just $15, virtual reality became accessible to everyone with a smartphone (given you’re located in one of the countries Google ships to). Content for Google Cardboard can be found both on the official app and directly via YouTube — if you’re developing simple interaction-free 360 degree experiences, Cardboard can deliver it. Along with the device launch, Google introduced SDKs, APIs, and tons of resources for a quick start into VR development.

Google Daydream (Google VR SDK). This 2016 device became the headset Google lovers deserved — an elevated interactive VR experience when compared to the simplistic Cardboard. Unlike Samsung Gear VR, Daydream works with several phone brands, however, only the ones containing specific components. Among them are the Pixel phones, the latest from Samsung, HTC, LG, Xiaomi, Huawei, ZTE, Asus and Alcatel models. No iPhones, unfortunately. Games and experiences can be downloaded using a Daydream app.

Google also recently collaborated with Lenovo on its Mirage Solo device — the standalone VR set similar to Oculus Go that runs Daydream software. This opens up more possibilities to the Google experience such as using WorldSense technology that tracks user’s head position for more natural movement in VR. Apps using these method can be written using the same development tools Google provides.

What about PlayStation VR experiences? You have to contact Sony directly from its PlayStation Partners page for information about any PS development. Considering much more developer- and customer- friendly solutions on the market, we recommend resorting to this method later in your VR journey.

Performance testing

Just like with regular PC games, hardware manufacturers publish technical benchmarks that will allow experiences to run smoothly on their machines. One of them is GPU performance, which is 90 frames per second (FPS) in Oculus and HTC. To make sure their applications won’t face common problems such as dropped frames and screen stutter, developers use FPS counters. One of them is Nvidia’s new VR-targeted benchmarking tool called FCAT. It runs in the background as you test games, captures data, and then saves it in a readable format and as handy graphs. Unreal Engine and Unity have similar built-in functions.

Frame timing data shown in Unreal Engine
Source:
Intel

Get prepared: What slows VR adoption

Financial restrictions. Headset sales are noticeably sinking and that’s mostly due to the price and the lack of technology updates. Today, VR users who are either tech enthusiasts or active gamers are still considered early adopters. And they also don’t rush to buy new headsets while the technology isn’t leaping aggressively forward. The lack of implementation also leads to the public viewing VR more like a toy than a practical investment.

Hardware demand. VR headsets of today are not only financially restrictive but also technically demanding. If a user decides to build a computer considering Oculus or HTC minimum requirements, this will likely cost them around $1000. And that’s only the consumer side. Developers also need to have high-powered hardware to manage 3D modeling and VR engineering tasks.

Physical discomfort. By its nature, most VR sets are heavy, restricting, and still don’t meet our expectations of highly immersive and convenient goggles. For the best VR experiences, users often dedicate separate rooms or spaces where these limitations are less visible. Before VR devices become mobile and compact and can be easily accessed anywhere, the adoption will keep staggering along.

Health issues. PlayStation and Oculus don’t recommend using headsets for children under age 13. Pregnant and elderly people, those suffering from heart or psychiatric conditions should consult a doctor before trying the VR experience. People are also at risk of having seizures, dizziness, headaches, eye strain, or even blackouts during virtual reality gaming. It’s important to point out that most of these issues are also applicable to regular gaming and even watching TV. The cases of severe problems are, however, rare and preventable. The biggest problem with engaging people in VR experiences is taking this responsibility and preparing for possible dangers.

Is it worth it? Main takeaway

VR development is not an easy endeavor. However, there are ways to make it less of a decade-long project with huge design and engineering teams and more of an experiment, the waters to dip your toe in. We’ve talked a bit about WebVR, possibilities and examples of its implementation using simple and accessible web tools. We’ve reviewed mainstream headsets, specifically mobile ones like Oculus Go and Mirage Solo. Google Cardboard apps and games are also the easiest and most approachable way to get started with VR and engage your audience. So if you’re interested in testing unexplored territories, there are ways to do it — you just have to pick one of many approaches.

Photo by Drew Graham on Unsplash

Originally published at AltexSoft Tech Blog How to Get Started with VR: Intro to Your First Virtual Reality Project

Being a Technology & Solution Consulting company, AltexSoft co-builds technology products to help companies accelerate growth.