Difference between revisions of "Project1W21"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Submission Instructions)
(Submission Instructions)
Line 57: Line 57:
 
To create the video you don't need to use video editing software.  
 
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. Alternatives below.
+
* On any platform, you should be able to use Zoom to record a video.
* For Windows the free [https://obsproject.com/ OBS Studio] is very good.
+
* For Windows:
 +
** [https://www.laptopmag.com/amp/articles/how-to-video-screen-capture-windows-10 Windows 10 has a built-in screen recorder]
 +
** If that doesn't work, the free [https://obsproject.com/ OBS Studio] is very good.
 
* On Macs you can use Quicktime.
 
* On Macs you can use Quicktime.
  

Revision as of 11:52, 9 January 2021

Contents

Homework Assignment 1: Social Distancing

Prerequisites:

  • Windows or Mac PC
  • Unity
  • No VR equipment is required

Learning objectives:

  • Setting up Unity projects for 3D applications
  • Using the Unity editor
  • Building a 3D scene
  • Creating a real-time interactive application
  • C# scripts
  • Publish an application: create a Windows executable

Overview:

In this project you are going to need to implement a simple game on social distancing. A deadly disease (much deadlier than COVID-19) has spread throughout the world and kills anyone who is within less than 6 feet from an infected person that is not wearing a mask. The game is played in first person view. People randomly spawn in front of the player, walking slowly towards them. The player's goal is to stare at them long enough for them to get reminded to put their mask on. If the person does not put their mask on before they get within 6 feet from the player, the player gets infected and loses the game.

We are going to give an introduction to this project in discussion on January 11th at 4pm. The due date for the project is Sunday, January 24th at 11:59pm.

Building the 3D Scene

The only visible elements of your scene are going to be the infected people that are approaching the player, and the masks they put on when the player is successful at staring at them.

Choose a 3D model from the Unity asset store that represents an infected person. Also choose a 3D model for a face mask that you can put on the infected person. You may have to resize both to match your application's scale.

Create a collision box where the infected person's head is.

Position the player in the scene so that the player is facing the spawn points (see schematic below).

Project1-schematic.jpg

Gameplay

  • Start a timer to keep track of how long the player survives.
  • Every few seconds, spawn a new infected person in one of the two spawn points (randomly selected).
  • Have the infected person walk slowly along their walking trajectory.
  • Draw a cursor in the center of the screen, indicating the player's viewing direction.
  • Allow the player to turn their head (i.e., the camera) with the mouse: support both left/right rotation and up/down tilt of the camera.
  • Change the color or shape of the cursor when it intersects an infected person's head. At this point also start a 2 second timer. You don't need to display the timer.
  • Once the 2 second timer is up, render a mask on top of the person's face.
  • Detect when each infected person gets within 6 feet from the player. If the person is not wearing a mask at this point, stop the game and display text such as: "You Survived <n> seconds." Show this message for a few seconds, then restart the game.
  • Let the person keep walking until the de-spawn point.
  • Tweak the game parameters to make the game hard enough to be a challenge, but not too hard to be frustrating.

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

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

If you can't make any screen recorder work, just hold your phone in front of the screen and record with a steady hand.

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 a Windows .EXE file or the Mac equivalent and upload it to Canvas as well.
  • Source code: upload your Unity project to the Classroom Github we gave you the link to. Make sure you use the .gitignore file for Unity so that only project sources are uploaded.

Extra Credit

  • Add a Skybox to your scene. You are free to use textures of your own choice.

More options to come. If you have your own ideas for extra credit, run them by us.