I'm in the middle of my dissertation investigating ragdolls which are aware of their where they are and balance themselves as well as get back up if they fall over, much like NaturalMotion's Euphoria/Endorphin, instead of lifeless floppy ragdoll physics.
I've uploaded a video to YouTube of my project so far and I'd be really interested to hear what you all think? Feedback and is very much welcome and if you've got any ideas of what could be better / what could be added to it I'm all ears! (Plus
it will give me more to write about on the dreaded write up! ;o) )
The ragdolls, you might notice, are taken from the Simple Sample (big thank you for whoever made the Ragdoll class!). I had a go at creating my own, but I just couldn't get the joints right. Basically, it looks at the TotalRotation of the ragdoll.
If the ragdoll bodyTorso goes past a certain point or is about fall over, then a torque force is applied to the feet and thighs in the opposite direction. This keeps it standing and able to stay balancing if nudged.
If this force isn't enough to keep the ragdoll standing, then it will go past "a point of no return". Similar to NaturalMotion's Euphoria, it has a balance threshold before it gives up trying to balance and instead tries to catch its fall
to protect itself (just like you and me when we fall over). If, for example, the ragdoll falls over to the right, it will put its arm out (another torque force) to catch the fall. The opposite arm (using another torque) will throw its arm to throw
its weight to get back up.
Once the ragdoll has done this, it will start to balance its feet again to stay upright.
I've taken a real interest in this, so it's certainly something I'll be continuing after I've finished my write up. If I can get it right, I'm thinking about using it in games to make it easier for animation.
I'll be doing a big thank you when I do my write up to you guys. Even though a physics engine is such a complex thing, Farseer is so accessible and simple to use. It really is fantastic!
Thanks very much,