Crowd animation, one of the most important new features in character studio 3, lets you simulate the behavior of groups of people, animals, and other animated entities parametrically, using several different types of 3DS MAX objects. The crowd system lends itself to animation of a wide range of group behaviors, from a flock of birds flying around a church steeple to a group of sports fans exiting an arena. By using procedural animation you can create autonomous characters who animate themselves based on chosen conditions. Specific behaviors include Seek, Avoid, Path Follow, Surface Follow, Repel, and additional behaviors can be added using MAXScript.
To get started with crowd animation, you add a Crowd helper object and one or more Delegate helper objects into your scene. The Crowd object directly controls delegates, which are stand-ins for the members. Crowd lets you collect the delegates into teams, link them with bipeds or other animated objects, such as animals or vehicles, and apply behaviors such as Seek and Avoid. It will distribute the member's local animations to match the behaviors. The Delegate object's controls include speed, acceleration and deceleration, and turning-angle ranges.
The Crowd object's Scatter Objects functionality lets you clone objects and hierarchies and distribute them at arbitrary positions throughout volumes, on a grid, or over surfaces. You can orient clones toward a specific object or along a line between two objects with optional random variation. You can also specify scaling on any or all axes, again with optional randomization. The All Ops feature lets you apply randomization repeatedly to any or all of Scatter Objects functions until you get a configuration you like.
You can apply any number of behaviors to delegates, weighting each for priority. You can animate weights as well.
Following is a list of available behaviors:
Avoid Behavior - Prevent delegates from colliding.
Orientation Behavior - Applies a fixed orientation or orientation range to delegates, so they face a specific direction instead of toward the destination.
Path Follow Behavior - Restricts motion to a spline or NURBS curve; options include back-and-forth "patrol" movement.
Repel Behavior - Forces delegates to move away from a target.
Scripted Behavior - Uses MAXScript to specify behavior.
Seek Behavior - Delegates move toward a target or targets.
Space Warp Behavior - Use any dynamics-oriented space warp to control movement, including wind and gravity. Included is Vector Field, a crowd-specific space warp that lets delegates avoid irregularly-shaped objects while following the objects' contours.
Speed Vary Behavior - Lets delegates change speed for more realistic movement.
Surface Arrive Behavior - Delegates move toward a surface using an intermediate goal (offset), and then land on the surface using specified final-approach parameters.
Surface Follow Behavior - Delegates move along a surface, which can be animated. Also, you can specify whether the delegates are to move straight ahead or skirt hills and depressions.
Wall Repel Behavior - Uses a grid to repel delegates; ideal for keeping objects inside an enclosed, straight-sided room.
WallSeek Behavior - Uses a grid to attract delegates. You can use this as a doorway for crowd-controlled bipeds to walk through.
Wander Behavior - Induces a realistic semi-random movement for characters such as shoppers at a mall.
Cognitive controllers let you assign a number of behaviors to a delegate or delegate team, and switch between them based on transition conditions you define. For example, a flock of birds could be flying toward a distant goal at one moment, and then fleeing from a perceived threat at the next. Transition conditions use MAXScript; we provide a number of examples for you to learn from and adapt to your own needs.
Global Clip Controllers are useful when controlling non-biped animated objects with a Crowd object. They let you specify that an object is to blend automatically between existing animation clips based on criteria such as speed, acceleration, pitch, pitch rate, and heading rate. For example, you could set a bird to flap its wings at a certain rate as it flies straight ahead, faster as it flies upward, and not at all as it glides downward. The Global Clip controller senses its pitch and automatically blends between animation clips depending on the angle. As with Cognitive controllers, you can also specify transitions with MAXScript snippets.
You can incorporate bipeds into a crowd simulation by combining delegate behavior with biped animation. In motion synthesis, any number of bipeds share a shared motion flow graph; each biped takes a unique path through the graph based on the actions of its associated delegate. Find more information and further references at Using Bipeds with Crowd Delegates.