Virtual Reality Experiences
Development Choices
Creating Virtual Reality Experiences requires a commitment to learning the tools, thankfully there are plenty of resources out there to get you started. For now though, this article provides an overview on developing for Virtual Reality and the considerations.
Systems
HTC VIVE: SteamVR
Overview
The VIVE family of headsets relies on SteamVR and Steam to run. SteamVR is the name of the service and development kit that allows for virtual reality using the system.
Installation
Download and Install Steam: available here:
Install Steam
Create an account or sign in
Download and Install Steam for Windows.
Install SteamVR
Plug in your headset, then launch Steam
You will be prompted to install SteamVR, click install
Restart your PC
Log Into Steam.
Access the Steam Store via the link in the top left corner.
Search for SteamVR
Click on the install link and follow the instructions
Once downloaded and installed, SteamVR is good to go!
Development Software
Unreal Engine
Unreal Engine has higher visual fidelity with lots of features to achieve photo-realism. It uses a visual scripting system known as Blueprints that can be extended by C++. While powerful, the engine can be quite obtuse.
Download the installer for the Epic Games Launcher. Unreal Engine is a piece of software developed and used by Epic Games, a game developer. Their Launcher is a way to interface with their services, which includes games, a marketplace for aforementioned games, development assets and tools, and the Unreal Engine itself.
Install Epic Games Launcher
With the Epic Games Launcher installed, you need to create an account. Opening Epic Games Launcher will prompt you to do so.
You can now proceed to installing Unreal Engine, click on the Unreal Engine tab on the left.
Click the
[+]
icon next to Engine Versions and install the latest version.
Unity3D
Unity strictly relies on C# programming for its functionality - a simpler language to learn. While not as visually refined as Unreal Engine, it is easier to work with where you have full control over the toolset.
Considerations
The last thing you want to happen is for your users to come away feeling physically sick. Virtual reality is known to have a host of issues around motion that can lead to feeling sick. Below are general goals that are widely held by the industry to maximise user experience.
Immersion
There is a large variety of factors that contribute to the feel of immersion. Chief among them is the responsiveness of the visuals being displayed to the user, such that the visuals should change when the user changes the orientation of their head. Lag is to be avoided as much as possible here. This is one of the reasons that the system of locomotion has to be carefully considered in your VR experience. Additionally photo-realistic textures can add to the immersion factor (however low poly games have shown that this is not necessary). Auditory cues located in specific points in 3D auditory space can add to the immersion immensely. Finally, the ability to interact with objects in your space - such as 'picking' up items - is useful to enhance immersion as well.
Performance
Performance is the most important aspect of ensuring a smooth experience. It can be measured by the framerate or frames per second (fps). This relates to how much work a computer has to do to render the experience. More computationally intensive work will lead to lower fps.
To achieve good immersion frame rates should be a minimum of 72 Frames per second, with 90 being a current sweet spot of required processing power and good immersion. Here are some basic tips:
Limit dynamic light and the number of dynamic light sources as this is computationally intensive
Avoid heavy use of translucency, this is computationally intensive
Keep material complexity and number of materials low
Standing Navigation - Teleporting
For standing/room-scale based experiences, the preferred mode of navigation is to teleport. Any movement that is not reflected by the body such as below are discouraged as they can cause motion sickness.
No Simulated Movement
Abstracting movement to button presses is highly discouraged as the user will be moving without conscious body effort. This can cause the body to subconsciously react and lead to unsafe situations and/or cause motion sickness
Example: Mapping walking forward to a button causes a user to move forward in virtual reality. In reality, their feet are planted still.
No Involuntary Movement
Involuntary motion acted upon the user inside virtual reality can cause the body to subconsciously react and lead to unsafe situations and/or cause motion sickness
Example: A triggered event in the experience pushes the user in the experience, the user witnesses the world rush past them. In reality, their feet are planted still. In these scenarios, the closer the experience is to a teleport the lower chance of motion sickness/negative effects.
Sitting Navigation
Sitting Navigation is less restrictive than standing navigation as at least you can minimize involuntary reactions by the body to motion. You could use a gamepad in this scenario.
Last updated