Skip to content

disaster-drone/VR-Environment

Repository files navigation

State Farm Disaster Drone VR Environment

Table of Contents

  1. Description
  2. Demo
  3. Installation
  4. Hardware & System Requirements
  5. Migration Notes
  6. Controls

Description

The VR Environment is a component of our disaster drone system, serving as the fundamental environment for movement and claim creation within VR. This project was developed using Unreal Engine, utilizing the VR Template Project created by Epic Games as a starting point. Within the environment, the user can teleport vertically & horizontally, snap turn, and create claims by placing down a cone. Upon placement of a cone, the closest image captured by the drone is displayed.

Demo

Full Demo Video: https://youtu.be/faXq7GY65Ww

Installation

Prerequisites Download Unreal Engine Editor Version: 5.0.3-20979098+++UE5+Release-5.0.

Download the Oculus App on your Desktop.

Set up your VR Headset on the Oculus App.

Clone the repository

$ git clone https://github.com/disaster-drone/VR-Environment.git

Launch the Unreal Engine Project File called image to edit the project

Hardware & System Requirements

The System should function correctly with:

  • Oculus Mobile: Quest 1 and Quest 2
  • Oculus PC: Rift S and Quest with Oculus Link.

However, it was only tested with the Oculus Quest 2 and the Oculus Rift. We recommend the Oculus Quest 2. https://www.meta.com/quest/products/quest-2/

Recommended Hardware and System Requirements for the Oculus Rift:

  • Processor: Intel i5-4590/AMD Ryzen 5 1500X or greater
  • Graphics Card: NVIDIA GTX 1060/AMD Radeon RX 480 or greater
  • Alternative Graphics Card: NVIDIA GTX 970/AMD Radeon R9 290 or greater
  • Memory: 16 GB RAM
  • Operating System: Windows 10
  • USB Ports: 1 x USB 3.0 port (3x USB for Oculus Rift C1)
  • Video Output: Compatible DisplayPort

Recommended Hardware and System Requirements for the Oculus Quest 2:

  • Processor: Intel i5-4590 / AMD Ryzen 5 1500X or better
  • GPU: NVIDIA GeForce GTX 1070 or AMD 500 Series and higher
  • Memory: 8 GB RAM
  • Operating System: Microsoft Windows 10
  • USB Ports: 1x USB port
  • Note: The Oculus Quest is a tetherless device but you may choose to purchase Oculus Link cable to connect the Oculus Quest with your PC due to frequent connection timeouts.

System requirement information gathered from: https://circuitstream.com/blog/vr-hardware

Migration Notes

  • This project was developed using PC and Virtual Machine with the following specs:
Machine Name Operating System GPU Processor RAM Hard Disk
Google Cloud Compute Engine Windows Server 2022 1 x NVIDIA T4 Virtual Workstation n1-highcpu-32 (32 vCPU) 28.8 GB 250 GB SSD
Paperspace GPU VM Windows Server 2022 NVIDIA Quadro RTX4000 Intel Xeon Silver 4215R (8 vCPU) 30 GB 250 GB SSD
Desktop PC Windows 10 NVIDIA GeForce RTX 2080Ti AMD Ryzen Threadripper 3960X (24 vCPU) 16 GB 1 TB SSD
  • Currently, the VR Environment can hold a 3D model that is a max of 82 m x 82 m or 8200 uu x 8200 uu. If a larger 3D model needs to be added or if you wish to make the max capacity larger you will need to update these two items.

    image

    Reminder: The model is automatically placed at (0,0,0) so after adjusting the size of these two items you should center them.

  • A tethered headset is always recommended to avoid connection timeouts.

  • All blueprinting was done on SimpleUI and VR Pawn.

  • We used the VR Template Project as a starting point. On the VR Pawn Blueprint Event Graph, everything highlighted in dark gray was taken from the VR Template Project and everything highlighted in white is our work.

  • The images taken from the drone and the .csv file containing must be put into directories /Game/VRTemplate/Blueprints/UI/Images and /Game/VRTemplate/Blueprints/UI/DataTable in order for the 'Create a Claim' function to work properly. Both of these are added automatically you can find the script under the automation repository. Should you choose to change these locations you will need to update that accordingly and the paths in both 'Get Assets by Path' Nodes that are called off of the 'Event BeginPlay' Event Node in the VR Pawn Blueprint Event Graph. image Additionally, you will need to make sure the new directories are cooked in project settings.

    image

Controls

Movement

  • Teleport

    • Move your right motion controller's thumbstick in the direction you want to move. The teleport visualizer will appear in the level to indicate where you will move to.
    • Release the thumbstick to teleport to the selected location.
  • Fly

    • Fly up: Press the right inner grip to teleport up.
    • Fly down: Press the left inner grip to teleport down.
  • Snap Turn

    • To rotate your virtual character without moving your head, move your left motion controller's thumbstick in the direction you want to turn.

Make a Claim

  • Place a Cone
    • Hold down your right motion controller's back trigger in the direction you want to place the cone. The place a cone visualizer appears in the level to indicate where the cone will be placed.
    • Release the trigger to place the cone in the selected location and toggle the UI that displays the closest camera angle.
  • UI
    • After placing a cone, a UI menu will pop up attached to your right motion controller.
    • To click buttons on the UI use the left motion controller laser pointer to hover over the button you wish to press.
    • To press the button click the left motion controller back trigger.