Introduction

Introduction to ComponentCameraSystem

ComponentCameraSystem is a simplified, extensible and designer-friendly camera system for Unreal Engine. It enhances the built-in spring arm and camera components in native Unreal editor across a wide variety of common gameplay camera behaviours such as keeping a target at a fixed screen position, moving on rail, and resolving occulusion in complex occasions, enabling you to easily create plentiful smooth camera movements and effects within only few minutes.

Before going forward, you can visit Showcases to take a look at the example camera behaviours you can create with ComponentCameraSystem. Then you should go through the Basic Uses section to learn the basic uses of ComponentCameraSystem. If you want to customize ComponentCameraSystem through blueprints, or if you want to use ComponentCameraSystem in GAS (Gameplay Ability System), please read the Advanced Uses section. A complete list of blueprint nodes can be found at Blueprint Nodes List.

Supported Engine Versions

Unreal Engine >= 4.27

NOTE: With the release of 5.2, Marketplace only allows upgrading the lastest three versions of UE, and older versions such as 4.27 and 5.0 are not allowed to be initially added or upgraded. To enable UE 4.27 and UE 5.0 users to use this plugin, I've put the v4.27 files at here, and v5.0 files at here. Users from UE 4.27 and UE 5.0 can feel free to download and use it. It is also open-sourced at Github. Of course it would be better you buy it on Marketplace, if you use this plugin and feel it really suits your needs.

Supported Platforms

Win64, Linux, Android

Major Features

  • A full toolset of camera components for you to create nice composition and different camera behaviours.

  • Clear concept separation of follow component, aim component and extension component, providing easy control over camera position, camera rotation and camera post-process respectively.

  • Tons of helper functions for you to easily manipulate cameras.

  • Highly customizable blueprint nodes to define your own camera components.

Detailed Features

  • Follow components generally control the position of camera (with some exceptions):

    • ScreenFollow tries to keep the following target at a fixed screen position, with damping and offset.

    • SimpleFollow tried to keep a fixed relationship between camera position and following target position, either in world space or target's local space.

    • HardLockFollow uses exactly the following target's position, with offset applied in local space.

    • OrbitFollow follows the target on the surface formed by several orbits that you can add or remove at will.

    • RailFollow enables camera to move on a pre-defined rail.

    • CraneFollow enables camera to move on a pre-defined crane.

  • Aim components generally control the rotation of camera (with some exceptions):

    • TargetingAim oriented camera to the aim target, with damping and offset.

    • HardLockAim imposes aim target's rotation to camera, with angular offset.

    • ControlAim receives player input to control camera rotation.

  • Extension components provide interfaces to manipulate cameras in a more case-by-case way:

    • ResolveOcclusionExtension displaces camera to avoid any occlusion along the camera view sight.

    • ConfinerExtension restricts camera within given boxes.

    • ConstrinPitchExtension constains camera pitch within a given range.

    • ModifyAimPositionExtension alters aim target's position by certain criteria.

    • ResolveGroupActorExtension adjusts camera field of view and distance to encompass group actors, if any in follow component and aim component.

    • MixingCameraExtension allows you to add multiple sub-cameras and use them to determine the camera's position and rotation with sub-cameras' weighted positions and rotations.

    • AnimatedCameraExtension drives cameras based on a an animation sequence. It will automatically terminate when animation finishes. The given animation sequence is only used to drive cameras, so it should contain and only contain four tracks: position, rotation, scale and FOV.

    • KeyframeExtension is used when you want to keyframe your own simple camera animations. This extension interacts with the built-in sequencer editor and privides several useful parameters cotrolling in which space the keyframed animation is played.

  • The ECameraHUD class visualizes camera debug infomation to help you set appropriate parameters.

  • The ECameraGroupActor actor supports adding multiple actors in the level as well as their weights, then calculating a group-level position and rotation.

  • Easy control over camera shakes, camera dither fade and camera post-processing.

  • The Photo Mode enables you to take photos at any time during your gameplay.

  • ArchViz cameras helps you create architecture rendering for 2-point perspective.

Installation

You can install ComponentCameraSystem from Unreal Engine marketplace. Select the Marketplace tab in Epic launcher, search ComponentCameraSystem and follow the installation instructions. This will automatically install ComponentCameraSystem to your Unreal Engine and works for all projects opened with the correct version Unreal editor.

Support

Discord: https://discord.gg/x8f4Nubh

Last updated