ECameraLibrary

Reminder: you can do most of you blueprint work by directly accessing class variables through the *Get* and *Set* nodes.

DampSingleValue

Damp a float with a given damp time.

Input / Output
Description

Input

DampParams

A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the SpringDampVector node, you do not need to care about SpringCoefficient and SpringResidual.

DeltaSeconds

The elapsed time since last frame.

Input

Input float to damp.

DampTime

Damp time. Will override DampParams.DampTime.

Output

Output

Resulting damped output float.

DampVectorWithSameDampTime

Damp a vector with the same damp time for all elements in the vector.

Input / Output
Description

Input

DampParams

A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the SpringDampVector node, you do not need to care about SpringCoefficient and SpringResidual.

DeltaSeconds

The elapsed time since last frame.

Input

Input vector to damp.

DampTime

Damp time. Will override DampParams.DampTime.

Output

Output

Resulting damped output vector.

DampVectorWithDifferentDampTimes

Damp a vector with different damp times for different elements in the vector.

Input / Output
Description

Input

DampParams

A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the SpringDampVector node, you do not need to care about SpringCoefficient and SpringResidual.

DeltaSeconds

The elapsed time since last frame.

Input

Input vector to damp.

DampTime

Damp time. Will override DampParams.DampTime.

Output

Output

Resulting damped output vector.

DampRotatorWithSameDampTime

Damp a rotator with the same damp time for all elements in the vector.

Input / Output
Description

Input

DampParams

A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the SpringDampVector node, you do not need to care about SpringCoefficient and SpringResidual.

DeltaSeconds

The elapsed time since last frame.

Input

Input rotator to damp.

DampTime

Damp time. Will override DampParams.DampTime.

Output

Output

Resulting damped output rotator.

DampRotatorWithDifferentDampTimes

Damp a rotator with different damp times for different elements in the rotator.

Input / Output
Description

Input

DampParams

A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the SpringDampVector node, you do not need to care about SpringCoefficient and SpringResidual.

DeltaSeconds

The elapsed time since last frame.

Input

Input rotator to damp.

DampTime

Damp time. Will override DampParams.DampTime.

Output

Output

Resulting damped output rotator.

SpringDampVector

Use a simple spring mass system to damp a vector. Note that spring damping may cause unstable camera behavior. If it is not what you really want, you are supposed to use other damping methods.

Input / Output
Description

Input

DampParams

A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the SpringDampVector node, you do not need to care about SpringCoefficient and SpringResidual.

DeltaSeconds

The elapsed time since last frame.

TemporalInput

Camera current position - previous position.

SpatialInput

Camera desired position - current position.

Output

Output

Resulting damped output vector.

SpringDampValue

Use a simple spring mass system to damp a value. Note that spring damping may cause unstable camera behavior. If it is not what you really want, you are supposed to use other damping methods.

Input / Output
Description

Input

MaxDelta

Seconds

Max delta seconds, default is 1 / 60.0f.

Spring Coefficient

Controls how responsive camera gets back to its rest place. The larger, the more responsive.

Spring Residual

Damp residual after damp time. Small values mean more responsiveness.

DeltaSeconds

The elapsed time since last frame.

TemporalInput

Camera current position - previous position.

SpatialInput

Camera desired position - current position.

Output

Output

Resulting damped output value.

DampQuaternion

Interpolate two quaternions according to damp time.

Input / Output
Description

Input

Quat1

Starting quaternion.

Quat2

Destination quaternion.

DeltaSeconds

The elapsed time since last frame.

DampTime

Time used to interpolate from Quat1 to Quat2.

Output

Output

Damped output quaternion.

ExactSpringDamperVector

An exact spring damper used to damp an input vector. Credit to: https://theorangeduck.com/page/spring-roll-call#dampingratio.

Input / Output
Description

Input

CurrentVector

Input value representing current property, e.g., position.

CurrentVelocity

Input vector representing current velocity.

TargetVector

Input vector representing target property, e.g., position.

TargetVelocity

Input vector representing target velocity.

DampRatio

Damp ratio used for the input vector. A value of 1 means a critically damped spring, a value <1 means an under-damped spring, and a value of >1 means a over-damped spring.

HalfLife

Duration of time used to damp the input vector. Cannot be negative.

DeltaSeconds

The elapsed time since last frame.

Output

OutVector

Output vector representing current property, e.g., position.

OutVelocity

Ouput velocity.

ExactSpringDamperValue

An exact spring damper used to damp an input value. Credit to: https://theorangeduck.com/page/spring-roll-call#dampingratio.

Input / Output
Description

Input

CurrentValue

Input value representing current property, e.g., position.

CurrentValue

Input value representing current velocity.

TargetValue

Input value representing target property, e.g., position.

