Have you tried attaching a follow object to the player, like 3 meters back or what ever. Then have the camera follow that object, and look at the player or another object ahead of the player. Then camera follow with a finished distance set to like .1. Then compare some distances and jump logic to set the camera follow back to state.