2
$\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 Answer 1

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$
1
  • $\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, 2019 at 19:26

You must log in to answer this question.

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