Difference between revisions of "Project2W18"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Created page with "=Homework Assignment 2: VR Classroom Design Tool= For this assignment you can obtain 100 points, plus up to 10 points of extra credit. The goal of this assignment is to crea...")
 
(The Project (100 Points))
Line 31: Line 31:
 
2. Allow the spawning of the following items: desks, chairs, locker cabinets, storage cabinets, and TVs on stands. You are free to offer more object types than those. (10 points)
 
2. Allow the spawning of the following items: desks, chairs, locker cabinets, storage cabinets, and TVs on stands. You are free to offer more object types than those. (10 points)
  
3. Implement an interaction technique to select any one of the items in the room (5 points) and move it to a new location (5 points). Allow rotations of the furniture objects (5 points). All furniture must sit on the floor once placed (5 points). See Notes below for a list of the interaction techniques we covered in class.
+
3. Implement an interaction technique to select any one of the items in the room (5 points) and move it to a new location (5 points). Allow rotations of the furniture objects (5 points). See Notes below for a list of the interaction techniques we covered in class.
  
 
4. Implement an alternative interaction technique to item #3 and allow switching between them to compare them to one another. Example: If you implemented a ray casting approach in part 3, implement a different method like the Go-Go technique here. (20 points, broken down like in #3)
 
4. Implement an alternative interaction technique to item #3 and allow switching between them to compare them to one another. Example: If you implemented a ray casting approach in part 3, implement a different method like the Go-Go technique here. (20 points, broken down like in #3)
  
5. Create a method to select any number of objects to group them together (5 points), highlight the selected items (5 points), then allow moving the group as a whole (5 points).  
+
5. Enforce that furniture can't intersect with other furniture or the room, has to sit on the floor once placed, or on top of other furniture (i.e., furniture can't float in space and can't penetrate the floor).
  
6. Measurement tool: create a virtual tape measure tool which can measure the distance (in a physical unit like inches or centimeters) between any two points in the space the user clicks on, and will display the distance numerically. (15 points)
+
6. Create a method to select any number of objects to group them together (5 points), highlight the selected items (5 points), then allow moving the group as a whole (5 points).
  
7. When demoing to your grader, create a room design with 26 desks, at least 30 lockers and two storage cabinets, that is different than the current layout. (10 points)
+
7. Add copy-paste methods for individual furniture objects, as well as groups. (10 points)
 +
 
 +
8. Measurement tool: create a virtual tape measure tool which can measure the distance (in a physical unit like inches or centimeters) between any two points in the space the user clicks on, and will display the distance numerically. (15 points)
 +
 
 +
9. When demoing to your grader, create a room design with 26 desks, at least 30 lockers and two storage cabinets, that is different than the current layout. (10 points)
  
  
 
'''Notes:'''
 
'''Notes:'''
* In class we covered the following interaction techniques: ray casting, two-handed pointing, flashlight, image plane methods, virtual hand, go-go hand, world-in-miniature, scaled-world grab, voodoo doll.
+
* In class we covered the following interaction techniques: ray casting, two-handed pointing, flashlight, image plane methods, virtual hand, go-go hand, world-in-miniature, voodoo doll.
  
 
==Extra Credit (10 Points)==
 
==Extra Credit (10 Points)==

Revision as of 16:58, 26 January 2018

Contents

Homework Assignment 2: VR Classroom Design Tool

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 3D application which can help with the design of a VR classroom.

This assignment is due on Friday, February 9th at 2:00pm.

The assignment is to be done in teams of two, and involves programming an Oculus Rift head mounted display with Oculus Touch controllers. Unless you have your own VR equipment, you should do the project in the VR lab, room B210.

This project will be discussed on Monday, January 29th, and also on February 5th.

You can choose to do this project in Unity 3D, UE4, Lumberyard or C++ with OpenGL and optionally OpenSceneGraph.

Unity 3D

To enable Touch controller support in Unity, this video can be useful.

Note that if you use Unity you aren't allowed to use any Unity assets other than 3D models and textures without explicit permission by a course staff member.

The Project (100 Points)

In this project, the only permitted interaction devices are the Oculus Rift HMD and the two Touch controllers. Keyboard, mouse and other input devices cannot be used once the application runs.

Imagine that you have been tasked with re-designing the VR lab in room B210. Write a 3D application which loads the 3D model of the lab and displays it at 1:1 scale. This ZIP file contains the room, as well as the furniture needed for this project. Feel free to use these assets, or other furniture that resembles what we have in the VR lab.

Vr-lab.jpg

1. Put the user in the lab and provide functionality to teleport from one location to another. To teleport, the user points with one of the Touch controllers to a new location on the floor, to which the camera then switches by moving the user laterally to the new location. (10 points)

2. Allow the spawning of the following items: desks, chairs, locker cabinets, storage cabinets, and TVs on stands. You are free to offer more object types than those. (10 points)

3. Implement an interaction technique to select any one of the items in the room (5 points) and move it to a new location (5 points). Allow rotations of the furniture objects (5 points). See Notes below for a list of the interaction techniques we covered in class.

4. Implement an alternative interaction technique to item #3 and allow switching between them to compare them to one another. Example: If you implemented a ray casting approach in part 3, implement a different method like the Go-Go technique here. (20 points, broken down like in #3)

5. Enforce that furniture can't intersect with other furniture or the room, has to sit on the floor once placed, or on top of other furniture (i.e., furniture can't float in space and can't penetrate the floor).

6. Create a method to select any number of objects to group them together (5 points), highlight the selected items (5 points), then allow moving the group as a whole (5 points).

7. Add copy-paste methods for individual furniture objects, as well as groups. (10 points)

8. Measurement tool: create a virtual tape measure tool which can measure the distance (in a physical unit like inches or centimeters) between any two points in the space the user clicks on, and will display the distance numerically. (15 points)

9. When demoing to your grader, create a room design with 26 desks, at least 30 lockers and two storage cabinets, that is different than the current layout. (10 points)


Notes:

  • In class we covered the following interaction techniques: ray casting, two-handed pointing, flashlight, image plane methods, virtual hand, go-go hand, world-in-miniature, voodoo doll.

Extra Credit (10 Points)

There are three options for extra credit.

1. Create 'save' and 'load' functions to store the furniture configuration on disk and retrieve it at a later point. Group information does not need to get saved. (4 points)

2. Add an interaction mode for two-handed scaling. When active, the user can gradually scale up or down the entire room with all the furniture to work on a global scale (by scaling down) or to work more accurately (by scaling up). Add a function to reset to the initial 1:1 scale. (4 points)

3. Video: Like in project 1, create a ~1 minute video of your application, make it available on Youtube, and show it to the graders on grading day. (2 points)