Hybrid Control for Interactive Character Animation
Ari Shapiro
Fred Pighin
Institute for Creative Technologies
Petros Faloutsos
Please note that the software that produced these results, DANCE, is available for download at http://www.magix.ucla.edu/dance.
The paper Hybrid Controler for Interactive Character Animation can be downloaded as a pdf
We implement a framework for animating interactive characters by combining kinematic animation with physical simulation. The combination of animation techniques allows the characters to exploit the advantages of each technique. For example, characters can perform natural-looking gaits and react dynamially to unexpected situations.
Kinematic techniques such as those based on motion capture data can create very natural-looking animation. Hoever, motion capture based techniques are not suitable for modeling complex interactions between dynamically interacting characters. Physical simulation, on the other hand, is well suited for such tasks. Our work develops kinematic and dynamic controllers and transition methods between the two control methods for interactive character animation. In addition, we utilize the motion graph technique to develop complex kinematic animation from shorter motion clips as a method of kinematic control.
The character on the left is kinematically controlled, the character on the right responds with dynamic control. Contact is physically simulated. Note that the character on the left is reacting to the environment. After he is kicked, he places his hands down to cushion the fall with the ground, then gets up and tries to balance again. The motion of this character is completely unscripted and the result of the state of the environment and the abilities that we have given him.
12.2 mb avi
Two dynamically controlled characters. This motion would be difficult to create kinematically (by keyframing) and uncomfortable to create via motion capture. However, it is easy to create with physical simulation, where the falling motion can be repeatedly tweaked until the desired results are achieved.
209k mov
The kicker is controlled kinematically and produces dynamic effects on the ball. The goalie is using a dynamic diving controller that has been parameterized to move according to the predicted location of the ball. The goalie uses many different dynamic controllers:
1. A controller that balances the character and watches the kicker.
2. A controller that dives to get the ball.
3. A controller that puts the goalie's hands down in preparing for a violent landing with the ground.
4. A controller that gets the character into a standing position.

5.4 mb mpg or 1.9 mb mp4
The original kinematic motion. There are no obstacles so the motion proceeds as planned.
1.7 mb mpg or 574k mp4
The ball is placed in the path of the character. The character's leg has contact with the ball, and it forces the leg slighly out of position as a dynamic tracking controller takes over from the kinematic controller. However, the contact is brief and the disturbance light enough that the character resumes the original motion. Note that no a priori decision needed to be made about the effects of the character onto the ball and vice-versa. The simulator handles the effects of the collisions and automatically determines under which control state to place the character.
1.7 mb mpg or 582k mp4
Passive Dynamics. In this example, the character's walk path is again obstructed by the ball. With passive dynamics, however, a decision must be made to either make the ball passive and be moved away by the force of the character, or to have the character be impacted by the force of the ball. Without any sort of dynamic control of the character, the character becomes a 'rag doll' and simply falls to the ground, unable to respond to this unscripted obstruction in the environment.
1.6 mb mpg or 600k mp4
The two (2) pound soccer ball is replaced with a sixteen (16) pount bowling ball and placed in a more obstructive position. The disturbance from the ball on the character is sufficiently large such that the character must assume a different action. A dynamic controller takes over and handles the unexpected contact. The character then finds himself on the ground, and uses another dynamic controller to move upright and regain balance. Once standing, the character is then able to resume the original walk using kinematics.
14.3 mb mpg or 2.1 mb mp4