Help Creating a Complex Third Person Camera System?

I’ve been trying to set up a complex third-person camera system based on the third-person blueprint, but I haven’t been able to make any significant progress on it so far.

The goals of the third-person camera system I’m trying to set up:

  • 2 different camera positions: a default pulled-back following position, and a close-in over-the-shoulder position.
  • Smooth interpolation between the two positions.
  • The default following position has no rotation limits for camera pitch and yaw, while the over-the-shoulder position does.
  • Exceeding the yaw limits of the over-the-shoulder position engages the root yaw rotation for the character (like Arma’s aiming deadzone.)

Does anyone have any suggestions or examples on how to put something like that together? I’ve mucked around with the PlayerCameraManager and clamping the camera rotation, but I can’t seem to get the camera system to behave like I want it to. Any help would be appreciated.

You’d want to use a Spring Arm Component to hold your camera. Have a look through Camera Components | Unreal Engine Documentation

The spring arm lets you set a length, and if your camera component is a child of the spring arm altering the arm length or rotating it will rotate your camera around the character. To smoothly interp between the distance levels, you can do it with a boolean to determine which zoom level to use, and branch into an FInterp node to interpolate the arm length.

You can turn that off in the character’s details. I want to say it is Orient to Yaw or something similar to that. It will keep the camera facing the player’s back.

That’s an Animation Blueprint issue.