NExT Lab
Maker SpacesFabLabNExT LabRobotics LabPrint Room and Loans
  • NExT Lab
  • Contact Details
  • NExT Lab Access
  • Sustainability
    • 3D Printing
  • Case Studies & Projects
    • |3DS|VR| Voices of Country
    • |3DP|AR| Prosthetic Habitats
    • |AR| Studio 40: The Field
    • |VR|3DP| Gravity Sketch: Door Handles
    • |3DS| 3D Scanning Examples
    • |AR|3DP| GRANULAR
  • 3D Printing |3DP|
    • 3D Printing at the NExT Lab
      • Other 3D Printing Options
    • Get Started
    • Design Approaches
    • Modelling Guidelines
    • 3D Print Farm
      • Quick-Start Guide
        • File Naming Conventions
      • Detailed Overview
        • 3D Printing Mesh Preparation
        • Submitting a Print Request
        • Post-Submission: Updating, Paying & Collecting
        • Slicing & Settings
    • Open Access Printers
      • PRUSA Open-Access
        • Workflows
          • Materials Experimentation
          • Experimental Techniques
        • Prusa i3 MK3S Fundamentals
        • Hardware Glossary
          • Extruder
          • Hotend & Nozzle
          • Print Surface, Bed & Y Axis
          • PINDA Inductive Probe
          • X-Axis Gantry
          • Z-Axis Stage
        • Software/Slicer Glossary
          • Plater/Virtual Print Bed
          • Print Settings
          • Filament Settings
          • Printer Settings
        • Troubleshooting
          • Filament Jam/Clog
          • Worn Nozzle
          • Broken/Loose Heatbreak
          • First Layer Issues/Prints Not Sticking to Bed
          • Stringing & Oozing Hotend
    • Use Own Filament
    • Key Techniques
      • Hollowing Models
      • Combating Warping
      • Split Models & Joints
      • Joints and Connections
      • Fillets & Chamfers
      • Accuracy, Precision & Tolerancing
      • Post-Processing & Finishing
        • No Sanding Method
        • Sanding Method
        • Epoxy Method
        • Fillers Method
      • Printing for Transparency
      • Mesh Techniques
        • Meshes 101
        • Working with Meshes
        • Repairing Meshes
        • Other Techniques
          • Thicken a Mesh with Grasshopper
          • Mesh Manipulation with Blender
          • Custom Supports in Meshmixer
      • Topography Models
      • Using the Makerbot Experimental Extruder
      • Troubleshooting
      • Adjusting Print Settings
    • Resources
      • Downloadable Software & Accounts
      • Software Primers
        • Autodesk Meshmixer
        • Blender
    • Mold Making and Casting
  • 3D Scanning |3DS|
    • 3D Scanning at the NExT Lab
    • 3D Scanning Use Cases
    • Guides
      • Principles of 3D Scanning / Digital Reconstruction
      • Photogrammetry
        • Photogrammetry Theory
        • Photogrammetry Benchmark
        • Technical Guides
          • From Photos to 3D Spatial Data
          • Advanced Techniques
          • Taking Measurements + Visualisation
          • From Photogrammetry to 3D Printing
      • BLK360 Terrestrial LiDAR Scanner
        • BLK360 Benchmark
        • Scan
        • Register
          • Export from iPad
        • Process
      • Artec Handheld SLT Scanners
        • Using the Scanners
        • Manual Alignment
        • Fill Holes
        • Smoothing
        • Frame Selection
      • VLX LiDAR SLAM Scanner
        • VLX setup
        • Preparing to Scan
        • Using the Scanner
        • Processing the Scans
      • Working with Point Clouds
        • Point Clouds to Meshes
    • Troubleshooting
      • General
      • Artec EVA
      • Leica BLK360
      • VLX
  • Augmented Reality |AR|
    • Augmented/Mixed Reality at the NExT Lab
      • Use Case of AR
    • Guides
      • Hololens 2
      • Fologram
        • Fologram Applications
          • Fologram for Hololens
          • Fologram for Mobile
        • Fologram for Rhino
        • Fologram for Grasshopper
        • Shared Experiences / Tracked Models
        • Extended Functionality
          • Preparing Models for AR
          • Interactivity
          • Fabrication
      • Unity and Vuforia
        • Unity Primer
        • 2D Targets (Image Targets)
        • 3D Targets (Object Targets)
        • Vuforia Primer
        • Creating a Simple AR App
          • Unity Next Steps: Interaction
          • Model Recognition
    • Troubleshooting
      • Hololens & Fologram
      • FAQ: Augmented Reality
    • Resources
      • Platforms (Hardware)
        • Microsoft Hololens
        • Mobile
      • Software Packages
      • Student Contact
        • AR: Intro Sessions
        • AR: Workshops and Resources
          • UntYoung Leaders Program Workshopitled
          • Young Leaders Program Workshop
          • Construction as Alchemy
  • Virtual Reality |VR|
    • Virtual Reality at the NExT Lab
    • Guides
      • Virtual Reality Hardware Set Up
        • Meta Quest 3
          • Troubleshooting
        • HTC Vive Headsets
          • HTC Vive
            • Troubleshooting
          • HTC Vive Pro
          • HTC Vive Cosmos
            • Troubleshooting
      • Twinmotion VR
        • Twinmotion VR: Features
        • Twinmotion VR: Troubleshooting
      • Virtual Reality Experiences
        • Unreal Engine
          • Unreal Engine Primer
            • Process: Level Building, Playing & Packaging
            • Actors: Components, Content and Editors
            • Materials & Textures
            • Lighting & Mobility
            • Player: VR and non-VR
            • Interactivity & Blueprints
          • Unreal Engine: Guides
            • Setting up a VR-ready File & Templates
            • Creating a Basic VR Experience
            • Custom Collision and Navigation
            • UV and Lightmaps
            • Outputting Content
            • Unreal Troubleshooting
            • Point Cloud Visualisation
          • VR: Video Tutorial Series
            • Exporting from Rhino
            • Model Preparation in 3DS Max
            • Unreal Engine
      • Designing in Virtual Reality
        • Gravity Sketch
          • Quick Start
        • Masterpiece Creator
    • Student Contact
      • VR: Intro Sessions
  • Sensing
    • Body Tracking
      • Usage
        • Technical Specifications
      • Data Analysis in Grasshopper
        • Analysis Examples
      • Animated Point Clouds(UE)
  • ROBOTICS
    • Robotic Dog
      • Operational Health & Safety
      • Robot Dog Setup
      • Operation Setup
        • Operation Basics
        • Arm Mode
        • Programming Mode
        • Mapping Mode
      • Advanced Operations
      • Expansion Equipment / Attachments
      • Basic Simulation
      • Troubleshooting
Powered by GitBook
On this page
  • Development Choices
  • Systems
  • HTC VIVE: SteamVR
  • Development Software
  • Unreal Engine
  • Unity3D
  • Considerations
  • Immersion
  • Performance
  • Standing Navigation - Teleporting
  • Sitting Navigation

Was this helpful?

  1. Virtual Reality |VR|
  2. Guides

Virtual Reality Experiences

PreviousTwinmotion VR: TroubleshootingNextUnreal Engine

Last updated 11 months ago

Was this helpful?

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 : available here:

  1. Install Steam

    1. Create an account or sign in

    2. Download and Install Steam for Windows.

  2. Install SteamVR

    1. Plug in your headset, then launch Steam

    2. You will be prompted to install SteamVR, click install

  3. 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.

  1. 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.

  2. Install Epic Games Launcher

  3. With the Epic Games Launcher installed, you need to create an account. Opening Epic Games Launcher will prompt you to do so.

  4. You can now proceed to installing Unreal Engine, click on the Unreal Engine tab on the left.

  5. 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.

Go to

store.steampowered.com/about
Steam
Steam, The Ultimate Online Game Platformsteam
Logo
Download the Epic Games Launcher From the Epic Games StoreEpic Games Store
Logo
Download UnityUnity Store
Logo