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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
Output
Return Value
The current active ECameraBase
actor in level.
GetEPlayerCameraManager
Get the EPlayerCameraManager actor in level.
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
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
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
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
InBlendableObject
The post process material to remove.
EasyStartCameraShake
Start camera shake with shake class and optional packed oscillation parameters.
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
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
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
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
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:
Object
is ECameraBase,PropertyName
is CameraSettingsComponent.FollowComponent.CameraDistance.Object
is CameraSettingsComponent,PropertyName
is FollowComponent.CameraDistance.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
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