#include <ComposableCameraSplineNode.h>
Inherits:
UComposableCameraCameraNodeBase
Node for placing the camera on a given spline.
Public Attributes¶
| Return | Name | Description |
|---|---|---|
EComposableCameraSplineNodeSplineType |
SplineType |
|
TObjectPtr< ACameraRig_Rail > |
Rail |
|
EComposableCameraSplineNodeMoveMethod |
MoveMethod |
|
TObjectPtr< AActor > |
ClosestMoveMethodPivotActor |
|
TObjectPtr< UCurveFloat > |
AutomaticMoveCurve |
|
float |
Duration |
|
bool |
bLoop |
|
TObjectPtr< UComposableCameraInterpolatorBase > |
MoveInterpolator |
|
float |
MoveOffset |
|
bool |
bLockOrientationOnSpline |
SplineType¶
EComposableCameraSplineNodeSplineType SplineType { }
Rail¶
TObjectPtr< ACameraRig_Rail > Rail { nullptr }
MoveMethod¶
EComposableCameraSplineNodeMoveMethod MoveMethod { }
ClosestMoveMethodPivotActor¶
TObjectPtr< AActor > ClosestMoveMethodPivotActor { nullptr }
AutomaticMoveCurve¶
TObjectPtr< UCurveFloat > AutomaticMoveCurve { nullptr }
Duration¶
float Duration { 3.0f }
bLoop¶
bool bLoop { false }
MoveInterpolator¶
TObjectPtr< UComposableCameraInterpolatorBase > MoveInterpolator
MoveOffset¶
float MoveOffset { 0.f }
bLockOrientationOnSpline¶
bool bLockOrientationOnSpline { false }
Public Methods¶
| Return | Name | Description |
|---|---|---|
UComposableCameraSplineNode inline |
||
void |
OnInitialize_Implementation virtual |
|
void |
OnTickNode_Implementation virtual |
|
void |
GetPinDeclarations_Implementation virtual const |
|
void |
DrawNodeDebug virtual const |
Called each frame when the CCS.Debug.Viewport CVar is enabled, for every node on the currently running camera. Override to draw world-space debug gizmos via DrawDebugHelpers (DrawDebugSphere, DrawDebugLine, etc.) that visualise this node's runtime state — e.g. a pivot sphere for PivotOffsetNode, a look-at line for LookAtNode, the collision trace for CollisionPushNode, a sampled spline path for SplineNode. |
UComposableCameraSplineNode¶
inline
inline UComposableCameraSplineNode()
OnInitialize_Implementation¶
virtual
virtual void OnInitialize_Implementation()
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
DrawNodeDebug¶
virtual const
virtual void DrawNodeDebug(UWorld * World, bool bViewerIsOutsideCamera) const
Called each frame when the CCS.Debug.Viewport CVar is enabled, for every node on the currently running camera. Override to draw world-space debug gizmos via DrawDebugHelpers (DrawDebugSphere, DrawDebugLine, etc.) that visualise this node's runtime state — e.g. a pivot sphere for PivotOffsetNode, a look-at line for LookAtNode, the collision trace for CollisionPushNode, a sampled spline path for SplineNode.
Access the owning camera via OwningCamera and current-frame pin values via the usual GetInputPinValue<T>() / member-read path — this hook fires AFTER TickNode, so pin-backed UPROPERTYs still hold the resolved values from the most recent evaluation.
bViewerIsOutsideCamera mirrors the ticker's frustum-draw flag: true when the viewer is observing the camera from outside (F8 eject, SIE, or CCS.Debug.Viewport.AlwaysShow), false when the player is looking through the camera. Most gizmos (pivot spheres at distant characters, lines to look-at targets, spline polylines far in the world) can ignore this and draw unconditionally. Gizmos that sit AT the camera's own position (e.g. CollisionPushNode's self-collision sphere) should gate on this bool so they don't hermetically seal the player inside the wireframe during live gameplay.
Default implementation does nothing. Compiled out in shipping builds.
Private Attributes¶
| Return | Name | Description |
|---|---|---|
TUniquePtr< TCameraInterpolator< TValueTypeWrapper< double > > > |
MoveInterpolator_T |
|
IComposableCameraSplineInterface * |
SplineInterface |
|
float |
ElapsedTimeForAutomaticMethod |
|
bool |
bFirstLapIfLoop |
MoveInterpolator_T¶
TUniquePtr< TCameraInterpolator< TValueTypeWrapper< double > > > MoveInterpolator_T
SplineInterface¶
IComposableCameraSplineInterface * SplineInterface
ElapsedTimeForAutomaticMethod¶
float ElapsedTimeForAutomaticMethod { 0.0f }
bFirstLapIfLoop¶
bool bFirstLapIfLoop { true }
Private Methods¶
| Return | Name | Description |
|---|---|---|
void |
UpdateCameraPoseByBuiltInSpline |
|
void |
UpdateCameraPoseByBezierSpline |
|
void |
UpdateCameraPoseByHermiteSpline |
|
void |
UpdateCameraPoseByBasicSpline |
|
void |
UpdateCameraPoseByNURBSpline |
UpdateCameraPoseByBuiltInSpline¶
void UpdateCameraPoseByBuiltInSpline(FVector & OutPosition, FRotator & OutRotation, const FComposableCameraPose & CurrentCameraPose, float DeltaTime)
UpdateCameraPoseByBezierSpline¶
void UpdateCameraPoseByBezierSpline(FVector & OutPosition, FRotator & OutRotation, const FComposableCameraPose & CurrentCameraPose, float DeltaTime)
UpdateCameraPoseByHermiteSpline¶
void UpdateCameraPoseByHermiteSpline(FVector & OutPosition, FRotator & OutRotation, const FComposableCameraPose & CurrentCameraPose, float DeltaTime)
UpdateCameraPoseByBasicSpline¶
void UpdateCameraPoseByBasicSpline(FVector & OutPosition, FRotator & OutRotation, const FComposableCameraPose & CurrentCameraPose, float DeltaTime)
UpdateCameraPoseByNURBSpline¶
void UpdateCameraPoseByNURBSpline(FVector & OutPosition, FRotator & OutRotation, const FComposableCameraPose & CurrentCameraPose, float DeltaTime)