Animation, One Frame at a Time.

Thursday, November 27, 2008

Where's Glago's Guest?

I saw a really cool new Disney animated short at Siggraph this year, called Glago's Guest. That's right, Disney is back in the business of animated shorts, yay! And from the looks of it, in a big way. GG was fantastic, and I couldn't wait to share it with my family. Word was, it would be screening in front of Bolt.

So I took the kids last weekend to see Bolt, and was disappointed to find that Glago was nowhere to be seen! Why Disney, WHY?

Labels: , ,

Saturday, June 14, 2008

The Animator's Survival Kit Animated

I just found out that Richard Williams' amazing book, The Animator's Survival Kit, is going to be released as a 16-DVD box set! This is book is truly one that all animators should read, if not own. If you haven't already, track it down at your local library or bookstore.

My one gripe with the upcoming DVD set is the price -- £596 (around $1200 USD) if you pre-order before November 17th, and £745 (about $1500 USD) thereafter. Why on earth did they price it so far outside the budget of students and hobbyists? As much of a fan I am of the book, I think I'll pass for now. Maybe my local library will buy a copy.

Labels:

Monday, January 21, 2008

Animating a Cut-Out Hole

For my 11 Second Club Entry last November, I decided to build simple character models whose mouths and eyelids were simple cut-outs on NURBS surfaces.

Right off the bat, you're probably asking yourself, why on earth would you want to create such a character rig? Why not use blend shapes or bones to deform a proper edgeloop model?

My answer, in a word, is simplification. The 11 Second Club organizers strongly recommend that you use of of the freely available, pre-built rigs, so that you can spend the majority of your time focusing on animation -- and rightly so! But I had a fun story concept that demanded specific character models, and I knew that the only way I'd be able to complete this project on time, with only nights and weekends at my disposal, was to simplify.

So here's a basic tutorial for those who want to try this at home...

Let's start by setting up the basic model and cut-out.

