#include <ComposableCameraRotationConstraints.h>

Inherits: UComposableCameraCameraNodeBase

Node for constraining rotation's yaw or pitch.
@ InputParameter bConstrainYaw: Whether to enable yaw constraint.
@ InputParameter ConstrainYawType: Constrain yaw type, choose between WorldSpace, ActorSpace and VectorSpace.
@ InputParameter ActorForYawConstrain: Reference actor when ActorSpace is used. Its transform will be used as the reference frame.
@ InputParameter VectorForYawConstrain: Reference vector when VectorSpace is used. It will serve as the forward vector of the reference frame.
@ InputParameter YawRange: Yaw range in the reference frame. Use the world space, actor space or vector space as the reference frame.
@ InputParameter bConstrainPitch: Whether to enable pitch constraint.
@ InputParameter ConstrainPitchType: Constrain pitch type, choose between WorldSpace, ActorSpace and VectorSpace.
@ InputParameter ActorForPitchConstrain: Reference actor when ActorSpace is used. Its transform will be used as the reference frame.
@ InputParameter VectorForPitchConstrain: Reference vector when VectorSpace is used. It will serve as the forward vector of the reference frame.
@ InputParameter PitchRange: Pitch range in the reference frame. Use the world space, actor space or vector space as the reference frame.

Public Attributes

Return Name Description
bool bConstrainYaw
EComposableCameraRotationConstrainType ConstrainYawType
EComposableCameraActorInputSource ActorForYawConstrainSource
TObjectPtr< AActor > ActorForYawConstrain
FVector VectorForYawConstrain
FVector2D YawRange
bool bConstrainPitch
EComposableCameraRotationConstrainType ConstrainPitchType
EComposableCameraActorInputSource ActorForPitchConstrainSource
TObjectPtr< AActor > ActorForPitchConstrain
FVector VectorForPitchConstrain
FVector2D PitchRange

bConstrainYaw

bool bConstrainYaw { false }

ConstrainYawType

EComposableCameraRotationConstrainType ConstrainYawType {  }

ActorForYawConstrainSource

EComposableCameraActorInputSource ActorForYawConstrainSource { EComposableCameraActorInputSource::ExplicitActor }

Selects whether yaw actor-space constraints use an explicit actor or the controller-controlled pawn owned by the camera manager.


ActorForYawConstrain

TObjectPtr< AActor > ActorForYawConstrain { nullptr }

VectorForYawConstrain

FVector VectorForYawConstrain { FVector::ForwardVector }

YawRange

FVector2D YawRange { FVector2D {-180., 180.} }

bConstrainPitch

bool bConstrainPitch { true }

ConstrainPitchType

EComposableCameraRotationConstrainType ConstrainPitchType {  }

ActorForPitchConstrainSource

EComposableCameraActorInputSource ActorForPitchConstrainSource { EComposableCameraActorInputSource::ExplicitActor }

Selects whether pitch actor-space constraints use an explicit actor or the controller-controlled pawn owned by the camera manager.


ActorForPitchConstrain

TObjectPtr< AActor > ActorForPitchConstrain { nullptr }

VectorForPitchConstrain

FVector VectorForPitchConstrain { FVector::ForwardVector }

PitchRange

FVector2D PitchRange { FVector2D {-70., 70.} }

Public Methods

Return Name Description
UComposableCameraRotationConstraints inline
void OnTickNode_Implementation virtual
void GetPinDeclarations_Implementation virtual const

UComposableCameraRotationConstraints

inline

inline UComposableCameraRotationConstraints()

OnTickNode_Implementation

virtual

virtual void OnTickNode_Implementation(float DeltaTime, const FComposableCameraPose & CurrentCameraPose, FComposableCameraPose & OutCameraPose)

GetPinDeclarations_Implementation

virtual const

virtual void GetPinDeclarations_Implementation(TArray< FComposableCameraNodePinDeclaration > & OutPins) const

Private Methods

Return Name Description
double FindTargetYawInRange
double FindTargetPitchInRange

FindTargetYawInRange

double FindTargetYawInRange(double WorldCurrentYaw, double WorldPivotYaw, const FVector2D & PivotSpaceYawRange)

FindTargetPitchInRange

double FindTargetPitchInRange(const double WorldCurrentPitch, const FVector2D & Vector2)