I’m working on a small rolling ball game as a quick project, and I’m running into FPS-related issues. The screenshots below are of my pawn BP, and the movement is exactly the way I want it… at 120 FPS. The pawn’s max straight-line speed is about 658 at 120 FPS. If I uncap the FPS, the max straight-line speed goes to somewhere around 3530, and with FPS capped at 30, it’s 50. I’m looking for a way for the pawn to move at consistently the same speed, regardless of FPS.
You can use is ‘GetWorldDeltaSeconds’.Multiply it with your end speed that is responsible for movement. It’ll make your movement consistent over all frame-rates. (this will slow down your speed, so to overcome, you can multiply with some offset like ‘30’ may be… )
basically, what it does is 1/FPS
here is the detailed explanation:
I tried your suggestion and sadly the issue is still happening - except in the reverse. When I cap at 30 FPS, I get very high speeds, when I uncap, I get slightly lower speeds. See the below screenshots for the edits I made.
Note that I’m using Add Angular Impulse and Set Angular Damping - not Add Force or the other ways to move the pawn. I’m doing this because I want the movement of the pawn to be dependent on physics, taking friction into account - rather than just adding a force to the ball, the ball moves because of friction with surfaces it’s touching.