Intro to Interactive 3D 
updated 09/06/06

Instructor: Mike Olson
Original Class: Jean-Marc Gauthier
Thursdays:  3:30 - 6PM
Office Hours: Wednesdays, 12PM - 5PM. Please e-mail me to set up an appointment.



Intro to Interactive 3D 

This class addresses the design and creation of 3D environments using Maya for modeling and animation and Virtools for adding interactivity. Students are invited to explore the unique feeling of being immersed in a virtual world by creating new types of user experiences. Attention is given to the use of physical input devices or interaction regimes in the service of creating the user’s feeling of delight in the artificial world. Students with no prior knowledge of 3D and/or programming can use templates (reusable building blocks and behaviors) in order to focus on content rather than coding. Students prepare weekly assignments, midterm and final projects.


Syllabus
Class 1 - 09/07: Introduction to Virtual Spaces and to Immersive Experiences
Lecture
Introductions
Inspirational Oration
Review of Syllabus
Basic 3d Concepts
"Goodbye World"  - a Quick Tour of Maya and Virtools
Lecture Notes
Inspirational Oration
Basic 3D Concepts
Goodbye World
Tutorial
[None this week]
Assignment
Write a statement of interests and objectives

Class 2 - 09/14: Basic Modeling and Textures
Lecture
Navigation in Maya
Basic modeling techniques
    Primitives
    Deformers
    Vertex Manipulation
    Extruding
    Combinations
    Surface Modelling
    Symmetry
Basic Materials and Textures
Imprecations concerning Workflow
Export to Virtools
Basic Virtools Principles
Lecture Notes
Maya Basics

Tutorial
More On Texturing
Assignment
Create 2 3D models with textures in Maya. 
One model can be from a tutorial either from the "Getting Started With Maya Book." 
The other model must be your own creation. Export both of the models to Virtools.
Add a keyboard camera orbit script if you're feeling ambitious. 

Class 3 - 09/21: More Advanced Modeling and Textures:
Lecture
Nurbs vs Poly’s
Mesh sculpting
Procedural textures
3D paint
Paint effects
Terrain Generation
Lecture Notes
Modeling and Textures Part Deux

Tutorial
Air, Water, Land

Assignment
Create a 3D world with terrain or interactive textures.


Class 4 - 09/28: Working With Virtools:

Lecture
Importing Basics
File types: cmo, vmo, nmo, nms
Resource Management
Scene Graph
Level manager
Object Setups
Initial Conditions
Hierarchies
Attributes
Scripts
Program Flow

Paramenters and ParamOps
Loops
Timers
Behavior Graphs
Preferences

Lecture Notes
Fun with Virtools!

Tutorial
Attack of the Clones!

Assignment
(1) Create a simple interactive scene. For example, move something around a terrain, have it interact with some other things
(2) Midterm ideas.

Class 5 - 10/05: Character creation, animation, and interaction

Lecture
Modeling a head and body
Creating a skeleton
The walk cycle
Animation export
Virtools character controller

Lecture Notes
Have Some Character

Tutorial
Other Animation

Assignment
(1) Create a SIMPLE character with skeleton. Animate a basic walk cycle. Hook up to Virtools character controller and walk around your terrain.
(
2) Midterm component tests.


Class 6 - 10/12:  More Advanced Virtools

Lecture
Keep on Floor
Obstacles
Proximity and Collisions
Text Display
Merging Scenes
Scene Management
Messaging
Debugging 1

Lecture Notes
Pulling the Strings

Tutorial
Animania!

Assignment
Midterm Draft

Class 7 - 10/19:  Lights, Camera, Action

Lecture
Types of lights
Other lighting issues
Follow cameras
Path cameras
Transition cameras
Scene narratives

Lecture Notes
Lights, Camera,  Action

Tutorial
Please see Virtools Particle System tutorial:
C:\Program Files\Virtools\Virtools Dev 3.5\Documentation\Tutorials\TutorialText\particles.pdf

Assignment
Complete Midterms

Class 8 - 10/26:  Midterm
Lecture
Midterm presentations, critiques, workshop

Lecture Notes
[]

Tutorial
[]

Assignment
Final Project Spec

Class 9 - 11/02:  Physics vs. Pseudo - Physics

Lecture
The physicalize building block
Gravity
Impulses
Springs
Hinges
Collisions

Lecture Notes
Let's Get Physical

Tutorial
Please see Virtools Physics tutorial: C:\Program Files\Virtools\Virtools Dev 3.5\Documentation\Physics\Physics User's Guide\Start.html


Assignment
Final Project Components


Class 10 - 11/09:  Tricks, Trinkets, Whatnot
Lecture
Devastating Debugging Techniques [DDT]
2D User Interface
Shadows

Lecture Notes
Tricks, Trinkets, Whatnot

Tutorial
[]
Assignment
Final Project Prototype


Class 11 - 11/16:  Sound

Lecture
Playing Wav’s & MP3’s
3D sound localization
Sound analyzer

Lecture Notes
Sound [and Fury!]

Tutorial
[]

Assignment
Final Project Draft


Class 12 - 11/30:  Virtools I/O and Customization
Lecture
Joystick setup
Introduction to the SDK 
[Introduction to VSL]
[P5 Case Study]
[Trackers]
[Voice]

Lecture Notes
Pimp Your World

Tutorial
[]

Assignment
Implement interaction regime for final project, add sounds, etc…


Class 13 - 12/07:  Clinic
Lecture
Individual meetings concerning final projects

Assignment
Complete final projects


Class 14 - 12/14:  This is not the end, it is only just the beginning

Lecture
Final Project Presentations

Assignment
Wreak havoc on the virtual world as newly minted 3d ninjas!
 
 

Assignments

Assignments are to be completed by midnight on Wednesday. Final versions are to be placed on the 3D server in your personal directory in a folder marked “class x” with all associated assets and content. The Maya or Virtools file you want me to examine should be named: [your last name]_class[x]_final.[cmo /mb] . I recommend that you plan to have largely completed your work by Wednesday morning so that any remaining questions or problems can be cleared up during my office hours. Assignments of particular interest will be selected for presentation and discussion in class that week.

 

Projects

Midterm projects are expected to be completed individually. Groups may be formed for final projects bearing in mind that expectations will increase corresponding to group size.

 
Grading