22-11-2022, 07:45 PM
(This post was last modified: 22-11-2022, 08:03 PM by josemendez.)
(22-11-2022, 07:40 PM)Milionario Wrote: So this is more of a rigidbodies + joints problem than it is solely with the ragdoll
Correct, any joint hierarchy will have this problem in any iterative engine. Ragdolls are just a particular case, they aren’t any different from other joint hierarchies.
If you’re ever tried to stack boxes in any physics engine -contacts are just a particular type of joint, that gets created/destroyed at runtime-, you know these tend to sink into each other and the stack becomes unstable unless you use a small timestep (and a plethora of tricks like shock propagation or mass splitting). This gets worse the more boxes you stack, but a single box will never have any issues by itself. All iterative engines suffer from the same or similar issues, since it’s inherent to how they work.
The only ways to propagate forces trough a hierarchy of constraints instantly are to use a reduced coordinates approach (ABA/Featherstone’s algorithm) or use a direct solver, and both are expensive enough that lowering the timestep of an iterative engine is often cheaper.