Rigid body's elasticity giving incoherent effects

Hello everyone,

In UPBGE 0.3.0, I was trying to make a minimalistic permabouncing ball sample .blend. I noticed that giving my ground plane and my sphere an elasticity of 1.000 made the sphere bounce higher than its original position, but from what I read this is just how it is with the physics engine.

However, I was surprised while looking for an optimal value, as although giving the sphere a 0.990 elasticity was seemingly the best approximation, 0.999 would have the sphere bounce less than 10 times.

Is there an explanation for this that I missed ?

I’m not sure what the explanation would be other than it’s a physics simulation. I wouldn’t rely on it for exact or infinitely expected results. There is too much going in to a single frame of a game engine to expect continuously repeated results like that. When you need a ball bouncing in place forever, that’s a job for an animation or action.

With that said, I got about 5 minutes of close to 1:1 permabounce with both elasticities set at 1.0, 0.01 translation damping and 0 margin on a sphere collision object. The sphere started at 20 BU above the floor. As soon as I moved it to 10 BU above the floor, I only got about 5 bounces before it started losing height. Same as when I moved it to 30 BU - only about 5 bounces and it started drooping :face_with_raised_eyebrow: This was on 2.79b

Hey, thanks for taking the time to try it out !

I assumed the physics’ engine couldn’t possibly give a physically accurate simulation in real time, however I was expecting it to give coherent results. 0.990 < 0.999 so I should have had at least as many bounces for the latter. On second thought it may just be a bug related to some float precision issue in Bullet, and in any case, probably not related to Blender itself.

i bet because the physics are only calculated like 2 times a frame or so. What you can do is increase the physics substeps, the option can be found in properties menu -> scene tab. Maybe that helps.

Also de/in-crease the friction could help.

Yeah I tried that, increasing the sub-steps seemingly made it all worse.