By George Maestri
Animating crowds, or large groups of anything, for that matter, is a problem for animators. Crowds represent a combination of controlled and random motion. Each member of a crowd has individual motions, but at a higher level these motions average out so that the crowd itself has its own motion. At a rock concert, for example, most people are in their seats facing the stage, even though some mill about the aisles looking for the restroom.
To help animators face the challenge of controlling these quasi-random motions, BioGraphic Technologies offers its Autonomous Character Plug-In for Alias|Wavefront's Maya. The software currently works only with the Windows version of Maya, though the company is pondering ports to other Maya platforms, and promising versions for other 3D packages such as NewTek's LightWave and Discreet's 3ds max.
The Autonomous Character Plug-In enables animators to use an artificial intelligence (AI) engine to create natural-looking animations of large groups of characters that interact with each other and their environment. It works in conjunction with Maya's dynamics system, which normally makes objects react to physical forces such as wind and gravity. With the Autonomous Character Plug-In, the animator gets to write the rules to make each character behave as required. When the animator applies these behaviors to many characters, the result looks like a realistic crowd.
Two types of characters are defined by the plug-in: autonomous and non-autonomous. Autonomous characters are those we generally think of as characters, whereas non-autonomous characters are simply objects in a scene. In an animation of characters running down the street, for example, the runners would be autonomous characters, while the streetlights and mailboxes would be non-autonomous characters (or objects) to be avoided.
|In this example, the members of the crowd avoid teh boulder rolling down the hill.|
The interface centers around Maya's channel box, which means that it is mostly text-based, and therefore a bit difficult to navigate. Other crowd control software, such as Discreet's character studio, has a visual scene graph that enables you to script the behavior of a character or a group using a flow chart analogy. I think something like this would be a good addition because it would allow more control over each character.
Much like game authoring software, the plug-in uses a state engine to keep the characters alive and moving. Characters are limited to four basic states: "alive," "walk," "run," and "attack." The names of these states are a bit misleading, as you could just as easily put a fish's swim cycle into the "walk" state, for example. It might be better if the software were more general in its approach, enabling users to easily define and name their own custom states. From these states, the animator can define a number of behaviors, such as follow leader, avoid obstacles, hunt prey, and evade hunters, to name a few. The software also allows characters to transition between behaviors using transition motions.
The program requires that you define a character's motions through cycles, much like in gaming. The character's state (walk, run, etc.) determines the cycle used. One problem common to using cycles is that, if the character needs to change speed, its feet might slip. The Autonomous Character Plug-In addresses this by enabling you to vary the playback speed of a cycle. The plug-in also can swap cycles so that characters can transition from a walk to a run as the speed increases.
You can also have characters change their motions based on the environment. If one character gets too close to another character or object, it can turn to avoid a collision. If a bad guy walks into the scene, a character can turn and attack the enemy. When spread across dozens of characters, these simple actions allow for fairly realistic crowd behaviors.
For added complexity, characters can be combined into groups. In a riot scene, for example, the rioters would band together, while the bystanders would move away.
Overall, I like this software, but it definitely seems like the first release that it is, particularly with regard to the interface. It needs another release or two before it matures. As it stands, the Autonomous Character Plug-In works well for simple crowd situations, but does not have the power to deal with more complex ones. To do this, it needs to evolve into a more general-purpose state engine with which the animator can easily define and control many different behaviors. Still, there isn't much competition when it comes to crowd animation for Maya, so this would still be a useful tool for an animator.
George Maestri is a writer and animator living in Los Angeles.
Minimum System Requirements: Windows NT/2000; Alias|Wavefront's Maya 3.0