Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Ragdoll character passing through rope unless thickness is increased
#12
(22-11-2022, 06:35 PM)Milionario Wrote: Tried your suggestions but the only thing that seemed to matter is to change the unity's timestep, unfortunately I can't do that because the 3rd party libraries i am using do not play well with other than default timesteps..

I find it strange that dropping a normal cube on this rope yields the expected results, and a ragdoll doesnt??

If I use two cubes with a fixed joint, i have the same tunneling effect.. not as easy but happens

https://youtu.be/FkjiB7hpigE

This is completely normal, as far as how iterative physics engines work. Basically, every body involved in the simulation is simulated independently. Then, joints (aka constraints) adjust the body positions/velocities so that they meet certain conditions, such as making sure their relative rotations or positions are fixed. However this is done iteratively since a single joint can only correct the position of a couple of bodies. So over multiple iterations, these corrections are propagated to adjacent bodies.

So when the rope and the torso meet, the rope applies a force to the torso so that the rope and the torso end up just touching each other at the end of the frame. However, all other body parts aren’t aware of this force until a frame has passed by and the physics joints have had a chance to run, and notice the torso is in a position higher than it would otherwise be and pull it down.

Now, ideally if Obi and Unity’s physics engine were the same engine, it would be enough to use more iterations to propagate forces trough all bodies. Unfortunately they’re two separate engines running in an interleaved fashion, using forces to interact with each other. So the only possible way to propagate corrections quicker to all rigidbodies in a joint hierarchy is to run both engines more often, hence why:

- lowering the global timestep and using only 1 substep for particles works,
- the less rigidbodies involved in a ragdoll, the sooner forces are propagated and the better it behaves.
- a single cube works fine regardless of the timestep length (since it doesnt have any other bodies constrained to it that would need to have forces/impulses propagated to)

If you want fully accurate interplay of ragdolls and rope-like structures using long timesteps, my advice would be to use articulations. A reduced-coordinate sim will work much better, although with some limitations: no compliant materials, no loops in the body hierarchy, and higher runtime cost.
Reply


Messages In This Thread
RE: Ragdoll character passing through rope unless thickness is increased - by josemendez - 22-11-2022, 07:38 PM