0
$\begingroup$

I am simulating a rope in Blender, represented by a chain of rigid bodies. Each rigid body is linked to its neighbor using a generic constraint that locks X, Y, and Z linear movements. The topmost rigid body is set to passive, while all others are active. Importantly, the bottom rigid body is heavier to exert additional force on the rope (F=m*g).

However, I am encountering stability issues when using smaller masses for the rigid bodies above the bottom one, where gaps appear between them. Increasing their mass stabilizes the simulation and prevents the emergence of gaps.

I know I can improve stability by increasing the substeps per frame and solver iterations, but I am interested in understanding the underlying principles here. Is the maximum holding force of a constraint dependent on the masses of the connected rigid bodies, especially under the tension applied by forces?

Thanks for any help!

10kg bottom, remaining rigids 0.001kg 10kg bottom, remaining rigids 0.001kg

10kg bottom, remaining rigids 1kg 10kg bottom, remaining rigids 1kg

$\endgroup$

1 Answer 1

0
$\begingroup$

in your case the constraints are just limited by the accuracy of the solver. Extremely high and low masses lower the accuracy especially when multiple constraints act together. You can try to counter it by increasing the steps per frame but it is not ideal to have such extremely different masses act together.

Also the generic constraint type is less accurate than the others. You have effectively created a point constraint with the generic constraint. Even at the same substep and iteration values the generic type will be less accurate than the point constraint. You should just use the point constraint and get the free accuracy benefit.

$\endgroup$
1
  • $\begingroup$ i used the GENERIC constraint to additionally lock the z rotation. i needed this to approximate the friction on contact with other rigid bodies. i'll test again with the POINT constraint and compare the stability and performance. do you have any other ideas on how to apply a tensile force to the lower end of the chain/rope? $\endgroup$
    – murri
    Commented Apr 21 at 0:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .