How to create an infinite moving ball and proper physics?

Here is

my physics settings:

As you can see Linear damping is 0 but the ball still loses velocity. Testing the movement and physics I use the Add Force node in Blueprint to the Sphere (component). Physics material has bounciness of 1.5 so it kind of helps not losing the velocity but there is another problem.

In the picture the green line shows where the ball should go after it bounces off the wall, but in reality it bounces like the blue line. Sometimes it bounces back the same place it came from (the red line).


I also tried in the Sprite editor to add a circle collision (So in blueprint it only has a paper sprite component.) but it’s the same. I was trying to make a simple 2D pong game and I don’t know if this is a bug or I forgot to do something.

Do you have the restitution set to 1 or more and also the friction set to 0 on both objects’ physical materials? If there is friction then some of the linear velocity will be converted to angular, and the spin can completely change how it bounces. You’ll also probably want to go into Project Settings - Engine - Physics and change the Bounce Threshold Velocity. It’s default is 200, which means it will discard velocities of less than 200 upon impact.

Also, why is your mass scale set to 0.001? That could feasibly mess up your physics.

yes, and yes (restitution is actually 1.3). Will try the project settings. The scale was 0.001 because when I added force, I had to add something like 100000000 to get the effect. Will change back to 1, but if I remeber I tried to put it back to 1 and the but still occured. I’ll redo the project tomorrow to let you know more

So it still behaves strange. It may be better but there is still some kind of linear drag. Restitution is now 1.5. Set the Bounce threshold Velocity to 0. In Sprite settings, at Edit Collision I deleted the default square and I added a circle. Also my sprite is a 64*64 png as a base. Are these problems?

Also now the ball bounces from something in the middle of the level but there is nothing there. Camera is at -400 Y (The ball is at 0) coordinate and there are only Blocking Volumes at the side of the screen, strange.

Have you tried printing the ball’s speed to see if it’s counting down continually or if it just happens on bounces? If it’s hitting any non-static objects then of course that will reduce it’s speed. Even if the objects are constrained in the physics settings or by a physics constraint, those are not perfect. Does the sprite have collision or physics on? If you’re using the sphere for your physics the sprite should probably have everything off.

Yes it looses it’s speed on impact. Yes the sprite has collision and physics on. I tried to add a 3d sphere component so that has the physics and stuff but it behaved the same.