Arguments of HingeJoint.setLimit(....)

Hello all!

I am trying to figure out what the arguments to HingeJoints setLimit functions actually mean:

public void setLimit(float low, float high, float _softness, float _biasFactor, float _relaxationFactor)

I have even tried finding it in the bullet docs, but to no avail… :frowning:

Anybody got any ideas?


Relaxation is the rate at which velocity errors are corrected. This can be seen as the strength of the limits. A low value will make the the limits more spongy. BiasFactor is the magnitude of the position correction. It tells you how strictly the position error (drift ) is corrected. Softness is the factor at which the velocity error correction starts operating,i.e a softness of 0.9 means that the vel. corr starts at 90% of the limit range. What this means in practice is that if you’re above the softness, velocities that would shoot through the actual limit are slowed down. The bias be in the range of 0.2 - 0.5.