Camera stutters while interpolating at high velocities

This is still very much an issue and it makes having a camera that “lags”/falls behind a vehicle very choppy looking and it’s extremely frustrating as there is seemingly nothing we can do to prevent this behavior on our end so I definitely believe it to be a Roblox bug. I’ve tried everything that everyone has tried in this topic and more:

  • Messing with BindToRenderStep render priority
  • Connecting to RenderStepped, Heartbeat, and Stepped
  • Compensated for variable time steps (such as what @Fractality_alt tried in an earlier reply)
    Camera.CFrame = Camera.CFrame:lerp(FastPart.CFrame, dt*nominalFramerate*0.5)
  • Using TweenService instead of lerp (Although it seemed like it might have slightly reduced the stutter a bit. But that could just be the placebo effect working in my mind.)

Nothing solves the issue. I really want to have the camera fall behind my vehicle because it really makes for a cool camera effect and without it, it kills a part of it’s charm. Has anyone managed to find a way around this issue? If not then I’d really like to see some kind of action be taken on it as it’s been two years now and it’s still unresolved.

2 Likes

Khanovich was spot on, my code was just bad. Blindly interpolating by a fixed amount between the past state and the target state isn’t a robust way to damp motion since the camera doesn’t have a continuous concept of velocity.

The fix was to set up critically damped spring models for position and rotation.

4 Likes

It’s funny, but after watching your script, instead of interpolating the camera, my player started to rotate smoothly :sweat_smile: In particular, this is related to my script for the over-the-shoulder camera

1 Like

This is still an issue. It is happening with my spaceship and it is very frustrating. I have read this entire post and none of the solutions fixed it.

What can be the solution?? I’ve read this entire topic and nothing seems to do it. I’ve posted about this problem, which received no attention at all. I’ve been stuck for so damn long on this.

If you can please try to provide a solution, you’re a respectable Roblox Staff and the only hope. I’ve scoured all of devforum about this, and no one seems to have a solution.