Can't get physics to behave realistic

Hi,

I have here a simple scene with a sphere and a “mountain”.
The sphere should roll over the mountain.
But depending on the number of polygons used for the mountain it does or does not.

See here:
https://playground.babylonjs.com/#SAHJ0Z#2

With low number of polygons (count set to 20) the sphere pass the mountain.
If the number is set to 100 the sphere behaves odd. (Please change ‘count’ in the example pg)

I guess I’m about to understand why this happens. But is there any way around this. I.e. is there any parameter I can change to make the physics more accurate.

Friction is your friend. and your enemy :slight_smile:

Ball physics | Babylon.js Playground (babylonjs.com)

The problem with more polygons are more collisions. which also means more velocity reductions.

1 Like

Here lowering friction helps, but only for this special case.
If I then change strength slightly (e.g. to 35) again the physics don’t seem natural.

I thought it would help to increase the number of steps (eg. change 60 to 300) but that doesn’t help either.

This is definitely strange, look what happens when you set the force to 43: https://playground.babylonjs.com/#SAHJ0Z#4

I thought it was the low mass (0.06kg) but even after increasing that and messing with other properties you get weird results.

Mesh impostors have their limitations. It is limited in the way they are constructed, and the way the physics interactions are calculated.
Cannon’s mesh impostor is good, but Ammo’s is better - Ball physics - weird example | Babylon.js Playground (babylonjs.com)

Yes, Ammo seems to work better here. But still: If you increase strength to 17 the ball bumps unrealistcly.