What’s the ball collision set to? it seems like it’s hitting facets somewhere
And you’ve made sure all of your boxes are exactly the same Z height correct? I see the Z is set to 569.9999939 on the selected one, if they’re off even by a little you can get a pop pretty easily
I’m thinking that it is still seeing the edge of the boxes as being the problem, it might be a good thing to try and make a single collision box that encompasses everything in a row, and see if it still bounces. maybe stretch one box to be the whole length and see if the ball still bounces, that should tell you whether it’s the spherical collision or the boxes
Just discovered this issue by accident, and realised that I am experiencing the same issue with a skateboard simulator as well. The wheels of the skateboard are primitive sphere colliders, and as they roll, they seem to catch on the internal edges of the collision mesh(es). See the video below, but it is basically the same issue as what OP is reporting. Physics substepping is enabled. Happens randomly, and speed / angular velocity of the sphere does not seem to matter. Have tried many things, but have not yet been able to make the random “popping” on edges go away.
Hey I’ve been working on a rolling ball game as well, and have been running into similar issues. One way I’ve been able to work around the problem is to create a large cube that encompasses the area and use that as the collision - set the in game visibility to hidden, or make a transparent material to apply to several of these collision boxes. Then for you flooring set their collisions to No Collision. Smooth Ride. I know this is an old thread, just thought I’d share what I’ve come up with.
Could it be that the surfaces are being triangulated by the engine? Maybe setting the mesh/surface not to deform and or, keep quads, will reduce additional geometry? If the physics are correct, enough velocity will introduce aerodynamics. Perhaps giving the ball a Physical Material of lead :).
Just occurred to me, have you tried raising the value of gravity?
I can also confirm that the behavior has changed from 4.19 onwards and MaxContactOffset only has a limited impact. Looking at the source code it seems the problem comes from a line in FBodySetupShapeIterator::ForEachShape in BodySetup.cpp. In 4.19 it looked like this: