character physics made easy


One of the annoying problems with wanting to do AI for virtual characters is that those characters can’t really do much without bodies.  But giving them bodies means wading into all that bothersome graphics and physics.  If you’ve ever read a paper on hardcore physics simulation, it’s pretty daunting, especially when you think about trying to run it at frame rate.

Probably the single most useful paper I’ve read this summer has been Thomas Jakobsen’s 2001 GDC paper on Advanced Character Physics in the Hitman engine.  Jakobsen talks about how to implement believable ragdoll physics by basically ignoring angular momentum and modeling rigid and articulated objects as particles (with only linear momentum) connected by rigid constraints.  By using a combination of techniques – Verlet integration and constraint satisfaction by projection – you can make a system that’s easy to implement, runs quite fast, and looks pretty good.  I was able to implement a basic engine in about 800 lines of C# code and an acceptable procedural animation system in another 600 lines or so (I’m particularly proud of the hugging behavior shown above).  It took me about a week of hacking, which is pretty good given that it was only my third 3D graphics program.  I highly recommend Jakobsen’s paper.


0 Responses to “character physics made easy”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: