Thursday, December 17, 2009

Feed the Farmers

This is a remake of an old project I originally did in SoftImage about ten years ago. It features the voice of Sean Banton as "The Announcer." The other voices are mine. I feel really old to be doing remakes of my previous films, but I wanted to try out some of the new character animation tools in Flash CS4 without starting from scratch with storyboards, sound recording, etc. Unfortunately I couldn't locate the original sound project (done in CoolEdit before it became Adobe Audition) so I had to use the original's very compressed soundtrack.

Here's a frame from the original:

Thoughts on Flash

I've always thought of Flash as a web design program, misused by animators to create digital animation on the cheap. We can blame Kricfalusi for that. The recent version advertised the promise of inverse kinematics, a revamped motion editor, etc., so it sounded like Adobe was finally starting to recognize their vast user base of character animators. (After all, Metalocalypse is done in Flash.) Unfortunately I have to conclude that Flash is still quite primitive as an animation software. The process is convoluted and quite foreign to anyone approaching it from an animation background. (Any time you find your workflow consisting of a series of software limitation "workarounds," you are using the software beyond its intended purpose.)

Ironically, though Flash has the reputation of delivering limited "cut-out"-style animation (such as this one), it actually holds more promise as a tool for full frame-by-frame animation (it has onion skinning and ink and paint, what more do you need?)

Most Flash developers laugh off complaints about its shortcomings on their forums: "the limits of the medium are what make Flash animation so endearing." Call me old-school, but I think empowering artists to set their own limits will enable a wider range of "endearment." (One blogger compared it to watercolor, a traditional medium noted for its difficulty of use and limitations. I think that's a false comparison, because the limits of watercolor are set by physics, whereas the limits of a computer program are set by the priorities of its programmers. Just sayin'.)

Expanded by plugins/Actionscript, Flash can be a powerful web development tool. But as a cinematic animation program, Flash is a mere toy. (Granted, a toy responsible for Metalocalypse.) No wonder South Park is done in Maya.

I hear Toon Boom Animate! is awesome. I'll try that next.

Friday, November 20, 2009

Walk like a man. Or a woman.

I recently had the opportunity to corrupt young minds at SCAD with a lecture on body mechanics and acting. To demonstrate a few basic principals I created this rig I call Generik. Here he is doing a basic "Neutral" walk:

Among humans, the biggest factor affecting walk is gender. Here I contrast an exaggerated feminine walk with an exaggerated masculine walk:

The second biggest factor in determining the style of walk is the body type of the individual. Here I contrast a "fat" vs. a "skinny" walk:

The third factor is mood. Individuals display mood in their posture. Here is an exaggerated "Happy" vs. "Sad" walk:

I created all of these cycles on animation layers in Maya 2009. You can copy animation layers to try out variations within a single animation file without having to start from scratch with each walk cycle. If you like a particular variation, export the animation layer to its own file. It's a nondestructive way to try out variations; and walk cycles are endlessly varied.

There is no more telling expression of character than the walk cycle. Use a walk cycle to get to know every new character you approach. I create a walk cycle as the first thing I do to test every new rig I'm building, so I can begin to finalize the rig in the context of the character's particular personality.

It is worth noting that the "heavy" and "sad" cycles would be at a slower pace than average, but I present everything at a standard 24-frame cycle for maximum compare/contrast.

A good online resource for further exploring comparative walk cycles is the BMLWalker.

Tuesday, October 27, 2009



They say a painting is never finished, merely abandoned. I'm about to abandon this series I've been doodling on for little over a year in favor of a new direction I'm taking. Before I move wholly into this new direction, here's a cleaning out of the proverbial closet. I call this series BrainsBrainsBrains, because they expose some deep structures in my gray matter, and in honor of the zombie-like catatonic state I would enter for hours when laboring over them.
Here's the whole dang Picasa album.

Posted by Picasa

Saturday, October 17, 2009

Word: Up

Did some freelance this spring at a place called Fusion Creative. We were bidding for the international print ads for the Up DVD release. Didn't win the bid, but they had some nice things to say about our mock-ups. Here's a sampling of the rough sketches I did for them. I did all of these over the course of a weekend. Had we won the bid, we would have picked a few of these to develop into full-color mock-ups, and eventually finished print ads.
As it is, I thought some of the roughs, rudimentary as they are, capture some of the spirit of the film.

Wednesday, September 23, 2009

The Ancient Garden


A storyboard exercise from some time back. 1 picture per word. The poem was inspired by Bonaventure Cemetery (Savannah GA) and Bell's Junkyard (Shepherdstown, WV). The Old Man was inspired by Jimmy Dean, the homeless highway walker of old Route 50 next to where I grew up.

Wednesday, August 26, 2009

Y'Down With NPP? (my New Painting Process)

Here's a work in progress, "The Messenger." It explores the same territory as my Strange Loops series, but utilizing an experimental process.

Here I started on paper with a felt tip sketch, added watercolor, then acrylic and then oil (progressively getting more "permanent" with the media) till finally scanning (in this case, with a digital camera) and continuing to explore in Photoshop as a digital painting. Because the digital medium allows for non-destructive experimentation, I am developing several variations on the image, the most successful of which I will attempt to emulate when I return to the traditional medium. I'm currently developing a whole series of paintings with this process. The end result will be a series of digital paintings as well as a series of related (but not identical) traditional-media paintings.

Thursday, August 13, 2009

The Hazing Part II

As a companion piece to yesterday's post on hazy renders, I whipped this test up today. I realize the volume shader attributes in Mental Ray are very very sensitive, especially at larger scales. To get the above image to show up, I had to tweak the extinction parameter to an accuracy of three decimal points! After I got the haze going, I began to add lights. Here's after adding a key light but before adjusting anything:

It's kind of a cool posterizing effect with the hotspots blowing everything out. How come I can never get this look when I try to do it on purpose?
After setting up more lights I began isolating the "subject" of the composition by use of shaders. In this case, the subject is some twisty copper column:

Not sure why this vision came to me. It's just a jungle monolith of some sort. To me it represents frozen kinetic engergy, as do the shapes swirling around it. Kind of a petrified tornado. The haze adds to this stillness, this calmness that plays against the implied movement in the forms. After some shader tweaks, I produced the following renders.

As a lighting r&d test, I didn't spend much time setting it up, but I would like to return to this some day to heighten the mood with more refined models and textures, as well as glows and incandescence, more localized / patterned mist, etc.

Wednesday, August 12, 2009

Pump Up the Volume (Renders)

Squeezed in some R&D time for Sinister environments today. The goal was to convey a sense of vastness, best implied with atmospheric perspective. In painting, this is done by desaturating colors for distant objects. In the computer, you need to use volumes, which simulate particulate matter such as dust refracting light through the air, creating a "haze." Volumes are potentially a huge hit on render times. My goal was to find the fastest settings possible to deliver a sense of space and atmosphere.
The parti_volume shader in Mental Ray has always been difficult to understand, but with much trial and error I figured out a thing or two.

First I made some very simple geometry so I could have some "landscape" to light. Since this was a lighting/rendering exercise I didn't want to get caught up in modeling, so I devoted all of 20 minutes to extruding some arches with the "bridge" poly tool in Maya. After trying volume primitives (too hard to make subtle) and environment shaders (too expensive to render) I finally figured out a workable process with the parti_volume shader applied to a surrounding sphere (an atmos-sphere) that produced the above image.
Next I threw some shaders on the geometry. Everything is a variation of the Mental Ray material_x shader:

Next I added some local color and an IBL node for sky illumination (a simple ramp):

Then some bump maps and a warm directional light with cold shadows:

Some model refinements, more lights and turning on final gather:

I guess this exercise pays homage to Roger Dean, since it evokes his "arches" series. But more ... serpentine. This could be album art for a cheesy Yes cover band. Anyway, I figured out some of the esoteric mysteries of Mental Ray volumes. Hope you enjoyed the evolution.

Monday, August 3, 2009

Sly & Beaker

This is the story of two goblins and the incredible journey they underwent from concept to 3D realization. As of this writing, they are still a work in progress, as they don't have facial rigs yet, but I thought I'd take a moment to share part of the character pipeline in Ballad of Sinister with you.

