#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
TSoftObjectPtr< AActor > ActorForYawConstrain
FVector VectorForYawConstrain
FVector2D YawRange
bool bConstrainPitch
EComposableCameraRotationConstrainType ConstrainPitchType
TSoftObjectPtr< AActor > ActorForPitchConstrain
FVector VectorForPitchConstrain
FVector2D PitchRange

bConstrainYaw

bool bConstrainYaw { false }

ConstrainYawType

EComposableCameraRotationConstrainType ConstrainYawType {  }

ActorForYawConstrain

TSoftObjectPtr< AActor > ActorForYawConstrain { nullptr }

VectorForYawConstrain

FVector VectorForYawConstrain { FVector::ForwardVector }

YawRange

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

bConstrainPitch

bool bConstrainPitch { true }

ConstrainPitchType

EComposableCameraRotationConstrainType ConstrainPitchType {  }

ActorForPitchConstrain

TSoftObjectPtr< AActor > ActorForPitchConstrain { nullptr }

VectorForPitchConstrain

FVector VectorForPitchConstrain { FVector::ForwardVector }

PitchRange

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

Public Methods

Return Name Description
void OnTickNode_Implementation virtual
void GetPinDeclarations_Implementation virtual const

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(const double WorldCurrentYaw, const FVector2D & Vector2)

FindTargetPitchInRange

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