Fred Galpern reads Paul Marinos new book The Art of Machinima and writes about what he has learned.
When Alias announced last summer that it had acquired Kaydara, the publisher of MotionBuilder, it was close on the heels of the announcement that Discreet was integrating Character Studio, its own $1,000 character animation and previs package, into 3ds max. It seemed inevitable that Alias would rush to offer a competitive bundle of MotionBuilder with Maya. No such luck. MotionBuilder 6.0, the first release under the Alias brand, remains a standalone product, and at $999 for the basic package and $4,500 for MotionBuilder Pro, its hardly free, but at $2,000 for Maya Complete, and $1,000 for MotionBuilder Standard, the tandem is remarkably competitive with Discreets 3ds max 7. Since Alias isnt talking about future bundle plans, we set out to answer the question: Is MotionBuilder 6 worth the money?
MotionBuilder is a highly-specialized character animation tool. Unlike Maya, 3ds max or SOFTIMAGE XSI, MotionBuilder has no modeling tools, no realistic rendering capability, no soft- or hard-body dynamic system or particle effects engine and only a rudimentary texturing system. MotionBuilder functionality is so specific, that even some essential functions of setting up characters, such as creating basic skeleton of joints and painting skin weights, are barely afterthoughts: Alias recommends using other programs to perform these steps. Also, many realistic rigging and character finaling features included in high-end film animation systems are lacking in MotionBuilder. What MotionBuilder does have is a very powerful engine and interface for rigging and animating realtime characters, working with motion capture data and animation libraries and creating previs and game-style animation.
Who is It For?
Among 3D artists, character animators are among the most resistant to the technological underpinnings of what they do. Animators working in game studios, and previs artists in film production, spend too much time rigging characters, matching cameras to storyboards and live-action background plates, animating everyday action like walking and talking, and editing animation takes into finished sequences. MotionBuilder, which is unmatched at manipulating, re-using and blending animation data from many sources, as well as creating character performances from scratch, is tailor made for the needs of these artists.
On the other hand, film animators interested in creating highly-realistic animation are likely to need a more extensive toolset than MotionBuilders, since the product lacks features such as lattice-, spline- and wrap-deformations, and finaling tools, such as hair and cloth simulations, not to mention a film-quality renderer needed to propel a compelling character performance from mere believability into total realism. MotionBuilders excellence is in the realm of quick-and-effective animation for rendering in realtime, or for in-game engines, not for creating film-final animation frames.
Common actions, such as navigating and setting keys are easily accessed through keyboard commands (which now can be set to match those in your other favorite 3D applications), and MotionBuilder keeps commonly needed tools within arms reach, although this can result in a cluttered screen as windows multiply.
But MotionBuilders interface puts tools conveniently close to the surface, although many commands are in obscurely named pull-down menus on the various palettes, and there is a considerable learning curve in figuring out where functions live.
MotionBuilders animation interface is very intuitive, and can do many things that would be difficult to achieve in other applications. For example, setting keyframes is straightforward, but if you want to constrain a characters feet to a bicycles pedals, a new feature in MotionBuilder 6 lets you quickly create handles, which constrain multiple IK effectors together. Set up a handle on the left pedal and left foot and, when you rotate the pedals crank, the pedal and feet automatically follow. Its similarly easy to pin a character or props joints in position, such as when a character grabs a chair to sit down. Another new feature in MotionBuilder 6 lets you create auxiliary pivot points for effectors or joints. This would let you animate a hand on a pianos keys rocking back and forth between the tips of the thumb and little finger, while the character dances around; or to have a characters feet roll, first from the heel then from the ball of its foot, as it walks.
Speed to Screen
MotionBuilder is also exceptionally fast. From rigging a character to creating poses and keyframes, importing and attaching animation data, setting up multiple shot cameras in its non-linear timeline and to scrubbing through and playing back finished animations, it is remarkably efficient in getting animation done quickly. One of the keys to MotionBuilders success is its realtime display engine that lives up to its hype. With even a modest Open GL graphics card, you can load a fairly heavy 3D character mesh and a handful of props, and still manage to play your animations on the fly at 30 or 24 fps.
Part of this performance is owed to the fact that MotionBuilders rigs are fairly simple. Theyre not busy calculating muscle deformations or the interaction of double IK/FK rigs, which are the norm in film work. MotionBuilders character rigs are more on par with those in a video game using simple smooth binding and a very limited number of influences between joints and skin vertices.
To set up a character in MotionBuilder, you begin with the rig. MotionBuilder lets you set up a character rig from scratch, say if youre working with a mesh imported from a 3D model library, but Alias recommends setting up a skeleton and skin weighting in your 3D modeling system before importing to MotionBuilder. If you have set up the joint chain on your character with a specific naming convention, MotionBuilder will automatically generate a complete IK/FK rig with a couple of mouse clicks, and create extra in-scene effectors for joints that arent part of the standard naming scheme. Skeletons that use non-standard naming can still be rigged in MotionBuilder, but youll have to manually assign each of your skeletons bones to one of MotionBuilders standard rigging outputs. Rigging alone can save hours or days of work on a single character, and can quickly justify the price of MotionBuilder.
Several all-purpose 3D animation systems, including Maya, 3ds max and XSI, have sophisticated tools for binding and weighting a character skin. MotionBuilder lets you select points and apply weights, but this is not nearly as elegant, fast or friendly as a 3D painting system that lets you visually paint weights where you want them. This is one place where MotionBuilder needs work. While I have no qualms about a highly specialized $1,000 or even $4,500 workhorse tool, I at least expect it to have a comprehensive toolset within its particular niche. Also, some of my favorite character modeling tools, such as Luxologys modo and Nevercenters low-cost Silo, lack joint creation and skin weighting tools of their own, and models from commercial libraries are also typically not jointed or weighted, which means that eventually youll have to work with MotionBuilders stripped-down skinning features, whether you like it or not.
Once the rig is created, it becomes accessible through MotionBuilders standard selection widget that diagrams a human, or quadruped, with selection points at all the FK joints. You can also switch this panel to a view of the right and left hands or feet for working with finger joints or foot bones. The selection widget lets you select one or more joints to act on, which is important for setting keyframes, as well as when you want to paste in motion from other characters, from a library of motion clips or from motion capture data. You can choose to paste or attach data only to the selected joints, or to the entire body.
If youre working with a quadruped or biped that has more than the standard complement of joints, MotionBuilders TK selection widget becomes less useful, since these extra joints are not selectable through this interface. In this case, MotionBuilder creates effector handles that are visible in the perspective views, and selecting these effectors is functionally equivalent to selecting them in the selection widget.
In Maya, a TD could simply work around the limitations of the selection widget by building a new interface to control a new character type, but while MotionBuilder Pro supports Python scripting for automation, this doesnt lend itself to the creation of entirely new interface components. While MotionBuilders emphasis on interface simplicity and the use of standard human and animal characters has its advantages, MotionBuilders lack of deep-level interface scripting makes it hard to build tools to customize the program or to handle special cases.
On the Face of It
Whether you call them morph targets, blend shapes or some other variation, MotionBuilder lets you employ facial animation poses again, created in another application to generate lip-synched facial animation. And the software includes a module that will analyze an audio track to automatically identify phonemes and match the facial pose to the phoneme being spoken.
Remember, one of MotionBuilders greatest strengths is its manipulation and re-use of motion data from any number of sources. In many environments, character animations are considered unique performances that may get modified in the context of a single character in multiple scenes, but are generally used once and forgotten. But in MotionBuilder, performances are treated as simple library objects, the way most 3D applications treat textures or models. What MotionBuilder calls motions can be re-used, modified and applied to any character, and there are elegant provisions to deal with issues inherent in taking such liberties.
In a simple example, you can have open a character, say a chubby three-foot dwarf, with a rigged skeleton, but no animation, along with a figure of a lanky seven-foot basketball player animated with motion capture. You can then apply the motion of the basketball player to the dwarfs skeleton. In most animation systems, this would be an exercise in futility. As the basketball player walks, his arms swing close by his narrow waist, but on a dwarf, the same joint angles cause his arms to swing through the curvy sides of his belly. MotionBuilder solves the problem with its unique animation layers. These let you create keyframe animation that is seamlessly blended with the animation layers underneath. In the case of the ball player and the dwarf, you create a new layer onto which you keyframe new positions for the dwarfs arms and hands while he walks. The motion curves for the joints of the arms are blended, realtime, with the motion curves of the underlying MoCap data. You could then add a third layer of animation, onto which you might keyframe, say, the dwarfs jump carrying him 15 feet into the air instead of five, and this curve, too, will be blended into the mix. This solution to a previously insurmountable animation problem takes mere minutes and, in my experience, works flawlessly
Similarly, its easy to re-use animation in other ways. For example, you might import a walk cycle motion and apply it to a character, and want to follow it up with a jump. If your motion capture or animation hasnt been carefully planned for this sequence, theres a 50% chance that the jump motion will, literally, get off on the wrong foot. In MotionBuilder, you can fix this problem with a single mouse click that mirrors the relative positions of all of the joints, so that the right foot will now be forward and so on. And when you combine two motion clips, its easy to blend one clip into the other, by translating an entire motion sequence in space, and creating a soft transition between the two sequences by blending their ends together.
This release of MotionBuilder also introduces multi-referential animation, meaning that you can change an objects point of reference thats used as the basis for its motion. For example, you might have an animation of a character running and jumping, but when he lands and tumbles, you want him to be on the roof of a moving truck. MotionBuilder lets you effectively add the translation of the truck to the characters position, so that this all comes off without a hitch.
In busy production environments (meaning all but a few), the capability to re-use animation data is a lifesaver. If youre efficient at organizing and archiving your animations, you will quickly amass a library of useful data that will practically free animators from ever having to create repetitive animation sequences again.
MotionBuilder offers an intuitive interface for setting up multiple cameras and sequencing in a story timeline. Like a non-linear editor, this lets you cut from one camera to the next, and can be associated to separate animation takes. So in the example of the escaping villain in the truck, the first camera might be an aerial shot of the character running and jumping, while the second camera could cut to the character landing and rolling on the roof of the truck. Since the animation of the roll could be a separate take, meaning it doesnt have to connect to the animation of the run-jump, you can easily create different takes of the landing animation, to quickly visualize new versions of the action.
The Pro Advantage
MotionBuilder Pro has all of the features of MotionBuilder Standard, and adds some advanced functionality, which may justify its extra cost to intensive production environments: motion capture data mapping and editing and optical data clean-up; support for asset management systems, including Alienbrain and Microsoft VSS; Python scripting; and support for NVIDIAS CgFX shaders and the OpenReality SDK, which allows for the creation of custom plug-ins. Alias also offers a run-time engine that allows game developers to use MotionBuilder inside a game, for realtime IK effects.
Even with the availability of animation systems such as XSI, 3ds max and Maya, theres still room for a character-animation-only application. MotionBuilder Pro 6 is not a replacement for any of the above systems, unless realtime rendering, such as for previs or output of Filmbox-format animation files (for games) is as far as you need to go. In fact, Alias should really consider adding some of the essential missing features to MotionBuilder, such as skeleton creation and skin weighting. Then again, unlike general-purpose 3D animation systems, MotionBuilder is highly refined at its specific task, and is an excellent alternative to tools that arent focused on fast and easy character animation.
Sean Wagstaff is currently the senior technical artist at Double Fine Prods., spinning effects for the game Psychonauts, and previously worked as a film technical director at The Orphanage. He is always looking for cool gigs.