Body lost a velocity component when hitting a wall I am creating a Breakout game using Box2D (of LibGdx if anyone interest). Everything works well until when the ball hits the wall when moving with a very small angle. Please look at the image for details I tried to set the wall friction to 0 and restitution to 1, as well as the ball's friction and restitution, but it still move along the wall (I have no World Gravity). This also happens to the vertical wall if the angle is small enough, it will lose X velocity. How can I move the ball the way I expected? If there is no friction, what caused the problem? EDIT In case of LibGdx only, this is a fix World.setVelocityThreshold(float threshold) I set it to 0.1f, and it helped. If you encounter problem, maybe 0 can help, but it is unrecommended..