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 ECameraGroupActorComponent

PreviousCustomizing Existing Components: ControlAim as An ExampleNextCustomizing ECameraHUD

Last updated 10 months ago

ECameraGroupActorComponent is a component responsible for determining a group actor's location and rotation. You can override this component to customize your own way of location/rotation resolution.

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

  2. Rename it as whatever you want. Here I name it MyGroupActorComponent. 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. For this component, you should implement the GetGroupActorLocation and GetGroupActorRotation functions, while other functions, if meet your needs, can also be implemented.

  3. Below is a simple example using the location of the first target in variable TargetActors as the group actor location. Note I am not calling the parent GetGroupActorLocation method because I would like to implement it from scratch. It is totally feasible to call the parent method if you need it.

  4. Create a new ECameraGroupActor class. Right click on Content Browser -> select "Blueprint Class" -> Search for "ECameraGroupActor" -> click "Select". I name it MyGroupActor. Click the "CameraGroupActorComponent" on the left, and on the "Details" panel, change the "Component Class" property value to MyGroupActorComponent.

  5. Drag the MyGroupActor blueprint into the level to instantiate a new group actor. Add two actors to the "Target Actors" property.

  6. Back to the camera actor (of class ECameraBase or sub-class of ECameraBase), specify TargetingAim to the "Aim Component" property and specify ScreenFollow to the "Follow Component". Go to the blueprint where you want to call this camera. Invoke the CallCamera node and specify "Camera Class", "Follow Target" and "Aim Target". The passed in aim target should be the reference to the group actor you just created in level. You can also specify blending parameters if you like.

  7. Run the game. You will see that camera is always aiming at the first target actor in "Target Actors".