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.