adjusting collision elasticity, and gravity question


Here is a blend file of a series of blocks being shoved up a ramp. The collisions between them are more elastic than I want them to be. Any ideas on how to make this less bouncy?

Also, why do blocks with a single edge at the bottom (like the small ones resting on the ramp at the beginning) just land on the surface and not tip over? It’s like gravity stops working on the object as soon as it encounters a solid surface.

Thank you,


thrust7a.blend (343 KB)

all the way on the left in the game buttons panel is the mass slider, which affects how heavy an object is, thereby affecting its bounciness, and a bounds setting, which if you change to convex hull should solve your balancing on one point problem.

Hmm, yes, I started by giving each block a mass of 5555 BU, then moved up on your suggestion to 10,000 BU. My results: elasticity is the same, and the blocks that would tip forward in our world don’t do so in Blender…is it different for you?
Thanks for the quick reply,

The mass has nothing to do with it. I don’t think you can do this correctly yet, it’s one of the many limits of the current exposure we have to Bullets. In theory you reduce the elasticity by reducing the force reaction force which would mean get the .getReactionForce() and apply another force in the opposite direction. But .getReactionForce() isn’t implemented for Bullets yet, so you cannot do this.

One workaround that might work for you is that you could have a collision sensor that would detect objects with the “wall” or whatever property. Then you reduce the speed of the object to a fraction of it’s speed when a collision is detected. For example:
if collision.positive:
v = own.getLinearVelocity()
v[0] *= 0.5
v[1] *= 0.5
v[2] *= 0.5

This example would halve your speed whenever you collide with a wall. This isn’t the ideal solution and wouldn’t have the expected results on many cases (such as when falling in the direction of the wall it would reduce fall speed, you might not want this). But maybe those cases won’t happen on your type of game so you would be good.