Ragdolls

Started by
11 comments, last by sbroumley 18 years, 7 months ago
I've interested in adding rag dolls to my game, purely for the fun factor of having them. I was wondering if anyone could point me towards somewhere I might begin to learn :). Uberthanks.
Advertisement
I'f you're more interested in the fun of having them in your game, use a 3rd party physics engine (ODE, Newton, whatever, depending on licenses, your requirements, whatever).

If you think writing physics code is fun (it is!!), well it's a long road ahead for you but search for Chris Hecker's physics articles, and read the papers by David Baraff (end then some more).

Don't be (or be very wary about being) tempted down the verlet/particle (i.e. "Advanced character physics" paper) route unless you're working in 2D.
as I understand it ragdoll physics is simply a matter of composing a body out of simple physical Rigid parts. that way you use rigidbody physics for the pieces with the addition of appropriate joints. This seems to be the only added complexity to a simple rigid body simulator. MrRowl you seem experienced in this, how would one go about linking two rigid parts at a joint? what mechenism is commenly used? just fyi stuff not planning to impliment it any time soon. I considered the problem myself once I was considering euler angle's with constraints on the maximum angles, enforced by spring like forces. where force praportional to the euler angles. I think this would be unstable tho.

Tim
You would generally use the same method for enforcing joint-like constraints as you would for enforcing non-penetration constraints (e.g. resting contact). For example, a ball+socket joint (with no limits) involves constraining the velocity at the joint location on one body to be equal to the velocity at the joint location on the other body (plus an extra error-correction term) - this can be done using forces or impulses, depending on the rest of the solver.
Quote:Original post by MrRowl
I'f you're more interested in the fun of having them in your game, use a 3rd party physics engine (ODE, Newton, whatever, depending on licenses, your requirements, whatever).

If you think writing physics code is fun (it is!!), well it's a long road ahead for you but search for Chris Hecker's physics articles, and read the papers by David Baraff (end then some more).

Don't be (or be very wary about being) tempted down the verlet/particle (i.e. "Advanced character physics" paper) route unless you're working in 2D.


I guess I'll wait till I've secured my licensing agreement on this engine then :(. Was hoping there was a system I could just fuck around with.

Is the verlet/particle design the one used in the original Hitman game?
Quote:Original post by timw
as I understand it ragdoll physics is simply a matter of composing a body out of simple physical Rigid parts. that way you use rigidbody physics for the pieces with the addition of appropriate joints. This seems to be the only added complexity to a simple rigid body simulator. MrRowl you seem experienced in this, how would one go about linking two rigid parts at a joint? what mechenism is commenly used? just fyi stuff not planning to impliment it any time soon. I considered the problem myself once I was considering euler angle's with constraints on the maximum angles, enforced by spring like forces. where force praportional to the euler angles. I think this would be unstable tho.

Tim

In principle you are right, but the devil is in the detail. Keeping the joints together and stable is more difficult than it appears in many research papers. Also making them to look good with proper joint limits is very time consuming and error prone.
You could try Varlet method as learning process, but you will be much better reading Baraff papers.





I just looked next to my computer and mentally slapped myself for making this thread. I won a book at the IGDA meeting in London which has stuff on Ragdolls.. bah
Can you tell us what the book is called please?
thanks

BTW: I've implemented verlet ragdolls in 3d, and traditional rigid body ragdolls. I have to agree with MrRowl that traditional rigid body style ragdolls is the way to go. Rotational constraints are much more intuitive compared to verlet rotational constraints (not to mention mapping the verlet particle system to a boned skeleton is no easy task either).
Steve Broumley
thanks for all the paper pointers guys.

Tim
Quote:Original post by sbroumley
Can you tell us what the book is called please?
thanks

BTW: I've implemented verlet ragdolls in 3d, and traditional rigid body ragdolls. I have to agree with MrRowl that traditional rigid body style ragdolls is the way to go. Rotational constraints are much more intuitive compared to verlet rotational constraints (not to mention mapping the verlet particle system to a boned skeleton is no easy task either).


It's Game Programming Gems 5, I haven't actually read the Ragdoll bit.. too busy writing a design specification :(.

This topic is closed to new replies.

Advertisement