1
$\begingroup$

Can anyone help with the following:

I have a rotating frame with cilinders. the cilinders keep bouncing. Also, when there are more cilinders they will bounce even more, and even fly out of the frame. I would like them to behave physically correct.

Thanks for your help!

Bouncing cilinder Cilinder settings Frame settings

$\endgroup$
0
$\begingroup$

What are your Scene Rigid Body World settings? Have you changed the defaults to use a higher number of Steps Per Second?

I have tried to replicate your setup (with Cylinder collision shape) and got a stable simulation with 60 steps per second (the default) but got "bouncing" behaviour when I increased that to 600 steps per second. I think this could be an issue with how the active rigid body is interacting with the animated passive rigid body - since the animated one only changes position each frame but the active one is simulated many times per frame so that the 'jumps' in position of the surrounding mesh on each frame change 'kick' the cylinder on each frame.

I need to do more investigation into this but if I can get together a suitable test case and prove out the circumstances I'll raise it with the developers as a potential bug.

Simulated at 60 frames per second :

60 frames per second

Simulated at 600 frames per second (should be more stable) :

600 frames per second

Note that the simulation with more steps should be more stable but is producing more unexpected 'bounce'. This appears to be due to the interaction with the animated surface and may be a bug. 6000 steps per second (which should be more accurate) produces an even more unstable simulation!


Taking this a step further, I replaced the keyframe animation of the rotation with a Motor Rigid Body Constraint - to keep the animation all within the simulation. I ran this with 6000 steps per second with the following result :

6000 steps per second with motor constraint for animation

As you can see this is running fine without any bouncing on the collisions. To me this seems fairly conclusive that it's the interaction with the keyframed animated mesh which is causing the 'bounce' in my case.

$\endgroup$
2
  • $\begingroup$ Could simply a limitation of the bullet physics. Floating point errors accumulate fast with increasing iterations, right? $\endgroup$ – Leander Nov 10 '20 at 8:50
  • 1
    $\begingroup$ @Leander It could be but 600 steps per second seems pretty low for hitting rounding issues. When I get the chance I'll do some detailed investigations and see if I can pin it down a bit more. One thing to try will be to rotate the 'shell' using a Motor constraint instead of animated with keyframes - that will show whether it's an issue with interaction with the animated body or not. $\endgroup$ – Rich Sedman Nov 10 '20 at 8:58
-1
$\begingroup$

According to my experience, that may be caused by the Margin parameter, which I don't know how to adjust.

Because your geometry is quite simple, I would suggest you change the collision shape (from Mesh) to Cylinder and Convex Hull, respectively.

$\endgroup$
1
  • 1
    $\begingroup$ I think I read somewhere the margin should never be set to 0. Did you try it with a small value greater than 0? Increasing the steps per second in the Rigid Body World settings (in the Scene tab) could also help. $\endgroup$ – Frank Nov 9 '20 at 22:03

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.