1
$\begingroup$

I'm new to Blender so I may be overlooking something really obvious, but it seems to me the damping in the generic spring constraint does not work as intended.

I built a simple car (body, four wheels) with the generic spring constraint acting as suspension and entered realistic values for mass and spring stiffness in the various components. For the spring damping, I entered a first guess of 0.8, expecting the car to settle fairly fast after a drop.

Instead, it keeps bouncing and bouncing, and no reasonable value will stop it aside from a value of 1, which stops the bounce instantly - as expected. I did notice that I can enter values like .999999 and that almost works (although the value then shows as 1 in the number field) but that renders the damping incredibly sensitive to the number of solver iterations (and probably steps per second, although I did not test that) and is a completely unreasonable value for a damping coefficient.

Here's a .blend showing the problem: https://drive.google.com/open?id=0BwpD_rRXj8ceckFtM1NRR2FlVFU

As you can see, even with the spring damping set to .999, the oscillation will not stop.

So, my question is, is there a way to get the expected damping behavior out of the generic spring constraint, or should I report this as a bug? I've tried this in both 2.77a and 2.78RC, and the behaviour is the same in both.

$\endgroup$
1
$\begingroup$

My solution for this problem is to add a second parallel spring.

  • the first spring has stiffness 10.0 and damping 0
  • the second stiffnes 1.0 and damping 1

Now it acts together similar to a damped spring (I think not exactly physically correct).

A solution for physically damping is to set the damping in the spring to zero and the damping in the ridig body dynamics of the object to a high value. The disadvatage is that this damping is always relative to the world coordiate system.

$\endgroup$
  • $\begingroup$ Thanks, I might try that if I still need to use Blender 2.7x at some point. However, with 2.8 there now seems to be a better way to set the damping. The generic spring constraint now has a dropdown list called "Type" where you can select either 2.7 or 2.8, and if you choose 2.8 it seems you actually set the damping coefficient in units of Nm/s instead of a damping ratio between 0 and 1, and it works as expected. $\endgroup$ – pmb1701 May 24 at 19:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.