TargetValue

Input value representing target velocity.

DampRatio

Damp ratio used for the input vector. A value of 1 means a critically damped spring, a value <1 means an under-damped spring, and a value of >1 means a over-damped spring.

HalfLife

Duration of time used to damp the input vector. Cannot be negative.

DeltaSeconds

The elapsed time since last frame.

Output

OutValue

Output value representing current property, e.g., position.

OutVelocity

Ouput velocity.

DampVectorWithSameDampTime (Continuity Optimization)

Damp a vector with the same damp time for all elements in the vector. This is an optimized algorithm with continuous fourier series approximation.

Input / Output
Description

Input

DampParams

A set of damp parameters.

Input

Input vector to damp.

Previous

Residual

Camera residuals at the previous frame.

DeltaSeconds

The elapsed time since last frame.

DampTime

Damp time (float). Will override DampParams.DampTime.

Output

OutValue

Resulting damped output vector.

DampVectorWithDifferentDampTime (Continuity Optimization)

Damp a vector with different damp times for all elements in the vector. This is an optimized algorithm with continuous fourier series approximation.

Input / Output
Description

Input

DampParams

A set of damp parameters.

Input

Input vector to damp.

Previous

Residual

Camera residuals at the previous frame.

DeltaSeconds

The elapsed time since last frame.

DampTime

Damp time (vector). Will override DampParams.DampTime.

Output

OutValue

Resulting damped output vector.

DampValue (Continuity Optimization)

Damp a value an optimized algorithm via continuous fourier series approximation.

Input / Output
Description

Input

DampParams

A set of damp parameters.

Input

Input value to damp.

Previous

Residual

Camera residuals at the previous frame.

DeltaSeconds

The elapsed time since last frame.

DampTime

Damp time (float). Will override DampParams.DampTime.

Output

OutValue

Resulting damped output value.

GetCameraLocalSpaceCoordinateWithActor

Return the camera local space coordinate of an input world space position.

Input / Output
Description

Input

Camera

The camera.

InputPosition

World space input position.

Output

Returned Value

The transformed camera's local space position of the input.

GetCameraLocalSpaceCoordinateWithVectors

Return the camera local space coordinate of an input world space position.

Input / Output
Description

Input

PivotPosition

Pivot position, for example, the camera's location.

ForwardVector

Reference forward vector, for example, the camera's forward vector.

RightVector

Reference right vector, for example, the camera's right vector.

UpVector

Reference up vector, for example, the camera's forward vector.

InputPosition

World space input position.

Output

Returned Value

The transformed camera's local space position of the input.

CallCamera

Call a TSubclassOf<ECameraBase> class type camera actor. If there exists one in the level, this node will use it. Otherwise it will instantiate a new one. Highly recommending using this node rather than UE's vanilla SetViewTargetWithBlend node.

Input / Output
Description

Input

CameraClass

The camera class type to instantiate.

SpawnLocation

The location where the camera should be spawned. Will be (0,0,0) if not set.

SpawnRotation

The rotation the camera should be initialized with. Will be (0,0,0) if not set.

FollowTarget

The target actor passed into the follow component. Can be null if this camera does not have a follow component.

AimTarget

The target actor passed into the aim component. Can be null if this camera does not have an aim component.

FollowSocket

Optional socket name. If specified, will use this socket's transform instead of the follow target's. Should be careful of the socket's rotation.

AimSocket

Optional socket name. If specified, will use this socket's transform instead of the aim target's. Should be careful of the socket's rotation.

BlendTime

Blend-in time used for transitioning from the current active camera to the new camera.

BlendFunc

Which type of blend function to use.

BlendExp

Blend exponential.

bLockOutgoing

If true, lock outgoing viewtarget to last frame's camera position for the remainder of the blend.

bIsTransitory

Whether the called camera is transitory. If true, it will be automatically terminated after LifeTime seconds.

LifeTime

The life time of the called camera if it is transitory.

bPreserveState

Whether the incoming camera tries to preserve outgoing camera's location and rotation. If you specified SpawnLocation and SpawnRotation, you should switch this off.

bCheckClass

When enabled, return the current active one if the input CameraClass is the same as the current active camera. When disabled, always create a new camera.

Output

Returned Value

The called camera.

CallCameraWithSceneComponent

Call a TSubclassOf class type camera actor. Highly recommending using this node rather than UE's vanilla SetViewTargetWithBlend node. This version should only be used when you prefer feeding scene components rather than sockets. Otherwise, CallCamera node is recommended.

Input / Output
Description

Input

CameraClass

The camera class type to instantiate.

SpawnLocation

The location where the camera should be spawned. Will be (0,0,0) if not set.

SpawnRotation

The rotation the camera should be initialized with. Will be (0,0,0) if not set.

