Difference between revisions of "Project4W21"
(→Concept) |
(→Concept) |
||
Line 33: | Line 33: | ||
Implement the following features: | Implement the following features: | ||
− | * A radial menu to select the | + | * A radial menu to select the type of block to create. |
− | * A stationary menu on the desk to change color and size of | + | * A stationary menu on the desk to change color and size of an object, as well as control gravity. |
− | * The ability to move the blocks around with the controller | + | * The ability to move the blocks around with the controller. |
==Components== | ==Components== |
Revision as of 12:22, 22 February 2021
Contents |
Homework Assignment 4: Building Blocks
THE PROJECT IS UNDER CONSTRUCTION AND WILL BE RELEASED BY DISCUSSION ON 2/22
Prerequisites:
- Windows or Mac PC
- Unity
- GitHub Repo (accept from GitHub Classroom link)
- VR headset with two 3D-tracked controllers, such as the Oculus Quest 2, Rift (S), Vive, etc.
Learning objectives:
- 3D menu interaction
- Radial menus
- Hand-centered menus
- Room-centered menus
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 to create building blocks of different shapes and colors and allow the user to play with them.
All interaction (except otherwise noted) has to be done with the VR system (headset and controllers). The user is not allowed to use keyboard or mouse.
We will give an introduction to this project in discussion on Monday, February 22nd at 4pm.
Concept
Create an application to allow the user to spawn 3D building blocks with a 3D menu and build structures with the blocks. Gravity should be part of your application. The user is assumed to be in a seated position when the application starts, as well as throughout the application.
Implement the following features:
- A radial menu to select the type of block to create.
- A stationary menu on the desk to change color and size of an object, as well as control gravity.
- The ability to move the blocks around with the controller.
Components
- Create a large rectangle to serve as a table surface to put the building blocks on. Place it at the height of a typical desk and right in front of the user in the VR space.
- Use the Virtual Hand interaction method for all interactions with the application. You can re-use your code from project 3.
Notes:
- You do not need to implement any travel method for the user. But all 3D components of the software should be set up so that they can be comfortably reached from a seated position.
Extra Credit (10 Points)
You can choose between the following options for a maximum of 10 points of extra credit.
- Add sound effects to your application
Submission Instructions
Once you are done implementing the project, record a video demonstrating all the functionality you have implemented by using the menu to create various building blocks and place them on the table or on other blocks.
The video should be no longer than 5 minutes, and can be substantially shorter. The video format should ideally be MP4, but any other format the graders can view will also work.
While recording the video, record your voice explaining what aspects of the project requirements are covered. Record the video off the screen while you are wearing the VR headset.
To create the video you don't need to use video editing software.
- On any platform, you should be able to use Zoom to record a video.
- For Windows:
- Windows 10 has a built-in screen recorder
- If that doesn't work, the free OBS Studio is very good.
- On Macs you can use Quicktime.
Components of your submission:
- Video: Upload the video at the Assignment link on Canvas. Also add a text comment stating which functionality you have or have not implemented and what extra credit you have implemented. If you couldn't implement something in its entirety, please state which parts you did implement and expect to get points for.
- Example 1: I've done the base project with no issues. No extra credit.
- Example 2: Everything works except an issue with x: I couldn't get y to work properly.
- Example 3: Sections 1, 2 and 4 are fully implemented.
- Example 4: The base project is complete and I did z for extra credit.
- Executable: Build your Unity project into an Android .apk, Windows .exe file or the Mac equivalent and upload it to Canvas as zip file.
- Source code: Upload your Unity project to GitHub: either use the Unity repository initialized from GitHub Classroom or any GitHub repository that you might set up on your own. Make sure you use the .gitignore file for Unity that is included in the repo so that only project sources are uploaded (the .gitignore file goes in the root folder of your project). Then submit the GitHub link to Gradescope by using 'Submission Method: GitHub', along with your Repository link and the respective GitHub branch. (Note: GitHub Classroom is only for starter code distribution, not for grading. Since we don't have any starter code for HW1, you can set up your own repo with Unity .gitignore file we provided and submit to Gradescope too.)
In Summary, submit to Canvas with 1. Video and 2. Zipped Executable files (.exe, .dll, .apk, etc.), and submit to Gradescope with 3. Source Code.