Skip to content

FlexiCam Camera Mode

This page describes FlexiCam Camera Mode — the base concept of the FlexiCam plugin. Camera Modes define how the camera behaves, where it is placed, and how it blends with other camera modes.


What is a Camera Mode?

A Camera Mode is an object that calculates final camera view and transform of FlexiCameraComponent.

Multiple modes can be active at the same time and smoothly blended together.


FlexiCameraModeView

Every CameraMode contains FlexiCameraModeView structure that represents the camera output produced by a camera mode.

Contains:

  • Location — camera world position.
  • Rotation — camera rotation.
  • ControlRotation — control rotation for the player.
  • FieldOfView — camera FOV.

Blending Between Camera Modes

Each camera mode supports smooth blending.

Blend Settings

Property Description
BlendTime How long the blend takes
BlendFunction Curve used for blending
BlendExponent Controls curve sharpness

Blend Functions

  • Linear — constant interpolation
  • EaseIn — smooth start, fast end
  • EaseOut — fast start, smooth end
  • EaseInOut — smooth start and end

Core Functions

UpdateView(DeltaTime)

Main function where camera logic lives.

Called every frame while the mode is active.

Blueprint

  • UpdateView(DeltaTime)

C++

virtual void UpdateView(DeltaTime) override;

Activation & Deactivation events

Camera modes receive lifecycle events.

Blueprint

  • On Activation
  • On Deactivation

C++

virtual void OnActivation();
virtual void OnDeactivation();

Useful for:

  • Resetting interpolation
  • Playing camera effects
  • Debug logging

Target Actor

GetTargetActor Returns Actor that has Flexi Camera Component on it and Camera Mode applied.

Blueprint

  • Get Target Actor
AActor* GetTargetActor() const;

Target Actor transform

Get Pivot Location Returns location of an Actor that has Flexi Camera Component on it and Camera Mode applied. Has offset to crouch possition for Pawns.

Blueprint

  • Get Pivot Location

C++

virtual FVector GetPivotLocation() const;

Get Pivot Rotator Returns rotation of an Actor that has Flexi Camera Component on it and Camera Mode applied. If Target Actor is a Pawn returns Pawn Control Rotation

Blueprint

  • Get Pivot Rotation
virtual FRotator GetPivotRotation() const;

Flexi Camera Component

GetFlexiCameraComponent Returns active Flexi Camera Component

Blueprint

  • Get FlexiCamera Component
UFlexiCameraComponent* GetFlexiCameraComponent() const;

Gameplay Tags

Camera modes can expose gameplay tags.

CameraTypeTags

These tags allow gameplay code to:

  • Check which camera type is active
  • Change abilities or input behavior

Using Camera Mode

Inside Update View:

  • Calculate pivot location
  • Calculate camera rotation
  • Assign values to ModeView structure.

Examples

Blueprint

C++