1. Create a NURBS cylinder
2. Make the cylinder live (Modify > Make Live)
3. Use the CV Curve Tool (making sure that it's set to cubic, for a smooth opening) to draw a curve on the surface of the cylinder, taking care to place the curve on the side opposite the seam.
4. Close the curve (Edit Curves > Open/Close Curves)
5. Make the cylinder not live (Modify > Make Not Live)
6. Open the Trim Tool settings (Edit NURBS > Trim Tool [ ]). Under Standard Options, check Keep original. Then, using the Trim Tool, select a point on the back of the cylinder. Important: make sure the point you select is as far away from your cut-out shape as possible! (More on this later.) Press Enter to confirm.



Congratulations! You now have a hole in your cylinder!

So, um... now what?

Well, there's not much point in all this unless we can animate the shape of that hole. Before we can do this, we need to set up a few layers.

1. Create a new layer called "Controls", and add the curve to it.
2. Create a new layer called "Proxy", and add the original cylinder to it. Set its display type to Template.
3. Create a new layer called "Render", and add the trimmed cylinder to it. Set its type to Reference.

You can now easily select the curve and move its control points around, and the trimmed surface will update accordingly.

When binding this rig to a skeleton, be sure to bind only the original cylinder -- not the trimmed surface. This way, the control curve will move and deform along with the trimmed surface, so your controls will always be on the surface of the character model.

To make the inside of your character's head a different color than the outside, you can assign a double-sided shader. For more information, see the "Create double-sided shaded surfaces" tutorial in the Maya help.

So that's the basic technique! I hasten to add that this method is not flawless...


First of all, if you're not careful about the point you select when trimming your surface (see step 6 above), then your cut-out may overlap that point when you're animating; if this happens, the trim operation will invert, making your hole opaque and the rest of the surface invisible. There is probably a way to modify the trim coordinates after the fact, but so far I haven't been able to figure out how.

Secondly, I found that mental ray does not always render the trimmed surface correctly. For example, my character's eyelids, which use this same technique, occasionally became stuck half-closed in the middle of a batch render. Strangely, rendering those same frames individually resulted in the correct pose. I suspect mental ray is doing some sneaky caching under the hood. This problem really derailed my progress, and I never did find a solution other than to use Maya Software to render my final animation. If anyone out there has any insight, I'd love to hear it!

That said, this technique does result in a rig that's pretty simple and intuitive to use.

Here's a final render of my pencil character. his mouth, eyelids, and eyebrows are all animated using the technique I've described.



If anyone has any comments, questions, or suggestions, fire away!

Labels: ,

Wednesday, December 19, 2007

11 Second Club results for November

Well, I didn't win the 11 Second Club November competition -- not by a long shot! In fact, I was exactly in the middle of the pack, ranked 47 out of 95 entries. But that's really beside the point! The main reason I entered was to get some practice animating a scene, and to get some useful feedback. Check, and check!

Congrats to Kevin Franczuk, who had the winning entry for the month, which earned him an incredibly detailed critique from none other than Jason Schleifer! (I must confess, I felt a twinge of jealousy when I saw that Jason was providing this month's critique. I read his blog all the time.)

My favorite one ended up in second place, so I guess I did a pretty good job rating the other entries!

At any rate, here's my movie. Let me know what you think!

Labels: ,

Thursday, November 29, 2007

11 Second Club

So I decided to join the 11 Second Club this month! For those who have never heard of the 11 Second Club, it's a really cool web site that hosts a monthly character animation competition. Anyone can enter, and contestants are all given the same audio clip to animate to. It's an insanely complex challenge for an animation noob such as myself, but I decided what better way to learn than to jump in feet first! (This will be my first time entering, by the way.)

Here's the transcript for November:

Voice One: "I was adorable once... and now, look at me! I'm this short, fat, insecure, middle-aged thing!"

Voice Two: "I made you short?"

Voice One: "Aaaaah!!"

My wife and I bounced some ideas back and forth, and quickly came up with the idea of having voice one be a short, stubby pencil, and voice two be a pencil sharpener.

Now, everyone strongly recommends using one of the various free character rigs, especially if you're a beginner. But I say, where's the fun in that? After about a week or so of experimentation, I had a pretty slick method for animating a hole cutout on a NURBS surface. This is the technique I used for the characters' mouths and eyelids, rather than trying to model and rig a complex edgeloop model. You can get a huge variety of mouth shapes this way, just by pulling eight CVs around.

Plus, I created a cool little Mel script to auto-generate a shelf button to store a mouth pose, complete with an auto-rendered icon to show the resulting pose. This made it really easy to set my mouth keys for lip sync, and vary them to convey emotion. Here's a screen shot of some of my shelf icons:



Given that I didn't even start until the 11th, the past few weeks have been pretty nutty. I'm somehow surviving on three to four hours' sleep each night, for many days in a row, while simultaneously holding down a day job, raising two young kids, and supervising a home renovation project.

My maybe-final version is rendering while I write this. Wish me luck!

Labels: ,

Sunday, July 8, 2007

Cube Jump Tutorial

Another animation tutorial... For this one, the assignment was to animate a cube jumping from one platform to another, showing anticipation and squash/stretch. My cube is a SubD model, and I created clusters out of the top, middle, and bottom verts so I could easily scale and rotate them together.

I'd say my biggest challenge was getting the bounces to look fluid, while at the same time keeping the bottom of the box from sliding. I probably could have used IK for this, but instead I keyed the bottom cluster's position every frame to match the lateral translation. Bleh, so tedious. Note to self: learn more about rigging!

If I take another pass at this, I'll add some twist about the cube's spine, and polish the squash/stretch during the final jump. But for now, I'm tired of bouncing cubes.

Labels:

Tuesday, June 26, 2007

Bouncing Ball Tutorial

Much like Hello World is the classic introductory lesson for programmers, the bouncing ball tutorial is the standard exercise for animators.

Inspired by my trip to Pixar, I decided to dive back into animation as a hobby -- and what better place to start? A friend of mine at work told me about the version he was assigned in art school: not one, but three balls, each with unique size, mass, and elasticity. Here's my humble attempt.

Let me know what you think!

Labels: