   procedural character animation input
  So, I am writing a simple multiplayer game, and my goal is to produce character animations procedurally. My initial plan was to implement a system that used a sine wave on each joint, where each specific animation sequence (a full rotation of 360 degrees) is stored as the coeffecients/rates at which each joint rotates along 3 axis'. So each joint is basically just moving back and forth as dictated by its parameters for the sine wave generation, and in unison I have managed to create a simple skeleton of a character running. Each animation sequence has a set of these parameters for each joint to use to cooperate in the animation with all the other joints.  Now this was cool to do, but I was still not very happy with the slightly unnatural movement, as there is no element of physical influence on the animation sequence (eg: gravity affecting movement of limbs, etc) So I decided to try something else.  My first thoughts on an alternative were to set up an IK system, and just use the sine wave idea on the 'end effectors' (hands/feet) of the character, and the body would just naturally do the rest (for the most part).. As I learned what I could from various internet sources, I realized that IK is rather difficult to do properly. I stumbled across this paper:http://www.cs.northwestern.edu/~ian/Twig/TCIAIG.pdf ..whereas the idea is that all the joints are treated like particles that must be kept at fixed (bone-length) distances from the joints they are connected to. They can also only move about specific constraints (so as to prevent a knee from bending backwards, or sideways, etc). But it would effectively function as a sort of pseudo-IK system, that is fast, albeit a little sloppy. The other problem is the orientation of the bones themselves. Being that a bone is defined as purely just a simple line segment in space, and has no real angular orientation along the axis that the bone is on. Each joint, or 'node', has its own collision volume, and thus is capable of reacting with the environment and propagating its physical collision reaction throughout the rest of the skeleton naturally. But now I've decided that perhaps the best solution would be to combine the two? Use a sine guided animation system that also allows for a basic physical influence amongst and between the joints using said particle system, avoiding any real IK implementation while still effectively producing animation that is adaptive and reactive to the environment.  Before I set out to begin working on such a system, I'd like to hear if anyone has any feedback, input, questions, comments, concerns, etc.. as n+1 heads are better than 1. Thanks![Edited by - radioteeth on June 27, 2009 4:17:11 PM]