Sly and Beaker are two "crowd goblins" in the story, inspired by the above image from the storyboard. They are "B" characters that only appear briefly in two shots, and only from the waist up. For this reason, I decided to use the same body for both of them to cut down on production time (I have over 50 distinct characters to create, so anywhere a shortcut can be taken, I take it). I begin to rough in the shape by creating large extruded polygon blocks in Maya. Here it is after a couple hours work:

...and after four hours:

..and at five hours, the basic form is in place.

Next I begin the surfacing process, which is the most labor intensive, as surface characteristics carry most of the detail in any 3D model through a combination of color maps, displacement/bump maps and specular/gloss maps. Whereas the overall silhouette is carried by the model, surfacing provides the visual cues that convey its material properties. I use a variety of tools for surfacing, usually following this workflow:
Maya --> UV Layout --> Maya --> ZBrush --> Maya --> Photoshop --> Maya.

First I export an OBJ file from Maya (a basic 3D model file that has become a popular file exchange format). I load this into Headus UV Layout to utilize their superior UV tools. UVs are a method of mapping 2D surface coordinates to 3D objects in preparation for applying texture maps. Here is a UV snapshot after unfolding all the surfaces in UV Layout:

Not the greatest example, because these UVs are in too many pieces and not optimized, but since Sly and Beaker are B characters I am only concerned that there are no overlaps (which ZBrush abhors).
I import the newly UV'd OBJ into Maya and clean it up, then export again for ZBrush. Here it is in ZBrush:

I use ZBrush mainly to generate normal maps, for surface features too small to model (wrinkles and folds and bumps), preferring to wait to do the color maps in Photoshop (which has a much better toolset for the other types of maps). To sculpt the normal maps, I need to divide my model about 4 or 5 times (higher resolution=more polygons=more detail). Here it is divided but not sculpted:

Using a variety of brushes (but in this case mainly the Rake, Elastic and Clay Tubes brushes) I add surface features:

Upon exporting from ZBrush, the models look like this:

But what is exported back into Maya isn't the model, but a "normal map," which is a 2D representation of 3D data that will distort the surface of the model in Maya. The map looks like this:

...but when applied to the model in Maya it looks like this:

Remember, this is the same low-rez model we saw before, but it looks much more detailed thanks to the miracle of surface normal perturbation. (Don't worry what that means.)

I then rough-in a color map using Maya's own 3D paint tools - basic color is what I'm after. I'll refine it later in Photoshop.

Next I set up basic shaders in Mental Ray. I use the sss_fast_skin shader in Mental Ray because it is a good balance between fast and full-featured subsurface scattering (the scattering of light in a translucent material creating an interior "glow" when backlit). I throw some lights in the scene to try it out and test render:

See the subtle translucency in the skinny parts of the body? You can include indirect lighting (Final Gather) in the subsurface scattering evaluation, for an over-the top effect:

Great for 3D gummy bears.

Now I export an OBJ for Photoshop CS4, which can import 3D objects (and in CS4 you can paint right on them!) This is the best place to do map tweaks since you can use layers and masks and all the other goodness Photoshop is known for. Hooray for CS4. (One catch -it has to be the very expensive "Extended" edition of CS4.) Also in CS4, I paint and export maps for specularity/glossiness and any other maps I need - very easy to do by duplicating then modifying layers in Photoshop and saving them out accordingly.

Back in Maya, I hook up all the maps and then turn my attention to rigging. I use a cobbled-together library of rigging scripts to automate the body rig procedure, doing the overall biped first and then linking in various appendages such as ears and tails.

I always put off facial till last since it takes the longest and I can go ahead and start blocking out my scenes with the basic body rig. I do some quick skin weighting and then a quick animation to test things out. If it's a go, I can start referencing this guy into shots of the movie at this point. I do most of the layout of the movie with the characters at this stage, with the idea that I will add facial later, after lighting but before animation.

So that's a rundown of the basic character creation pipeline for Ballad of Sinister. Here they are in all their ready-for-3D-layout glory: