UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FAnimSegment Struct Reference

#include <AnimCompositeBase.h>

Public Member Functions

 FAnimSegment (const FAnimSegment &)=default
 
 FAnimSegment (FAnimSegment &&)=default
 
FAnimSegmentoperator= (const FAnimSegment &)=default
 
FAnimSegmentoperator= (FAnimSegment &&)=default
 
ENGINE_API void SetAnimReference (UAnimSequenceBase *InAnimReference, bool bInitialize=false)
 
const TObjectPtr< UAnimSequenceBase > & GetAnimReference () const
 
 FAnimSegment ()
 
float GetValidPlayRate () const
 
float GetLength () const
 
float GetEndPos () const
 
bool IsInRange (float CurPos) const
 
bool IsIncluded (float InStartPos, float InEndPos) const
 
ENGINE_API UAnimSequenceBaseGetAnimationData (float PositionInTrack, float &PositionInAnim) const
 
ENGINE_API float ConvertTrackPosToAnimPos (const float &TrackPosition) const
 
ENGINE_API void GetAnimNotifiesFromTrackPositions (const float &PreviousTrackPosition, const float &CurrentTrackPosition, FAnimNotifyContext &NotifyContext) const
 
void GetRootMotionExtractionStepsForTrackRange (TArray< FRootMotionExtractionStep > &RootMotionExtractionSteps, const float StartPosition, const float EndPosition) const
 
bool IsValid () const
 
bool IsNotifyAvailable () const
 

Public Attributes

float StartPos
 
float AnimStartTime
 
float AnimEndTime
 
float AnimPlayRate
 
int32 LoopingCount
 

Protected Attributes

TObjectPtr< UAnimSequenceBaseAnimReference
 

Friends

struct FAnimTrack
 

Detailed Description

this is anim segment that defines what animation and how

Constructor & Destructor Documentation

◆ FAnimSegment() [1/3]

FAnimSegment::FAnimSegment ( const FAnimSegment )
default

◆ FAnimSegment() [2/3]

FAnimSegment::FAnimSegment ( FAnimSegment &&  )
default

◆ FAnimSegment() [3/3]

FAnimSegment::FAnimSegment ( )
inline

Member Function Documentation

◆ ConvertTrackPosToAnimPos()

float FAnimSegment::ConvertTrackPosToAnimPos ( const float TrackPosition) const

Converts 'Track Position' to position on AnimSequence. Note: doesn't check that position is in valid range, must do that before calling this function!

◆ GetAnimationData()

UAnimSequenceBase * FAnimSegment::GetAnimationData ( float  PositionInTrack,
float PositionInAnim 
) const

Get Animation Data.

◆ GetAnimNotifiesFromTrackPositions()

void FAnimSegment::GetAnimNotifiesFromTrackPositions ( const float PreviousTrackPosition,
const float CurrentTrackPosition,
FAnimNotifyContext NotifyContext 
) const

Retrieves AnimNotifies between two Track time positions. ]PreviousTrackPosition, CurrentTrackPosition] Between PreviousTrackPosition (exclusive) and CurrentTrackPosition (inclusive). Supports playing backwards (CurrentTrackPosition<PreviousTrackPosition). Only supports contiguous range, does NOT support looping and wrapping over.

◆ GetAnimReference()

const TObjectPtr< UAnimSequenceBase > & FAnimSegment::GetAnimReference ( ) const
inline

◆ GetEndPos()

float FAnimSegment::GetEndPos ( ) const
inline

End Position within this AnimCompositeBase

◆ GetLength()

float FAnimSegment::GetLength ( ) const
inline

◆ GetRootMotionExtractionStepsForTrackRange()

void FAnimSegment::GetRootMotionExtractionStepsForTrackRange ( TArray< FRootMotionExtractionStep > &  RootMotionExtractionSteps,
const float  StartTrackPosition,
const float  EndTrackPosition 
) const

Given a Track delta position [StartTrackPosition, EndTrackPosition] See if this AnimSegment overlaps any of it, and if it does, break it up into RootMotionExtractionSteps. Supports animation playing forward and backward. Track segment should be a contiguous range, not wrapping over due to looping.

Given a Track delta position [StartTrackPosition, EndTrackPosition] See if this AnimSegment overlaps any of it, and if it does, break them up into a sequence of FRootMotionExtractionStep. Supports animation playing forward and backward. Track range should be a contiguous range, not wrapping over due to looping.

◆ GetValidPlayRate()

float FAnimSegment::GetValidPlayRate ( ) const
inline

Ensures PlayRate is non Zero

◆ IsIncluded()

bool FAnimSegment::IsIncluded ( float  InStartPos,
float  InEndPos 
) const
inline

◆ IsInRange()

bool FAnimSegment::IsInRange ( float  CurPos) const
inline

◆ IsNotifyAvailable()

bool FAnimSegment::IsNotifyAvailable ( ) const
inline

return true if anim notify is available

◆ IsValid()

bool FAnimSegment::IsValid ( ) const
inline

return true if valid, false otherwise, only invalid if we contains recursive reference

◆ operator=() [1/2]

FAnimSegment & FAnimSegment::operator= ( const FAnimSegment )
default

◆ operator=() [2/2]

FAnimSegment & FAnimSegment::operator= ( FAnimSegment &&  )
default

◆ SetAnimReference()

void FAnimSegment::SetAnimReference ( UAnimSequenceBase InAnimReference,
bool  bInitialize = false 
)

Friends And Related Symbol Documentation

◆ FAnimTrack

Member Data Documentation

◆ AnimEndTime

float FAnimSegment::AnimEndTime

Time to end playing the AnimSequence at.

◆ AnimPlayRate

float FAnimSegment::AnimPlayRate

Playback speed of this animation. If you'd like to reverse, set -1

◆ AnimReference

TObjectPtr<UAnimSequenceBase> FAnimSegment::AnimReference
protected

Anim Reference to play - only allow AnimSequence or AnimComposite

◆ AnimStartTime

float FAnimSegment::AnimStartTime

Time to start playing AnimSequence at.

◆ LoopingCount

int32 FAnimSegment::LoopingCount

◆ StartPos

float FAnimSegment::StartPos

Start Pos within this AnimCompositeBase


The documentation for this struct was generated from the following files: