Syllabus

1. INTRODUCTION TO VR:
What is virtual reality
Modern VR experiences
History

2. OVERVIEW:
Hardware
Software
Human physiology and perception

3. VISUAL PERCEPTION:
Perception of depth
Perception of motion
Perception of colour
Combining sources of information

3. Introduction to Unity:
The Game View
Honorable Mention: The Toolbar
Navigating the Unity Scene View
The Hand Tool
Flythrough Mode

4. Game Objects:
Dimensions and Coordinate Systems
Putting the D in 3D
Using Coordinate Systems
World Versus Local Coordinates
Transforms Translation
Rotation
Scaling
Hazards of Transformations
Transforms and Nested Objects

5. Models, Materials, and Textures:
The Basics of Models
Built-In 3D Objects
Importing Models
Models and the Asset Store
Textures, Shaders, and Materials
Textures
Shaders
Materials
Shaders Revisited

6. 3D Terrain:
Terrain Generation
Adding Terrain to Your Project
Heightmap Sculpting
Unity Terrain Sculpting Tools
Terrain Textures
Importing Terrain Assets
Texturing Terrain

7. Environments:
Generating Trees and Grass
Painting Trees
Painting Grass
Terrain Settings
Environment Effects
Skyboxes
Fog
Lens Flares
Water

8. Character Controllers
Adding a Character Controller
Fixing Your World
Lights and Cameras
Lights
Point Lights
Spotlights
Directional Lights
Creating Lights Out of Objects
Halos
Cookies
Cameras
Anatomy of a Camera
Multiple Cameras
Split Screen and Picture in Picture
Layers
Working with Layers
Using Layers

Game 1: Amazing Racer:
Design
The Concept
The Rules
The Requirements
Creating the Game World
Sculpting the World
Adding the Environment
The Character Controller
Gamification
Adding Game Control Objects
Adding Scripts
Connecting the Scripts Together

9. Collision:
Rigidbodies
Collision
Colliders
Physics Materials
Triggers
Raycasting

10. Prefabs:
Prefab Basics
Prefab Terminology
Prefab Structure
Working with Prefabs
Adding a Prefab Instance to a Scene
Inheritance
Instantiating Prefabs Through Code

11. User Interfaces:
Basic UI Principles
The Canvas
The Rect Transform
Anchors
Additional Canvas Components
UI Elements
Images
Text
Buttons
Canvas Render Modes
Screen-Space Overlay
Screen-Space Camera
World Space

12. Particle Systems:
Particles
Unity Particle Systems
Particle System Controls
Default Module
Emission Module
Shape Module
Velocity over Lifetime Module
Limit Velocity over Lifetime Module o Force over

13. Lifetime Module:
Color over Lifetime Module o Color by Speed Module
Size over Lifetime Module
Size by Speed Module
Rotation over Lifetime Module
Rotation by Speed Module o External Forces

14. Module:
Collision Module
Sub Emitter Module
Texture Sheet Module o Renderer Module
The Curve Editor

15. Animations:
Animation Basics
The Rig
The Animation
Animation Types
Creating the Animation
Animation Tools
Animation Window
Creating a New Animation
Record Mode
The Curves Editor
Animators
Animator Basics
Rigging Revisited
Importing a Model
Configuring Your Assets
Rig Preparation
Animation Preparation
Creating an Animator
The Animator View
The Idle Animation
Parameters
States and Blend Trees
Transitions
Scripting Animators

16. Audio:
Audio Basics
Parts of Audio
2D and 3D Audio
Audio Sources
Importing Audio Clips
Testing Audio in the Scene View
3D Audio
2D Audio
Audio Scripting
Starting and Stopping Audio
Changing Audio Clips

17. Game Coin Collection:
Design
The Concept
The Rules
The Requirements
The Arena
Creating the Arena
Texturing
Finish the Arena
Game Entities
The Player
Coins
The Colored Coins
The Control Objects
The Goals
The Game Controller
Improving the Game

18. Publish and Deploy:
Managing Scenes
Establishing Scene Order
Switching Scenes
Persisting Data and Objects
Keeping Objects
Saving Data
Unity Player Settings
Cross-Platform Settings
Per-Platform Settings
Building Your Game
Build Settings

19. VR Projects Examples:
Ray cast and Gaze control
Using AI Third Person Controller
Working with UI
Working with VR Sample Assets

20. Unity Integration with VR (OCULUS RIFT):
Introduction to oculus rift
Rendering the field of view
The oculus sdk and rift interaction
Integrating oculus unity integration package