Documentation – Extended Camera

The methods section of this documentation is out of date

Usage

The ExtendedCameraComponent is intended to be a drop-in replacement for the original CameraComponent found on the default Unreal Engine player classes.

Install Aid
Follow Camera in the demo project

The extra features of the ExtendedCameraComponent can be used in Blueprint, C++, or Sequencer.

Sequencer

All keys in the component are drivable in a sequence.

For convenience, a tracked camera may be specified to match its transform. Some parameters, such as Field of View, will also be copied, but custom post-processing information will not be copied.

Visual Aid for minimum viable sequencer configuration

In this configuration, only three keys are required: Tracked Camera, Camera Secondary Track Blend Alpha, and Write Tracked to Secondary. The secondary track is used over the primary track as the primary blends first. So 50% Primary + 50% Secondary gives you 25% original, 25% primary, and 50% secondary.

It is also possible to forego Write Tracked to Secondary and replace Camera Secondary Track Blend Alpha with Camera Primary Track Blend Alpha. This is functionally identical.

C++ & Blueprint

Every major function of the ExtendedCameraComponent in C++ is available as a blueprint node too.

Functions

For functions that have primary and secondary versions, the shorthand <Track> will substitute.

Get<Track>CameraTrackAlpha
Parameters Type Returns Type
- - Track Alpha float
GetUse<Track>Track
Parameters Type Returns Type
- - Is <Track> in use? bool
GetCameraMode
Parameters Type Returns Type
- - Current Camera Mode EExtendedCameraMode
Set<Track>CameraTrackAlpha
Parameters Type Returns Type
Value to Set float - -

Sets the blend amount for <Track>

SetCamera<Track>Track
Parameters Type Returns Type
Track Location FVector - -
Track Rotation FRotator - -
Track FOV float - -

Sets the location, rotation, and FOV for <Track>.

SetCamera<Track>Transform
Parameters Type Returns Type
Track Transform FTransform - -
Track FOV float - -

Sets the location, rotation, and FOV for <Track>

SetCamera<Track>LocationRotation
Parameters Type Returns Type
Track Location FVector - -
Track Rotation FRotator - -

Sets both the location and rotation for <Track>

SetCamera<Track>Rotation
Parameters Type Returns Type
Track Rotation FRotator - -

Sets new rotation for <Track>

SetCamera<Track>Location
Parameters Type Returns Type
Track Location FVector - -

Sets new location for <Track>

SetCamera<Track>FOV
Parameters Type Returns Type
Track FOV float - -

Sets new FOV for <Track>

SetCameraMode
Parameters Type Returns Type
New Mode EExtendedCameraMode - -

Sets Line-of-sight maintenance mode.

Common Issues

Camera resets to an odd location after the sequence ends

This is cased by the camera cut feature of Sequencer. If the player camera was the cut camera, then when the sequence ends, it reverts to a camera at the player characters origin – local (0,0,0).

The good news is that there are at least three ways to fix this.

  1. Disable Camera Cuts on the sequence
  2. Have Sequencer keep the camera cut state after the sequence
  3. Don't supply a camera cut track in the shot
Disabling Camera Cuts
Visual Aid for the location of Disable Camera Cuts
Camera Actor > Cinematic > Disable Camera Cuts

The downside here is that it disables cuts for the entire sequence, meaning that if you wanted to have an establishing shot then a cut to the character that blends out, you'll have a camera that's stuck.

Keep State
Visual Aid for Keep State location
Camera Cut track Keep State from DemoSequenceMaster's second shot in the demo project

This setting is found in the camera cut track of each shot. It's only needed in the final shot, so it won't break previous cuts.

No Camera Cut Track

LedgeSequence in the demo project uses this method. It's a very simple sequence, so there's not much need to have a cut track.