How-To: Aim Over the Shoulder & Zoom
Goal: swap the camera between center and over-the-shoulder framing, and dolly the camera in/out - from input. Shoulder and zoom are camera-wide: you call them on UCrimsonCameraComponent, and every third-person-derived mode (third-person, aim, lock-on) reflects the same value.
UCrimsonCameraMode_ThirdPerson subclass (Quick Start step 4). No mode-instance fetching needed - shoulder and zoom live on the component, not the mode.1. Swap the shoulder
Call Toggle Shoulder on the component to flip Left/Right, or Set Shoulder to pick a side (Right, Left, or Center). The lateral framing magnitude comes from the mode's offset-curve Y; the shoulder mirrors it - Right keeps it as authored, Left negates it, Center zeroes it.
Right frames at +45 and Left at -45 - a clean mirror. The camera sweeps smoothly through center on a swap (interpolated by ShoulderInterpSpeed on the component).2. Dolly the zoom
Call Add Zoom Distance (e.g. from a mouse-wheel axis) or Set Zoom Distance (absolute) on the component. The value is clamped to the component's [MinZoomDistance, MaxZoomDistance] and dollies the camera along its boom.
bUseShoulderOffset = false or bUseZoom = false on a UCrimsonCameraMode_ThirdPerson subclass to hold a fixed framing for that mode (e.g. a cinematic or fixed-aim view). Tune the shared limits - ShoulderInterpSpeed, MinZoomDistance, MaxZoomDistance, ZoomInterpSpeed - on the component.See also
- Concept: Shared Camera State - why shoulder and zoom live on the component, not the mode.
- How-To: Expose Camera Options as User Settings - surface FOV / zoom to a player options menu.