Computer Character Animation Course

Inverse KinematicsThe Computer Character Animation course was taught by Rick Parent for the Computer Science and Engineering Department at The Ohio State University in the Spring of 2006. The course covered numerous topics in computer character animation including forward kinematics, inverse kinematics, skin modeling, motion capture, physically based simulation, rigid body dynamics, modeling hair, and facial animation.

During the course, I worked on several projects. The first was a forward kinematics demo, which allowed the user to pose an articulated limb and animate between poses. The second project was an inverse kinematics demo that animated an articulated limb to a user-selected goal point at interactive rates using the Jacobian transpose technique.

Physically-based walking simulationNext, I created a rigid body dynamics simulation in which the goal was to create a walking figure. To simplify the problem, the figure was reduced to a mass with a single springy limb which it could articulate (essentially a pogo-stick). The figure’s goal was to keep itself from falling over and “walk” by moving its limb. In this demo, the user can pick-up, throw, and push the figure around to give it the momentum needed to walk in a desired direction (similar in concept to how a Segway works).

Arm skin animated with Pose-Space DeformationsThe final project involved skinning using Pose-Space Deformations. In this demo, an artist choses multiple poses and defines how the skin should look at each. This gives the artists control to correct common problems (ex. a folding elbow) that occur with standard blending technique, or to add secondary animations such as muscles flexing.

Some of the projects I worked on are available for download below.

Downloads

Inverse Kinematics DemoZip Archive (.zip)83KB

Walking with Physics Simulation DemoZip Archive (.zip)190KB

Note: These archives contain Windows executables that require the .NET Framework to be installed. This can be found at http://www.microsoft.com/

Skip to comment form »

  1. George wrote:

    Nice implementation in the inverse kinematics demo. Did you use a mixture of managed and unmanaged c++ or C#? The graphics are in OpenGL? Is it possible to post the source code?

    Commented on March 30, 2010 @ 9:38 am

  2. Kyle wrote:

    The graphics are done with OpenGL. OpenGL is obviously unmanaged code, but I have a .NET wrapper for it. The GUI and the Inverse Kinetic solver are all Managed C++. I wrote that 6 years ago, and have since moved on to using C# over Managed C++. Are you interested in learning about the managed to unmanaged interfaces, the OpenGL or the Inverse Kinematics?

    Commented on March 31, 2010 @ 12:55 am

  3. Miivers wrote:

    Thanks for the Inverse Kinematics demo. Trying to create something similar. It helps a lot to see how it works visually.

    Commented on July 24, 2010 @ 8:37 am

Leave a comment