Manuals of ComponentCameraSystem
  • Introduction
  • Basic Uses
    • General Workflow
    • Working with Sequencer
    • Third Person Camera
    • Lock-On Camera
    • Camera Shake
    • Camera Postprocessing
    • Camera Lens Effect
    • Camera Dither Fade
    • Photo Mode (Experimental)
    • Other Features
    • FAQ
  • Advanced Uses
    • Change Component Properties at Runtime
    • Customizing Camera Components
      • Customizing ECameraComponentFollow, ECameraComponentAim and ECameraExtensionBase
      • Customizing Existing Components: ControlAim as An Example
      • Customizing ECameraGroupActorComponent
      • Customizing ECameraHUD
      • Customizing EPlayerCameraManager
    • Camera Dampers
    • Animating Camera
    • Mixing Camera
    • Sequenced Camera
    • Keyframing Camera
    • ArchViz Camera
    • Integrating with Montage
    • Integrating with Gameplay Ability System (GAS)
  • Showcases
    • Boss Battle Camera
    • Group Aim Camera
    • Orbit Camera
    • Rail Camera
    • Crane Camera
    • Third Person Framing Camera
    • First Person Shooter Camera
    • Pseudo First Person Shooter Camera
    • Static Camera
    • Only Follow Camera
    • Only Aim Camera
  • Camera Components
    • Follow Components
      • ScreenFollow
      • SimpleFollow
      • HardLockFollow
      • OrbitFollow
      • RailFollow
      • CraneFollow
    • Aim Components
      • TargetingAim
      • HardLockAim
      • ControlAim
    • Extension Components
      • ResolveOcclusionExtension
      • MixingCameraExtension
      • ConfinerExtension
      • ResolveGroupActorExtension
      • AnimatedCameraExtension
      • KeyframeExtension
      • ConstrainPitchExtension
      • ModifyAimPointExtension
      • VelocityBasedRollingExtension
    • Miscellaneous
      • Photo Camera
      • Animated Camera
      • Keyframed Camera
      • ArchViz Camera
      • ArchViz CineCamera
      • ArchViz Camera Component
      • ArchViz CineCamera Component
      • Sequenced Camera Actor
      • Group Actor Component
      • CameraModifier_CameraShake
      • PCMGNeuralNetwork
      • ECamera Shake Source Actor
  • Blueprint Nodes List
    • ECameraBase
    • ECameraSettingsComponent
    • EPlayerCameraManager
    • ECameraLibrary
    • ECameraGroupActorComponent
    • RailFollow
    • ScreenFollow
    • ControlAim
    • MixingCameraExtension
    • VelocityBasedRollingExtension
  • Code Framework
    • Code Framework
  • Changelog
    • Changelog
      • V0.1.x
      • V0.2.x
Powered by GitBook
On this page
  1. Advanced Uses
  2. Customizing Camera Components

Customizing ECameraComponentFollow, ECameraComponentAim and ECameraExtensionBase

PreviousCustomizing Camera ComponentsNextCustomizing Existing Components: ControlAim as An Example

Last updated 10 months ago

Customizing ECameraComponentFollow, ECameraComponentAim and ECameraExtensionBase is pretty simple. You can override these classes to create your own camera components guiding camera behaviours. The following steps take ECameraComponentFollow as an example.

  1. Right click on Content Browser -> select "Blueprint Class"-> Search for "ECameraComponentFollow" -> click "Select".

  2. Rename it as whatever you want. Here I name it MyFollowComponent. Open the blueprint class and you can see the "Functions" section on the left side of the blueprint window. There are several implementable functions in this section. You should implement the UpdateComponent function, while other functions, if meet your needs, can also be implemented.

  3. In the UpdateComponent function, the first thing you should do is to check whether the follow target is valid or not. Right click on the blueprint and search for "Get Follow Target", you will get the reference to "Follow Target". Then connect it to the Is Valid node. Define a new Do Something node where you practically implement component behaviour and make a link from "Is Valid" to this node.

  4. Write component logic in the new function. For example here I implement a simple top-down view camera. It gets the follow target's location and offsets it with a fixed vector. The result is the camera's location. Node Owning Actor is the camera actor that owns this component.

  5. In the camera actor (of class ECameraBase or sub-class of ECameraBase), specify MyFollowComponent to the "Follow Component" property and set "Aim Component" to null. Go to the blueprint where you want to call this camera. Invoke the CallCamera node and specify "Camera Class", "Spawn Rotation" and "Follow Target". You can also specify blending parameters if you like.

  6. Run the game and you will see camera now is above the character and tracks its position.