CSC 500 Final Project
Rigid Body Simulation using IK poses
This is a system to generate plausible character animations using a rigid body simulation with joints.
Inverse Kinematics is an effective animation tool for posing characters. IK solvers find a possible joint configuration to reach a given end effector. For example, IK can be used to figure out what shoulder and elbow rotations can be used to position a hand at a particular place in space. Solving an IK problem is difficult because there are often many possible solutions and sometimes no possible solutions.
Using an IK solver we can come up with a reasonable static pose for a character model. However, generating fluid motion between distinct poses is not as simple. There is no guarantee that IK solutions for nearby end effector positions will be similar enough to use as animation frames. Standard interpolation techniques such as linear and cubic can help but don't necessarily produce realistic movements.
In this project I use a rigid body simulation to represent the limbs of a character. Using force generators that approximate muscle activiation, the limbs of the character are moved towards a goal state calculated using IK. This produces a much more believable interpolation between animation states because acceleration and overshoot are more accurately simulated.