11/10/09

Into the Great Beyond: Bouncing a Few Balls in Maya

Well, it's finally here! The time when we finally get to jump into the 3D realm and into (da da da daaaaaa) Autodesk Maya! Now I just have to figure out what to do with a whole ream of left over animation paper...

Maya is considered the industry standard 3D animation and modeling program for entertainment. There are other ones such as 3D Studio Max, SoftImage, Cinema 4D (my personal favorite), and Lightwave 3D, but pretty much all of them do about the same thing, just in different ways. I haven't ever used Maya before, but most of these applications are pretty much the same in their approach. That being said, the user interface for Maya is a ton more daunting to look at than anything I've ever done before:

Are you scared? Because I was petrified the first time I opened it up on my computer! However, after a few helpful tips, I was on my way to working on my first assignment. The first thing we were to work on was a 3D version of our previous assignment of two bouncing balls with different weights. This time, both balls had to be in the same scene, but the principles were the same.

One way to animate this would be the same way I did the stop motion animation, one frame at a time. The thing to remember about computer animation is that it is all on ones, 24 frames per second! I like to think of the computer as a big, expensive pencil. It can't think for itself (although it can run simulations...), so you have to do the thinking and use it to do what you want it to. However, I don't want to animate on ones ever again if I can help it. That's where the wonderful magic of the graph editor comes into play:

The first time calculus actually made sense is when I opened up one of these in Cinema 4D. This allows visual and mathematical control over all of your animations. In the above image, you can see that I have a graphical representation of the position of the smaller ball in Y-Space (the up and down direction) in relation to the origin. There are little tiny yellow dots, called 'keys', which are essentially your saved positions in time. The white line represents the transition from one key to another. You can adjust the little handles off the keys to change the slope of the transition. The steeper the slope, the faster an object will change in value; in this case it will affect the velocity up or down. In this case, I want the ball to continually bounce until the end of the animation, slowly losing energy after every bounce.

I'm so glad that I had a background in this area, because it made all the difference in the world in the end. One of the great things about computer animation in general is that your playback is instantaneous. You can immediately see the results of your work without having to set up and shoot all the frames in a sequence. The edits are just as fast as well! Don't like how a key looks? Just move it or type in a new value! It's that easy! Here is a quick preview of what it looks like in the animation editor:

video

Not too pretty, but you get the idea of the motion. Most animators won't see their work during production get past this stage because there are a lot more steps to get it textured, lit, and rendered out. Computer hardware has progressed fairly far to date, even to the point where you can get a general idea of what the textures and shadows will look like once something is rendered. Here is an example of what the above scene looks like with hardware accelerated textures and shadows:

video

It's getting a little better then. You can see if the balls cast strange shadows or not or tell if a texture looks kind of funky. This is about the level that most video games render to in real time, although things are advancing at a rapid rate.

video

The final step is to render it all out with full shadows, textures, and motion blur. This is one of the last steps in the pipeline and for a typical feature film, one frame can take from 24 to 48 hours to fully render. (So you can see why they want to get things right the first time!) I don't have to take things to this level for this class since we want to focus just on motion, but I'm an overachiever! I'm starting to get the hang of a few things in Maya, but I already know that I've got a lot to learn...

No comments: