MotionBuilder 2010 in Review

Kurt Foster Reviews the
Latest MotionBuilder Release from Autodesk

Background

MotionBuilder caters primarily to high-end 3D character
animation. At a suggested retail price of $3,995, or $995 for an
upgrade from MotionBuilder 2009, MotionBuilder is targeted at the
professional animator. There are many tools available to deal with
motion captured performances with dense animation data.
Performances are achieved by blending animation from various
sources onto a control rig, which drives a skinned character.
Traditional keyframe animation is also well supported. Most of
MotionBuilder 2010's feature highlights add to the physics-based
animation toolset. While there is not room in this review to cover
every new feature, I tried to select a few highlights to test
drive.

Review Copy Arrives

Installation was cake. Installation on Windows (currently the
only supported brand of operating system) was easy via the standard
installation wizzard. Upon first launching the program, I was
prompted to choose from keyboard shortcuts of other popular highend
3D software. I chose Maya. This permitted me to have instant
familiarity with viewport navigation, among other hotkeys.

Physics Joints

Known by some as rigid body constraints. MotionBuilder calls
this the Physical Joint property. It lets one enjoy physics-based
animation, while having the ability to constrain the behavior of
objects. For example, the new joint type, "hinge,"
permits a swing about one axis, complete with the ability to limit
rotation angles. The other joint types include: "ball,"
"hinge-2," "slider," "universal,"
"spring," and, "motor." Basic stuff for most
physics solvers, and with MotionBuilder's current push to support
more physics-based animation, a welcome and much needed addition.
Just like the rest of the physics package, these solve in
real-time. (Of course, 'real-time' depends largely on the hardware
you can throw at it. It would probably be better stated,
"significantly faster than most other physics solvers on the
market.")

To use a physical joint was cake, as all I had to do was drag
and drop rigid body property onto my models, create a null
(locator) and drag and drop the 'joint' property onto that. From
there, a few clicks in the Navigator window to set up a
parent-child relation and tweak things like friction and what not,
and boom - physical constraint! They work nicely even without any
tweaks, but I liked to tinker around a bit.

As fun as it was, all was not peaches and cream. The physics
solver and the Undo operation are not on the best of terms.
Specifically, "start states," and Undo. After smashing
the wall with much joy, I went to click the "Reset to
start" button to re-wind the physics simulation, but I
accidently clicked the nearby "Set Start State" button.
No amount of undo would revert my initial state back to its
wall-like glory. I was left with only the scattered bricks of my
once-great wall. This behavior is common to other physics
simulators, but not as easy to accidentally reproduce. Fortunately,
the software development team was contacted as part of the review
process and is working on a solution. In the mean time, save your
scenes before you destroy them with physics. Be very careful where
you click!

Don't be sloppy with your clicking around and you'll be fine.
However, accidents do happen.

Ragdoll Fun

One of the other major new features of this year's release is
Ragdoll Pose Matching. Normally, a character driven by a ragdoll
solver would fall to the ground in a heap. The ragdoll pose
matching feature makes the ragdoll rig attempt to match guide
poses. This lets us control how a ragdoll solves, such as making a
specific gesture while falling, or falling to a particular pose.
That's the idea anyway.

It was relatively easy to set up. I first created a few key
poses of how I wanted my character to fall. I stored these as poses
in the pose browser. I then took a rigged character in the default
pose and dragged and dropped a ragdoll property from the Asset
Browser onto it. I then began to drag and drop poses into the
ragdoll's Animation pane and tweak properties. The good news is
that this tool does just what you think it does: it lets you
influence your ragdoll solves as much or as little as you like. For
this, it gets my thumbs up.

Ragdoll Pose Matching in action.

The bad: the interface needs polish. For example, to delete an
object in the Navigator window, one simply uses right-click ->
delete. This works for ragdoll poses too, but this same concept
does not work with the poses list that appears in a ragdoll's
Animation tab. I kept finding myself wanting to right click a pose
to delete it. Instead, there is a special iconic delete button. In
the author's opinion this could be streamlined. Perhaps by
associating the ragdoll pose matching properties, with the pose
itself (when appearing under the ragdoll object in the navigator
list), rather than on the ragdoll object. In this fashion, we could
eliminate the need for a duplicate list of poses.

Additionally, having the distinction between 'guide poses,'
which merely influence the ragdoll solve, and 'match poses,' which
are mandatory poses that the solver must be hit, seems odd. It's
odd because 'guide poses' have 'Match Tolerance' property. This
begs the question: Wouldn't a 'guide pose' affectively become a
'match pose' if the tolerance was set high enough? If so, why the
distinction? Also, when a pose is updated in the Pose Controls
window, the pose is not updated in the ragdoll's list of poses. The
same holds true of renaming your poses. I'm not sure if this is
good or bad, but it is noteworthy.

One of the more interesting features is the ability to have a
ragdoll attempt to match the animation of a character. We basically
animate a character as per usual. Then we create a ragdoll which
tries to match that animation. The ragdoll drives our skinned
character. With this, our characters are still capable of being
thrown off course via rigid body collisions. For example, we can
have a character animated walking on flat ground, then introduce
passive rigid body rocky ground to interact with the ragdoll.
Result: our character walks along the rocky terrain! There is also
a user setable tolerance, that if exceeded, the ragdoll solve takes
over. Unfortunately, I didn't have as much time to play around with
this feature as I would have liked. Definitely something to check
out!

Ragdoll animation matching.

Other Notes

A few other updates worth mentioning in this year's model
include a lot of tweaks and bugfixes, as well as an upgrade to
Python 2.6.1. This is noteworthy because it's the same version of
Python that Maya is using. So, those who code in Python for Maya
will now have the same version of Python available in MotionBuilder
(Yay!). Speaking of code, the Logger tool - Programmers are now
informed of which line, in an offending Python script, results in a
MotionBuilder crash. No more sipping coffee while looking at your
desktop wondering what went wrong. Other niceties include
thumbnails and folders in the pose controls window:

While much improved over the previous version, which did not
have thumbnails, it would be nice to be able to browse the Pose
Controls window entirely via thumbnails. This would make sense,
considering one can do this in the asset browser for files. As it
sits, one must first select a pose in order to see its thumbnail. I
guess we'll have to wait and see if Autodesk takes note of
this.

Other niceties include import filtering. One can now import only
specific portions of a file, as specified in the import dialog
box:

Stability

I crashed MotionBuilder several times during the review process.
It was funny because sometimes I could leave it open for a week at
a time with no trouble. Then there were days in which I had it
crash three times. Mostly, when trying to save a scene with a lot
of heavy physics and imported models. I'm not sure if this was
MotionBuilder's fault, or a graphics driver issue or what. But, if
you ever get the opportunity to crash MotionBuilder, you will be
greeted by the crash dialog, asking your permission to send a crash
report to Autodesk so that they can fix the problem:

Fortunately, all is not lost as you will also be prompted to
save your scene...

...but some days, things just aren't in your favor:

Upon restarting the software, we are helpfully greeted with the
following:

Unfortunately, my crash recovery file was empty. Granted, any
software boasting major new features is bound to have some bugs to
work out. Just as this year's model fixes many bugs that last
year's model introduced, the same will be true of the next release.
Regardless, it is still quite irritating. Other interesting
occurences include:

Bottom Line

With the move to incorporate more physics-based animation tools
in the past couple of years, MotionBuilder has come a long way. The
physics aspects of the program are maturing. The realtime physics
engine that drives it all can't be beat. MotionBuilder is useful.
While everyone may not agree on various aspects of the software, it
remains a useful tool in the arsenal. For anyone who does any
action-oriented character animation, whether it be falling down a
flight of stairs, to getting struck by large moving objects, the
additions to the physics tools are worth an upgrade.

System Requirements:

Motion builder is available in two flavors, for 32-bit hardware
or for 64-bit hardware. The latter of which can address
significantly more memory, but requires compatible 64-bit hardware
running a 64-bit operating system. Breaking it down between the two
flavors the system requirements are as follows:

Kurt Foster (Modulok) falls somewhere between
programmer and visual effects artist. When not sifting through
technical manuals, he takes on freelance roles in both programming
and visual effects, attempting to create a marriage of technical
knowledge with artistic talent. He can be seen helping out on the
Renderosity Maya forum, when time permits.

October 26, 2009

Please note: If you find the color of the text hard to read,
please click on "Printer-friendly" and black text will
appear on a white background.

Create your masterpieces
with products from the Renderosity MarketPlace