Review by: David Duberman Spectrum: Interactive Media & Online Developer News
For years, software developer pmg has been a top name in LightWave 3D
circles; its project:messiah plug-in program is used widely for character
animation, including in some high-profile Hollywood projects. Now the
developer is branching out with messiah:animate (m:a), a stand-alone 3D
character-animation application that also works with 3ds max. The product
will also eventually become part of a forthcoming suite that will include
rendering software and an SDK for developing plug-ins.
The user interface is similar to that of LightWave 3D's (LW) Layout
component; the dominant feature is a large window, called the World View,
with one, two, or four viewports onto the scene. Each size-adjustable
viewport contains buttons to set the point of view, including the view from
the selected object. The viewport also contains other viewport buttons that
you drag on to move and scale the view. This latter takes a bit of getting
used to, unless LW is your usual app.
At the left is the command interface panel, whose contents are determined
by which of the program's eight modules is active, and in some cases by the
active sub-module as well. The command panel typically consists of a list
of the scene elements above several vertically stacked modules, called
"blocks" (equivalent to 3ds max's rollouts) each of which can be expanded
or collapsed. The non-standard interface doesn't use a scroll bar or
respond to the mouse wheel, so if a module is below the bottom of the
screen, you can view it either by dragging the divider between the list and
the modules vertically, or collapsing one or more modules; it's a bit awkward.
As in LW, and a number of other 3D apps, the basic animation controls are
grouped at the bottom of the screen. Here you can use the VCR playback
functions and edit keys, and also like LW, this area contains a drop-down
list for selecting an object. The program defaults to auto-key mode, where
transforming an object creates a key at that frame, but you can easily
switch to manual keyframing; a similar option exists for updating keys. A
timeline in this area displays keys and lets you move them horizontally.
And dragging the timeline upward reveals a curve graph that lets you change
key values by dragging them vertically.
The UI can be somewhat confusing; for instance, Save and Export functions
appear in a section named Load Items. Also, when you position the mouse
over a panel edge that can be resized by dragging, the mouse cursor usually
switches to the standard two-headed arrow, but not always.
Here's a real design goof: You can choose a specific channel to transform,
such as x-axis position (xpos) from a pop-up in the viewport, or by
pressing a number key. The pop-up shows the channel names, but after you
choose one, the viewport button shows a number. However, the number is it
shows is one less than the number you press to get the channel. For
example, if you choose xpos from the pop-up, the viewport buttons shows 0,
but to access the same channel from the keyboard, you press 1. That's not
very friendly. Add to my list of gripes the fact that the program offers
only one level of undo, and can't undo certain operations, such as adding a
bone.
On the other hand, the user interface has some very nice features. A toggle
button in each window centers the current selection in the window. That's
nothing new, but if you leave the button on, then moving the selection
keeps it centered, while the rest of the scene moves past it in the view.
This takes a bit of getting used to, but is very handy for positioning
bones in a close-up view. No more having to manually scroll the window
contents when you get to the edge, because you never do; as long as you
keep moving the mouse, the window keeps scrolling.
You change the Display Mode setting separately for each object in the scene
(and, optionally, its descendants) by clicking a letter in the Item List.
Each click goes to the next or previous choice, and with 10 modes
available, this can result in a lot of clicking. pmg should have used a
drop-down list, with full names rather than cryptic single letters, and/or
keyboard input for this setting. At any rate, the modes include invisible,
bounding box, points only, wireframe, flat/smooth shaded, and line view.
Additionally, the weighted display mode shows a bone's influence on
geometry, the toon mode shows inked outlines with no shading, and the anime
mode shows inked outlines with smooth shading. The manual doesn't explain
most of these, but they're pretty obvious once you see them.
The Modules
m:a comprises a number of tabbed modes; the active mode determines which
settings and other features are available on the left side of the
interface. To avoid writing a book-length review, so I'm going to rush
through these, and suggest strongly that, if you want to know more, you
download the demo and do the tutorials.
File mode lets you load, save, and export files; you can export in
LightWave 5.x and 6.x, .obj, .3ds, and DXF. This is also where you add
basic objects such as nulls and cameras, copy objects with
clone/mirror/replace commands, rename objects, set program options, and
specify up to 25 project directories in addition to the default one.
Animate mode is the command center, and has far too much functionality to
describe in detail. However, much of the usage I describe elsewhere in this
review takes place here.
Then there's Compose mode, where you do non-linear animation editing. This
is a powerful feature, and it's implemented well. Basically, you copy a set
of keys to a clip, which appears as a block on the timeline, which you can
then move, copy, scale, and scale with repeating. There's much more to it,
but that will serve as a brief introduction.
Setup mode is as important as the Animate mode. It's where you create and
modify hierarchies, and add effects, of which the most valuable is Bone
Deformation, about which more shortly. Other useful effects include Flex
and FlexMotion, both of which enable deformation using control points on a
spline; Flex affects a mesh directly, while the more powerful FlexMotion
controls bones, which in turn deform the mesh.
Command mode is where you set up and apply expressions, which let you apply
mathematical formulas to your animations. This is done largely using a
point-and-click interface. For instance, without typing, you can specify
that one object follow another, using only one axis of the latter's motion.
Then, with a bit of typing, you can make the expression a bit fancier,
specifying, for example, that the first object should move twice (or half)
as fast as second. It mostly works pretty well, but certain aspects of the
Command mode interface weren't very well thought out. For instance, you can
add elements from the scene to your expression by right-clicking a blank
button next to a blank field labeled Buffer. Who knew?
There's also the Edit mode, for working with keys; Play mode, for working
with audio and creating animation previews; and Customize, for such
functions as setting up lighting, toggling the auto-save feature, and
saving motion in various formats.
Animation in m:a
Creating transform animation in m:a is straightforward. First, you go to
the frame at which you want to set a key, and select the object to animate.
The program offers several selection methods, including clicking the item
in a list or middle-button clicking it in the World View.
Selecting an object activates its edit sphere, a simple wireframe widget
with buttons for translation and rotation actions. Depending on where you
start dragging, you can move the object along a specific axis or plane, or
rotate it about any of the three axes, described (as in LW) as heading,
pitch, and bank. Transform operations can be counter-intuitive; often, when
you want to move an object one way, you have to drag in a different direction.
As you perform transforms in the viewport, a real-time numeric readout next
to the edit sphere shows the change. You can use local or world coordinates
for transforms by dragging with the right or left mouse button,
respectively. However, using world coordinates can be a bit confusing,
since the edit sphere always shows local orientation. Dragging the center
of the edit sphere lets you perform planar translation, but I couldn't
figure out how to translate interactively on the YZ plane in the
Perspective viewport.
The edit sphere works closely with the Motion block, which uses a
spreadsheet layout for entering transforms from the keyboard and specifying
channels to manipulate in the viewport. This lets you also use the edit
sphere for gross manipulation, and the Motion settings for fine-tuning
animation keys. Speaking of which, when you create Move keys, the motion
appears as a spline curve in the active viewport. You can go to a key by
clicking a spline vertex, move the key by dragging the vertex, and set each
vertex's type to TCB--with individual controls for tension, continuity, and
bias--or Bezier, Linear, or Stepped. It's very useful to be able to see and
manipulate keys in the viewport.
A large part of character animation is creating a bone structure, also
known as rigging the character. Typically, for the arms and legs, you rig
one side, and then mirror the structure over to the other side. pmg has
made the mirroring step absurdly simple; you press a key, and it's done.
Another important setup function is creating and modifying a hierarchy;
pmg's elegant solution to this consists of simply dragging an item to its
desired parent or child in the hierarchical Item List.
When rigging a character, you have a wide choice of methods. You can add
bones one at a time, creating the hierarchy later, or you can add a bone
that automatically become the child of the one currently selected, and is
positioned and oriented with respect to its parent. You can do either of
these from the Skeleton block or, in "realtime" mode, by clicking in the
viewport. A nice feature here is the Split Bone command, which creates two
end-to-end bones from one, with both placed correctly in the hierarchy. You
can split a bone in half automatically, or specify the split location.
In some 3D programs, a time-consuming aspect of rigging a character is
adjusting influence envelopes so each bone affects only the mesh vertices
you want it to. But with m:a, it's pretty much automatic. For example, a
one-bone rig controls the entire mesh. If you have two bones, they each
control half of the mesh, more or less; of course, positioning is
important. As a simple test, I added two bones to a T Rex mesh: one near
the shoulders and second near the hips. If I then rotated the latter, the
whole back half wagged, and rotating the upper one affected the upper half
... plus the fronts of the toes. Naturally, this isn't a realistic
skeleton; you'd need a few more bones to animate the critter in a useful
way. The main point here is that, although you can control bone influence
regions manually if you want, you'll probably never have to.
Other neat bone features: A bone can act as a muscle, so it stretches and
contracts realistically in response to the motion of other bones. This
requires a bit of setup, but is pretty effective once you get the knack.
Also, the handy Slip setting lets you tweak deformations around the end of
a bone, so you can control how skin bunches up when you bend the joint.
Of course, m:a offers comprehensive IK features. Setup is a bit more
involved than in some other programs, but this allows more flexibility. One
nice feature is the ability to set, for each bone, which way it bends with
one click.
Connecting to max
You connect m:a to 3ds max via a limited-function modifier plug-in for the
latter that lets you use m:a for character rigging and animation, and max
for everything else. Basically, the way you use it is to create the
geometry (polygon mesh only) in max, send it to m:a, rig it and animate it,
and then return it to max for texturing, lighting, rendering, etc. The data
added in m:a is embedded in its modifier; the only way to alter the rigging
and/or animation is to send it back to m:a. Similarly, m:a doesn't work
with a max character rig, whether using bones or a biped from Discreet's
character studio software. As long as you can accept those limitations, it
works fine. I was able to create an object in max, rig and animate it in
m:a, and then bring it back to max and add object-level transform animation
with no problem.
The Docs
The program manual comes in electronic, HTML-based format only. It's fairly
well organized, which is important, because there's a lot of information
here. Unfortunately, it takes relatively little advantage of one of the
most important HTML features: cross-linking. If you stumble across an
unfamiliar term, typically you're on your own as far as finding out what it
means.
For example, at one point, a tutorial made a cryptic reference to an Apply
function, which I had no idea how to use. So I used the Search facility to
find "Apply," only to turn up no results, even though the word appeared
twice in the tutorial I was working in. Another of the great potential
benefits of electronic documentation is the opportunity to perform a
thorough search, but it's apparently not as well implemented here as it
might be, although I did find other search terms without too much trouble.
The manual contains a good number of tutorials, and many of the
illustrations are animated, which helps a great deal in illustrating
concepts that would otherwise have taken excess verbiage to describe.
However, these same animations, which repeat automatically, can be
distracting when you're trying to read a nearby text passage; it would have
been desirable to be able to turn them off. There are also two simple video
tutorials: one on using bones and morphing animation together, and another
on rigging a leg with a bones and applying IK.
The tutorials keep telling you to make settings that are already made, so
you're reading a lot of unnecessary instructions. Also, I reviewed version
3.2 of m:a, but the only manual available was for 3.0, so it was somewhat
out of date. Last and least, the writing is a bit cutesy for my tastes,
although it's wittier than other attempts I've read.
Also, rendered animations are available from a camera icon that appears at
various points in the manual. One of these shows Tia, an head-and-shoulders
model of a girl whose face is expressively animated using a combination of
morphing and bones animation, which would be difficult to accomplish in
other applications. The scene file is included, so you can examine the
sophisticated methods used to create the animation.
Conclusion
I've picked a lot of nits here, but that's my job; overall, I'm very
impressed with messiah:animate. pmg prides itself on creating software
designed by animators, and this pedigree shows. Basic animation can be
created in m:a as easily as or more easily than in competing products, but
the program is capable of highly advanced animation as well. The emphasis
on character animation is obvious; its ability to create a full bones
structure from a BioVision-format (.bvh) mocap file, which works flawlessly
with .bvh files included with Discreet's character studio, is by itself
almost worth the price of the software. The additional features, such as
dynamics and particles (at least, once the latter is implemented), are
nice, but not really necessary.
messiah:animate is reasonably stable, too; it rarely crashed while I was
using it. The software has its idiosyncrasies and some not-very-intuitive
methods, but what package at this level of sophistication doesn't?
Actually, among the idiosyncrasies is the fact that it's very much a work
in progress; some features don't work yet. But even in its current form,
it's a very capable piece of software.
Before I conclude, I should advise you to take this review with a grain or
two of salt. m:a is a large and complex program, and for this to be a fully
authoritative evaluation, I'd have to use the software over an extended
period of time in a production environment. But that's not practical for
any number of reasons. Despite my relatively limited experience with
messiah:animate, I can recommend the software highly to those interested in
3D character animation, whether in conjunction with LightWave 3D or 3ds
max, or even without either of those. Combine its wealth of
character-animation features at a reasonable price with an active and
helpful community of over 1,800 users at Yahoo groups, and you've got a
number of convincing reasons to buy this program.
Don't take my word for it; download the demo from the pmg Website (see
below for URL). It does everything the final version does except save. I
also encourage you to join the project:messiah Yahoo group
(http://groups.yahoo.com/group/pmGmessiah/) and ask questions of the users
and pmg folks there.
http://www.projectmessiah.com
|