Camera jitter with physics interpolation

Godot Version

v4.4.1.stable.flathub [49a5bc7b6]

Question

I’m currently making a first person player controller for a game, and a big issue I’ve been having is with movement jitter. For reference, I’m using a 144Hz monitor, and I understand this can cause jitter issues because the physics tick by default is 60 ticks, but you don’t really want to change this because of performance. I first noticed moving the player (not the camera) was jittery, but camera movement was smooth, so I turned on physics interpolation and set the jitter fix to 0. While this makes the player movement smooth, like it’s running at 144FPS, the camera is now jittery.

I’ve read dozens of posts about this issue, but couldn’t really figure out a solution. I’ve tried putting the camera movement in the _input and _process functions, and separating the camera into it’s own node, but neither of these fixed it. The only work around I found was to put the camera movement into _physics_process, but I thought you were generally not supposed to do this.

Is there something I’m not understanding about how physics interpolation works? Or should I just leave it off and lerp the player movement manually? Any help would be appreciated, thanks.

1 Like