Difference between revisions of "Project3S20"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Homework Project 3: Coronavirus-Themed AR App)
Line 5: Line 5:
 
* [https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html ARKit]
 
* [https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html ARKit]
  
'''THIS PAGE IS UNDER CONSTRUCTION'''
+
'''THIS PAGE IS UNDER CONSTRUCTION, DO NOT START YET'''
  
Your application needs to use Unity's [https://unity.com/unity/features/arfoundation ARFoundation]
+
'''Due Date: Sun, May 31 @ 11:59 PST'''
  
theme: make a Coronavirus themed AR application
+
In this project, you will be building and creating a Coronavirus themed AR application with Unity's [https://unity.com/unity/features/arfoundation ARFoundation] and C#.
 +
 
 +
This time, we are providing you with an unfinished reference project that builds into a simple defense game. However, you are free to build any application you wish so long as it fulfills the core technical requirements (explained below).
 +
 
 +
==Milestones==
 +
 
 +
* Week 1: Students should have installed the required version of Unity and set up any tools required.
 +
* Week 2: Students should have imported the original project or have created their own and be working on implementing features.
 +
* Week 3: Students should be finishing up and testing their final applications.
 +
 
 +
==Project Description (100 Points)==
 +
 
 +
Using Unity and AR Foundation Framework, you will be building a mobile based AR application that can run on your phone. In the base project, you will be completing the starter project that is provided. But you may also take your own approach and create a different application as long as it meets the following technical requirements.
 +
 
 +
Technical Requirements:
 +
 
 +
# '''AR App (20 Points)''' Create an application that supports AR and runs on your phone. You will need to import the AR Foundation and ARCore/ARKit packages and set up your scene for AR.
 +
 
 +
# '''Plane/Point Detection and Interaction (15 Points)''' Using AR Foundation, you will need to detect either features points or planes and use them for your application. The planes can be either horizontal or vertical. Your application will need to use this data in some way such as for object placement or reference points.
 +
 
 +
# '''Object Placement (15 Points)''' Implement the functionality to place virtual objects in real world space. These may be relative to the camera or using your detection from the previous step.
 +
 
 +
# '''Collision Physics (15 Points)''' Add collision physics to your objects so they can interact with each other.
 +
 
 +
# '''Room Space Interaction (15 Points)''' Enable your physics bound objects to interact with the real world as well. You can add colliders to locations where real objects are once you’ve detected them.
 +
 
 +
# '''Custom Objects (10 Points)''' Import or create a custom object to use in your scene. This can be as simple as a textured cube or as complex as an animated model.
 +
 
 +
# '''Coronavirus Theme (10 Points)''' The theme of your project must be related in some way to the current pandemic. This is for us to keep the overall range of applications in a more focused view.
 +
 
 +
Starter Project Fulfillment
 +
 
 +
# '''AR App''' The application is running on the phone and using the camera for AR.
 +
# '''Plane/Point Detection and Interaction''' Upon setup on the scene, it detects planes, displays them, and shows a placement indicator using the plane detection.
 +
# '''Object Placement''' The application places boundary markers that indicate the position the user has chosen.
 +
# '''Collision Physics''' The enemy and projectile objects can hit and bounce off each other.
 +
# '''Room Space Interaction''' When an enemy has been defeated, it falls to the ground and rolls around. The projectiles can also bounce off the ground.
 +
# '''Custom Objects''' Not shown in the demo video, but the cube used in the placement can be replaced with anything.
 +
# '''Coronavirus Theme''' The gameplay focuses on “cleaning up” viruses before they reach the player with soap projectiles.
  
requirements:
 
  
 
* identify horizontal or vertical plane (table, floor, wall, etc)
 
* identify horizontal or vertical plane (table, floor, wall, etc)

Revision as of 15:52, 10 May 2020

Homework Project 3: Coronavirus-Themed AR App

You will need an AR compatible smartphone for this project. Compatibility lists at:

THIS PAGE IS UNDER CONSTRUCTION, DO NOT START YET

Due Date: Sun, May 31 @ 11:59 PST

In this project, you will be building and creating a Coronavirus themed AR application with Unity's ARFoundation and C#.

This time, we are providing you with an unfinished reference project that builds into a simple defense game. However, you are free to build any application you wish so long as it fulfills the core technical requirements (explained below).

Milestones

  • Week 1: Students should have installed the required version of Unity and set up any tools required.
  • Week 2: Students should have imported the original project or have created their own and be working on implementing features.
  • Week 3: Students should be finishing up and testing their final applications.

Project Description (100 Points)

Using Unity and AR Foundation Framework, you will be building a mobile based AR application that can run on your phone. In the base project, you will be completing the starter project that is provided. But you may also take your own approach and create a different application as long as it meets the following technical requirements.

Technical Requirements:

  1. AR App (20 Points) Create an application that supports AR and runs on your phone. You will need to import the AR Foundation and ARCore/ARKit packages and set up your scene for AR.
  1. Plane/Point Detection and Interaction (15 Points) Using AR Foundation, you will need to detect either features points or planes and use them for your application. The planes can be either horizontal or vertical. Your application will need to use this data in some way such as for object placement or reference points.
  1. Object Placement (15 Points) Implement the functionality to place virtual objects in real world space. These may be relative to the camera or using your detection from the previous step.
  1. Collision Physics (15 Points) Add collision physics to your objects so they can interact with each other.
  1. Room Space Interaction (15 Points) Enable your physics bound objects to interact with the real world as well. You can add colliders to locations where real objects are once you’ve detected them.
  1. Custom Objects (10 Points) Import or create a custom object to use in your scene. This can be as simple as a textured cube or as complex as an animated model.
  1. Coronavirus Theme (10 Points) The theme of your project must be related in some way to the current pandemic. This is for us to keep the overall range of applications in a more focused view.

Starter Project Fulfillment

  1. AR App The application is running on the phone and using the camera for AR.
  2. Plane/Point Detection and Interaction Upon setup on the scene, it detects planes, displays them, and shows a placement indicator using the plane detection.
  3. Object Placement The application places boundary markers that indicate the position the user has chosen.
  4. Collision Physics The enemy and projectile objects can hit and bounce off each other.
  5. Room Space Interaction When an enemy has been defeated, it falls to the ground and rolls around. The projectiles can also bounce off the ground.
  6. Custom Objects Not shown in the demo video, but the cube used in the placement can be replaced with anything.
  7. Coronavirus Theme The gameplay focuses on “cleaning up” viruses before they reach the player with soap projectiles.


  • identify horizontal or vertical plane (table, floor, wall, etc)
  • place a custom 3D object on it
  • utilize colliders (for interaction (virtual laser pointer) or physical simulation or other purposes)
  • virtual gaze with screen tap for interaction
  • interaction with virtual object(s) that are anchored in the physical space

Suggestions for custom 3D objects:

  • coronavirus model (scientific or cartoon style)
  • models of wipes, soap bar, syringe, swabs, spray bottle, bucket, mask, face, nose, mouth
  • Coronavirus models on Thingiverse

You can use Meshlab to convert large polygon models to fewer polygons.

submission by video optional: screening of all videos in lecture