Keywords: intelligent behavior, Crowds
This is the Chapter11 ReadingNotes from book Computer Animation_ Algorithms and Techniques_ Parent-Elsevier (2012).
Animation Technique types:
In key-frame animations, for example, the animator precisely specifies values for animation parameters as specific frames and selects an interpolation procedure to fill in the remaining values for the in-between frames. There is not much mystery as to what the parametric values will be or what the motion will look like.
In physically based animation, such as rigid body dynamics, the animator might specify starting values for some of physical simulation parameters, for example, initial position and velocity. The animator generally knows what the animation will look like but does not have a good idea of the intermediate parametric values as an object falls, collides, and bounces. This is an example of model-based animation where there is an underlying model controlling the motion. In this case the model is physics—or at least some approximation to it.
Behavioral animation is another type of model-based animation in which it is the cognitive processes that are being modeled. The term cognitive process refers to any behavior that can be attributed to mental activity, voluntary or involuntary, that is reacting to the environment—basically non-physically based procedural motion. The cognitive processes can be as simple as moving toward a light or as complex as balancing self-preservation, mood swings, and personality disorders.
Synthetic characters with built-in rules of behavior are often referred to as actors or intelligence agents.
When a figure is meant to be the embodiment of a user in a virtual environment, the term avatar is often used.
Cognitive modeling
A common approach is to use a database of simple actions (e.g., simple SIMS games) as a library of behaviors and have appropriate behavior kick in when conditions are satisfied.
A more sophisticated approach is to blend from one activity to another with either precomputed transitions or transitions computed on the fly. 状态机
Aggregate behavior
Often behavioral animation is concerned with a large number of characters.
Adding more intelligence to the members in a group results in more interesting individual behaviors, which is sometimes referred to as autonomous behavior.
Primitive behaviors
Primitive behavior, for purposes of this discussion, is characterized by being immediately reactive to the sensed environment as opposed to any temporally extended reasoning process.
Flocking behavior
Local control
Perception
Interacting with other members
A member interacts with other members of the flock to maintain separation without collision while trying to maintain membership in the flock.
Interacting with the environment
The main interaction between a flock member and the environment is collision avoidance, for which various approaches can be used. Force fields are the simplest to implement and give good results in simple cases.
Global control
There is usually a global goal that is used to control and direct the flock.
Flock leader
To simulate the behavior of actual flocks, the animator can have the leader change periodically.
Negotiating the motion
In producing the motion, three low-level controllers are commonly used. They are, in order of priority, collision avoidance, velocity matching, and flock centering. Each of these controllers produces a directive that indicates desired speed and direction (a velocity vector). The task is to negotiate a resultant velocity vector given the various desires.
Collision avoidance
Splitting and rejoining
Modeling flight
Prey-predator behavior
Knowledge of the environment
Behavioral animation is all about cognitive interaction with the environment combined with the limitations imposed by simulation of physical constraints.
Vision
Memory
In work by Noser et al. [24], a quadtree data structure is used to partition space and construct an occupancy map from the vision information. As more of the environment is seen, more knowledge is accumulated.