FollowTarget

The target actor passed into the follow component. Can be null if this camera does not have a follow component.

AimTarget

The target actor passed into the aim component. Can be null if this camera does not have an aim component.

Follow Scene Component

Optional scene component. If specified, will use this component's transform instead of the follow target's. It's your duty to ensure it's valid and paired with FollowTarget.

Aim Scene Component

Optional scene component. If specified, will use this component's transform instead of the aim target's. It's your duty to ensure it's valid and paired with AimTarget.

BlendTime

Blend-in time used for transitioning from the current active camera to the new camera.

BlendFunc

Which type of blend function to use.

BlendExp

Blend exponential.

bLockOutgoing

If true, lock outgoing viewtarget to last frame's camera position for the remainder of the blend.

bIsTransitory

Whether the called camera is transitory. If true, it will be automatically terminated after LifeTime seconds.

LifeTime

The life time of the called camera if it is transitory.

bPreserveState

Whether the incoming camera tries to preserve outgoing camera's location and rotation. If you specified SpawnLocation and SpawnRotation, you should switch this off.

bCheckClass

When enabled, return the current active one if the input CameraClass is the same as the current active camera. When disabled, always create a new camera.

Output

Returned Value

The called camera.

CallAnimatedCamera

Call an animated camera, i.e., driven by an animation sequence. This is usually used inside a skill.

Input / Output
Description

Input

AnimToPlay

The animation sequence you want to play on camera.

CoordinateActor

In which actor's local space you want to play the camera animation.

Coordinate

In which reference frame you want to play the camera animation.

PositionOffset

Position offset, in reference space.

BlendTime

Blend-in time used for transitioning from the current active camera to the new camera.

BlendFunc

Which type of blend function to use.

BlendExp

Blend exponential.

bLockOutgoing

If true, lock outgoing viewtarget to last frame's camera position for the remainder of the blend.

Output

Returned Value

The called camera.

CallKeyframedCamera

Call a keyframed camera.

Input / Output
Description

Input

KeyframedCamera

The keyframed camera you want to play.

CoordinateActor

In which actor's local space you want to apply the keyframes.

CoordinateSocket

CoordinateActor's socket the camera is based on. If this is specified, this socket's local space will be used.

Coordinate

In which reference frame you want to apply the keyframes.

CoordinateLocationOnly

Whether to apply only keyframed positions in the specified CoordinateActor or Coordinate space. If true, camera's rotation will be the original keyframed rotations. Otherwise, the camera's final rotation will be changed according to the given CoordinateActor or Coordiante.

LocationOffset

Position offset, in reference coordinate space.

AimOverride

The actor at which the camera will tries to aim.

AimSocket

The socket of AimOverride at which the camera will tries to aim. If null or None, it will be the actor's root.

BlendTime

Blend-in time used for transitioning from the current active camera to the new camera.

BlendFunc

Which type of blend function to use.

BlendExp

Blend exponential.

bLockOutgoing

If true, lock outgoing viewtarget to last frame's camera position for the remainder of the blend.

Output

Returned Value

The called camera.

CallSequencedCamera

Call a sequenced camera.

Input / Output
Description

Input

Sequenced Camera Class

A class of type ESequencedCameraSetupActor specifying sub-camera with their blending setups.

Output

Return Value

An instance of input class.

TerminateActiveCamera

Immediately terminate current active camera and gets back to previous active camera. If you only want to call a new camera, use CallCamera node instead, NOT this node.

GetActiveCamera

Get the current active ECameraBase camera.

Input / Output
Description

Output

Return Value

The current active ECameraBase actor in level.

GetEPlayerCameraManager

Get the EPlayerCameraManager actor in level.

Input / Output
Description

Input

Index

Index in the player controller list, starting first with local players and then available remote ones.

Output

Return Value

The current active ECameraBase actor in level.

GetPositionWithLocalOffset(Actor)

Get the position applied with local space offset. Input is actor.

Input / Output
Description

Input

Target Actor

An input actor in whose local space offset is applied

Offset

Offset.

Output

Return Value

The offset position.

GetPositionWithLocalOffset(Rotation)

Get the position applied with local space offset. Input is position and rotation.

Input / Output
Description

Input

Position

Target position.

Rotation

Target rotation.

Offset

Offset.

Output

Return Value

The offset position.

AddBlendable

Applies a post process material to the player camera manager. You should use EPlayerCameraManager to make this node work.

Input/Output
Description

Input

InBlendableObject

The post process material to add.

InWeight

Amount of influence the post process effect will have. 1 means full effect, while 0 means no effect.

InBlendInTime

Time used to blend into this post process.

InDuration

Duration for this post process. Set as 0 to keep it infinite.

InBlendOutTime

Time used to blend out of this post process.

