CAT Review
Reviewed by David Duberman
For quite some time, the standard tool for doing character animation with Discreet 3ds max has been Character Studio (CS), also from Discreet. Now there's an alternative system called Character Animation Toolkit (CAT), from Character Animation Technologies. It's quite different from CS; for example, it doesn't include an equivalent to the Physique skinning tool. However, it does have a lot to offer. Reviewed here is version 1.151 of the software.
CAT has two basic areas of functionality: rigging and animation. You start by creating a rig; you can choose one of the presets, such as human, duck, spider, and even a centipede, which in CAT has only 26 legs. Or, if you're a real do-it-yourselfer, you can create a custom rig from scratch. Doing so isn't very difficult; you start with a pelvis, and then click buttons to add limbs (legs and arms), a spine, which includes a special hub object at the end for use as a ribcage or head, and, if you like, a tail. There's no theoretical limit on the number of objects you can tack onto a CAT rig, but, due to the relatively large data structure associated with the software and consequent slowdown, you'll want to keep things as simple as possible. The rig components serve as bones, but to 3ds max they look like regular geometry; this can sometimes make it difficult to pick a rig member after you've skinned the object. Typically you'll do that with max's Skin modifier.
Each member of the rig structure has its own settings in the Modify panel; for example, you can set a spine's number of links, length, and cross-sectional size, but for a hub component, which you'll usually control directly, you can set size separately in three dimensions, and also change the pivot positions on two axes. A CAT rig has its own built-in IK system, which works quite well and intuitively. And when you're manipulating a component that has a symmetrical opposite, such as a limb, you can specify that limb by clicking in a viewport, and then any manipulation of one applies a mirrored motion to the other.
Once you've got your rig set up, it's time to animate it; it's generally advisable to do so before skinning. Here again, the software comes with a nicely varied library of motions you can use and modify, but you can also create your own motions with relative ease. For experimental purposes, it's fascinating to see how different preset walk cycles work with the various preset rigs. For example, applying the HumanRun cycle to a spider rig results in the character bobbing up and down with legs trailing, like a squid in the water.
To edit a walk cycle, you use a special dialog with a hierarchical list in the left pane and settings on the right. Here you can load and save preset motions, set global values such as step time and stride length, and overall relative timing for each limb. By default, the opposite upper and lower limbs are phased the same--right arm and left leg, for example--but you can change this to have one lead or follow the other. And, like most settings in CAT, you can animate the phase relationships.
But most of the time in this dialog you'll be working with motion graphs for the different components of the walk cycle. The hierarchical structure depends on how the character is built; for humanoids, CAT divides a rig into three basic groups: pelvis, ribcage, and head. The pelvis group also includes the legs and its subgroups: feet and ankle, and the ribcage group includes the arms and palms.
Because most walk cycles include two phases, one for each side of the body, each graph contains two points. As is often the case with animation editing, the horizontal position indicates timing, and the vertical position shows value. You can manipulate these points by dragging them within the graph, as well as with standard spinner/numeric field controls. Most points also have tangents that you can control in the same ways.
Each body part has a number of different settings that you can control over time with the graphs. The legs have settings such as Swing and Weight, and the feet have Swerve and PitchPivotPos, which controls the animation of the foot's pivot position between its toe and heel. Parameters shared by the pelvis and head include Twist, Roll, Pitch, Lift, and Push. For example, you could use the latter setting to have the head move forward and back with each step. The variety of motions you can get by modifying these settings is just amazing; it's really fun to play with. Another nice thing is that you can compare graphs by highlighting multiple items in the hierarchical list, although it's not easy to tell which is which. The motions all combine to create an endless variety of natural- or unnatural-looking walks.
After you've created a walk cycle, you'll usually assign the character to a path. You typically do this by animating a point helper by any means, such as with a path constraint, and then assigning the rig to it using the CAT dialog. Once you've assigned the path, you might want to tweak an individual footstep or two. Like Character Studio, CAT has footsteps that are automatically created when you generate a walk cycle, but they're represented as point helpers rather than footprint-shaped objects. You can move and rotate them, and even apply modifiers and animate them. No matter how you set up a motion path, the character follows it naturally without sliding its feet at all; a lot of credit is due the developers for the intelligence built into this system.
On top of all this, CAT has a relatively sophisticated layering system that lets you add keyframe animation to the procedural walk-cycle animation. You can add either relative or absolute layers. You might use the latter to have the character do something with its upper limbs, such as waving, while ambulating with its lower limbs. The usage is a bit laborious: By default, each absolute layer in the list overrides the previous one, so after adding a layer, you have to go into Track View and set keys of value 0 for all body parts whose animation you want to retain. Then you can keyframe the remaining body parts and the animations work together smoothly. This feature would be more user-friendly if the user could simply set all branches to be on or off, and then would need to set only the branches for keyframing.
Alternatively, you can use relative layers, whose keyframed motion offsets the existing animation. For example, you could use a relative layer to add a bit of jitter to a character's head motion as it walks. As icing on the cake, CAT lets you load poses and keyframe between them, and it also does a great job of supporting motion-capture data in BVH and HTR formats.
Conclusion
With such complex software, the quality of the supplied instructional material is crucial. The documentation included with CAT is good, but not great. The tutorial, in particular, is poorly written; for example, it tells you which button to click to begin animating a rig, but doesn't mention where to find the button. But a far greater crime is that it tells you to make a bunch of settings, admittedly with some explanation, but without telling you how to see how each setting change alters the animation. Ironically, the system is highly interactive; you can set a walk cycle animating in a viewport, edit parameters, and see the results immediately. It's also fairly intuitive, so my advice is to follow the tutorial as best you can, read and reread the reference, and then spend as much time as possible playing with the software and testing its capabilities.
For a "mere" plug-in, CAT is one of the most complex software systems I've encountered. Because it's primarily about motion, most of the parameters take the form of graphs, each with multiple control points. And each control point has several parameters, such as time and value, and tangent angle and length. Suffice to say it's not something to be approached casually, but if you're serious about designing animated 3D characters, you're probably ready and willing to take the time to learn it. It's not perfect, but for dedicated character animators, I doubt that there's anything better anywhere.
Take the software for a test spin at http://www.charanitech.com/home.asp .
|