ProjectS22

From Immersive Visualization Lab Wiki
Jump to: navigation, search

Contents

VR Project

Prerequisites:

  • Windows or Mac PC
  • Unity
  • VR headset with at least one 3D-tracked controller, such as the Oculus Quest 2, Rift (S), Vive, etc.

Recommended:

Summary

For this assignment you can obtain 100 points, plus up to 10 points of extra credit.

The goal of this assignment is to create a VR application, which includes specific technical features, but can otherwise be anything you'd like.

All interaction has to be done through the VR system (headset and controllers). The user is not allowed to use keyboard or mouse while the VR app is running.

Getting Unity ready for VR

To enable Oculus VR support in Unity, use the Oculus Integration package from the Unity Asset Store. For SteamVR-compatible devices, there is a separate Unity asset. For other VR systems there should also be assets available. Contact us if you can't make your headset work.

Required technical features

Your application has to include the following technical features:

  • A skybox to provide a background for your application. (15 points)
  • Colliders: create colliders for at least two objects and enable collision detection so that they can't penetrate each other. (15 points)
  • Highlighting: when selecting an object to move or otherwise interact with it, highlight it. This can be done in many different ways, for instance with a wireframe box around it, a glow around it, a change of color, or by making the object pulsate or blink. (15 points)
  • Physics engine: use physics for something. This could simply be gravity pulling floating objects to the ground. (15 points)
  • Move objects: the user has to be able to move at least one object by ray-casting with the controller: a ray emanates from the controller; if it intersects an object when the grab button is pressed, the object is 'skewered' and stays on the pointer ray until the button is released. (15 points)
  • Move the user: the user should move in the direction of the controller ray when the trigger button is pressed. The motion can be freely in 3D, locked to the ground, or constrained in some other way, depending on the app's circumstances. (15 points)
  • Sound effects: there needs to be at least one thing in the app that generates a sound. Background music satisfies this required, as well as a click type sound when the user presses a button, but many other options are possible. (10 points)

If it doesn't make sense for your application to include one or more of the above features, please contact the instructor to discuss alternative features to substitute those.

If you go above and beyond the above requirements, you can get up to 10 points of extra credit, depending on the amount of extra programming, visual quality, app concept, etc.

Example

A VR app which can help with the furniture layout in UCSD's VR lab. The 3D application puts the user in a 3D model of the VR lab at 1:1 scale (i.e., life size). This ZIP file contains the room, as well as the furniture needed.

Vr-lab.jpg

  • Set up the room and place the user roughly in the center of it. You can choose to put some furniture in the space to make it look less empty.
  • Create a way to spawn new pieces of furniture.
  • Enable collision detection and physics in Unity and give the furniture as well as the room proper physics properties as well as colliders.
  • Implement ray-casting to move furniture.

Tips

Submission Instructions

Once you are done implementing the project, record a video demonstrating all the functionality you have implemented.

The video should be no longer than 5 minutes. The video format should ideally be MP4, but any other standard format will also work.

While recording the video, record your voice explaining what aspects of the project requirements are covered. Record the video off the action in the VR headset.

To create the video you don't need to use video editing software.