CS838-1 Spring 2000

Project 1: An Animated Production!

Last modified: 18:42 Mar 3, 2000

WARNING: this is an evolving document!
Please check for updates often!

Update: March 3, 2000: A Page describing the deliverables has been added.

Project Due Date: Tuesday, March 7, 2000

Note: there will be various "checkpoints" along the way

A "hints" page (describing how to get started writing Maya plugins) will be available real soon.

Overview:

The goal of this project is to give you a feel for what it is like to produce an animation at a pretty large scale, and to give you the experience of developing tools to support such an effort, and to see what it is like to collaborate in such a task.

In this project you will:

  1. Design and create a character to animate
  2. Develop software to support the animation of the character as a plug-in to Maya
  3. Use someone else's software to animate a character
  4. Create a film

The most important thing is that you actually do each of these steps. For example, it is important that you do write a Maya plug-in, even if the plug-in you write duplicates existing features. While this may not be cost-effective if you were doing a commercial production, the primary goal here is pedagogy.

Project Structure:

Animations are to be created by teams of 4 people. However, we are requiring a specific division of labor: the team of 4 is really 2 groups of 2. (note: because there are 22 students in the class, one team will have 3 groups of 2). The 4 people on your team may not be the same people as your reading group. For some tips on working in a group, check this.

Each team will produce an animation. While there are no hard limits on the minimum or maximum, we expect that everyone will produce "enough" animation to show off what they've done (and maybe even tell a story!).

Each animation will have 2 (or 3, for the one large team) "key" characters. Each character will be "developed" by one of the groups of 2 people, and then "animated" by another group (on the same team). The entire team will then coordinate in the production of the final animation (making scenery, lighting, ...). The team should work together at the begining to plan the animation as well.

The developers of the character is in charge of design (both deciding how the character will look and how it will move) and modeling (the creation of the geometry for the character and writing plugins that "drive" the character).

For each character, at least one Maya plug-in must be written. (therefore, each group of 2 people will be writing a Maya plug-in). Also, at least some aspect of the character's motion must be computed algorithmically. (Note: you can do the algorithmic animation using some other means, such as a script, and write a plugin for some other aspect of the character, such as its appearance).

For each character, the developers must deliver: (this will be part of the final hand-in):

The character must be complex enough to be "expressive." It has to do something. Some combination of locomote, show emotion, ... Remember from Disney films, just about any object can be brought to life. A sack of flour can be made quite expressive in the right hands!

Of course, you could have more character, and do a full development for each. But be careful: while we want you to attempt aggressive projects, we also want you to finish (and maybe even get some sleep:-)!

Some Suggestions for Characters / Plug-Ins:

For each of these, the plug-in would generate the motion. Ideally, you could set up the character's path, then ask the plug-in to generate the details of the motion (as one computation step). We will be providing a tutorial on writing plugins (soon).

We are preparing a web page tutorial on writing Maya plugins. It should be available soon.

One "cheat" way to write a more aggressive plugin is to write the real guts as a stand-alone program, and then write a plug in that reads the data and applies it. For example, you might write a simulator stand alone. In fact, you could have your stand alone simulator get its data into Maya some other way (like generating MEL scripts), and do something else for your plugin. You do have to make a plugin.

Evaluation

This project does count for your grade in this course.

Because this is not an art class, we will not be grading you on your artistic skills. However, it is difficult to decouple the "artistic" merit of the piece. In general, it is more important to try to pick something reasonably ambitious and to actually implement this.

Our goal is to grade you on your success in doing the four objectives in the overview. Therefore, it is important that you adhere to the "spirit" of the assignment. Yes, you might be able to cheat the rules somehow, but you will get less out of the assignment (and we will do some things that will try to tell how well you follow the rules so you may get penalized).

We will be looking to see that you actually create a plug-in that does something useful, and that you are able to use the plug-ins created by someone else.

To make sure that you are making reasonable progress on this project, there will be a series of "checkpoints." For each checkpoint that you fail to make, we may deduct a half letter grade from your project grade.

Independent of grading, we will have a "film festival" of the final pieces that will be juried. Prizes will be awarded to the best animation(s). The members of the jury and the prizes will be determined at a later date. The juries comments and selections will not have any effect on the grading.

Checkpoints

Checkpoint 1 (2/15/00): pick a team. One member of your team must send email to gleicher@cs.wisc.edu saying who is on your team, and how your team will be grouped.

Checkpoint 2 (2/22/00): pick a character. Each group must send a description of the character you plan on implementing. Please say what plug-ins you plan on writing.

Checkpoint 3 (2/29/00): plug-in test. Each group must meet with the TA and demonstrate their plug-in. Note: the plug-in will not be evaluated, so it doesn't need to be done. However, we will be checking to make sure you have made "enough" progress. Note: because the demo must be done before the end of the day on the 29th, you should schedule a time beforehand.

Checkpoint 4 (2/29/00) resource requirements: creating an animation typically demands a lot of computing resources (both cycles to render and disk space to store images). We will work with you to make sure you have what you need. Please send email to the instructor stating how much disk space you need, and an explanation of how much computing you will need to do to render your frames.

The Deliverables

We are explicitly not placing minimum or maximum lengths on your films. Your film should be long enough to show something, but not so long that you can't complete it. My guess is 30 seconds to a minute.

We will give you more specifics as to the final form of you animatiuon as time grows near. We will ask for both a "web version" (a small, highly compressed version of the animation) and a "big" version (prepared so we can write it out to video tape).

If you are interested in adding audio, we will help you use Premiere to do it.

You will be required to hand-in all of your Maya files, including your objects, scenes, animations, and scripts, as well as any code that you write. The exact details of what and how to hand in will be made available later.