Smoothing camera transitions

This is a bit difficult to explain but stay with me lol

I have a camera that moves on a rail and tracks the player character. When the player enters a camera control area, the camera will move to a set location and stop there until the player leaves the control area.

This all works fine. The thing that bugs me is that this transition isn’t smooth. This is because the camera typically trails the player at a distance of around 150-200, but when the player enters the control area, the new distance that the camera has to travel is often greater or less than this range, resulting in a sudden speed up or slowdown.

How do I smooth out the transition between these two states?


In this screenshot, function MoveCamera is basically a set world location node with a little extra math.

Also, ignore the interp speed 0, the problem exists with other values too.

The SpringArm has some smoothing options build in. You can set a lag on the cam, the movement/rotation speed of the camera and other stuff there.
I found it to be pretty nice and usefull.