Restitution/Bounciness still bounce at 0.0

Hi !

Explanation : I am trying to create a Badminton Game for fun and while I was trying to handle the physic of the Shuttle I noticed that the shuttle was bouncing. A quick search on internet and here i am with a custom material and a physical material attached to it with a Restitution of 0.1. I hit the shuttle with my character (a simple AddImpulse()) and sometimes the shuttle act like it should (very little bounce) but sometimes it bounces too much.

No problem, I changed the Restitution to be 0.0. But still, the shuttle bounce. If I just let the shuttle fall (i.e from like 4m) it bounces again. I tried it with a simple sphere : same issue.

Way to Test it : You can test this out by dragging a simple Sphere in the Scene, put it at like 10m from the ground, enable “Simulate Physics”, add a simple material and bind a Physical Material to it (with Restitution set to 0.0) and hit play. You can create a blocking volume or not, still bounces.

Workaround : If you are experiencing this issue and it has not been fixed yet. You can go to Project Settings → Physics → Bounce Threshold Velocity and set this value to 99 999. Be aware that, there will be no bounce at all, for every object of the “world”, it was not a problem for me but could be one for you.

If this is the normal behavior (0.0 Restitution : still bounces) then you should probably change the Info text of Restitution (that indicates no bounce at 0.0).

I may be wrong, i don’t fully understand how the physic Engine work yet. If i am wrong please forgive me !

See you, Sirignus.

Hi Sirignus,

Thank you for the report. I was able to reproduce this so I created JIRA UE-36975. Our developers will be investigating further and you can see updates by following that link to the Public Tracker.

Please keep in mind that his could be a quirk of the physics engine, because Physx is made for stability but not necessarily real-world accuracy.

Cheers,

TJ

This might be because the default ‘combine mode’ for Restitution is ‘average’. If you want the resulting restitution to be 0.0, you would need to set the floor and ball to 0.0, or set bOverrideRestitutionCombineMode on your ball material and set RestitutionCombineMode to ‘Min’.

You might also want to try increasing VelocitySolverIterationCount for the ball.

1 Like