RemoveBlendable

Removes a post process material added to the player camera manager. You should use EPlayerCameraManager to make this node work.

Input/Output
Description

Input

InBlendableObject

The post process material to remove.

EasyStartCameraShake

Start camera shake with shake class and optional packed oscillation parameters.

Input/Output
Description

Input

ShakeClass

The class of camera shake to play.

ShakeParams

Packed oscillation parameters. If ShakeClass is not specified, this parameter will be used.

Scale

Scalar defining how intense to play the shake. 1.0 is normal.

PlaySpace

Which coordinate system to play the shake in (affects oscillations and camera anims).

UserPlaySpaceRot

Coordinate system to play shake when PlaySpace == UserDefined.

SingleInstance

If true, only allow a single instance of this shake class to play at each time. Subsequent attempts to play this shake will simply restart the timer.

Output

Return Value

The returned camera shake instance.

EasyStartCameraShakeFromSource

Start camera shake from source with shake class and optional packed oscillation parameters. This function is intended for temoprary camera shake, i.e., camera shakes with finite duration. If you are using infinite camera shakes, though you can still specify an inifite time in this node, it's highly recommended to use UE's built-in Start Camera Shake From Source node and Stop Camera Shake to terminate specific camera shake instances.

Input/Output
Description

Input

ShakeClass

The class of camera shake to play.

ShakeParams

Packed oscillation parameters. If ShakeClass is not specified, this parameter will be used.

SpawnActor

Actor to which the camera shake source actor will be spawned and attached.

SpawnLocation

Used when SpawnActor is null. Location where the camera shake source actor will be spawned.

Attenuation

The attenuation profile for how camera shakes' intensity falls off with distance.

InnerAttenuationRadius

Under this distance from the source, the camera shakes are at full intensity.

OuterAttenuationRadius

Outside of this distance from the source, the cmaera shakes don't apply at all.

Scale

Scalar defining how intense to play the shake. 1.0 is normal.

PlaySpace

Which coordinate system to play the shake in (affects oscillations and camera anims).

UserPlaySpaceRot

Coordinate system to play shake when PlaySpace == UserDefined.

SingleInstance

If true, only allow a single instance of this shake class to play at each time. Subsequent attempts to play this shake will simply restart the timer.

Output

Return Value

The returned camera shake instance.

EasyStartCameraFade

Does a camera fade to a solid color and then fades back. Animates automatically.

Input / Output
Description

Input

FromAlpha

Alpha at which to begin the fade. Range [0..1], where 0 is fully transparent and 1 is fully opaque solid color.

ToAlpha

Alpha at which to finish in-fade.

FadeInTime

How long the in-fade should take, in seconds.

FadeInFunc

Blend function for in-fade.

Duration

How long ToAlpha remains after finishing in-fase, in seconds.

FadeOutTime

How long the out-fade should take, in seconds.

FadeOutFunc

Blend function for out-fade.

Color

Color to fade to/from.

EasyStopCameraFade

Stops camera fading.

Input / Output
Description

Input

StopAlpha

Alpha at which fade stops.

EasyStartRecentering

A sugar of ControlAim's StartRecentering function. If current active camera does not have a ControlAim component, this function will do nothing.

Input / Output
Description

Input

Duration

Recentering duration.

Func

Recentering function.

Exp

Recentering exponential.

EasyStopRecentering

A sugar of ControlAim's StopRecentering function. If current active camera does not have a ControlAim component, this function will do nothing.

SetPropertyByName

Latent function to set a property of a given object. You can type nested property names, e.g., {Property A}.{Property B}.

Note that this node does not support container types array/set/map, and the destination property can either be a numeric type (int/float) or struct, but not an object. If it's a struct, values in struct will be recursively set, but ignoring any Object type property.

For example, if you want to set the CameraDistance of a ScreenFollow component, you can achieve this using one of the following options:

  1. Object is ECameraBase, PropertyName is CameraSettingsComponent.FollowComponent.CameraDistance.

  2. Object is CameraSettingsComponent, PropertyName is FollowComponent.CameraDistance.

  3. Object is ScreenFollow, PropertyName is CameraDistance.

You should make sure the property name is correct and matches the value type. That is, if PropertyName is DampTime, Value should be of a Vector type. If no such PropertyName exists, input Object is not valid, or Value type does not match the found property, this node will do nothing.

If another SetPropertyByName node intends to set the same property of the same object as this one, or the object becomes invalid, this node will invoke the OnInterrupt output pin.

For more details, go to the Change Component Properties at Runtime section.

Input / Output
Description

Input

Object

The input object.

Property

Name

The name of the property to set.

Value

New property value.

Duration

Blend duration.

Func

Blend function.

Exp

Blend exponential.

Last updated