Project1W21

From Immersive Visualization Lab Wiki
Revision as of 11:26, 9 January 2021 by Jschulze (Talk | contribs)

Jump to: navigation, search

Contents

Homework Assignment 1: Social Distancing

UNDER CONSTRUCTION - EXPECTED TO BE DONE BY NOON on 1/9

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.

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."
  • 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.

  • For Windows users we recommend the free OBS Studio.
  • On Macs you can use Quicktime to record off the screen.

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.