UAnimSequenceBase

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Animation/AnimSequenceBase.h

Include

#include "Animation/AnimSequenceBase.h"

Syntax

class UAnimSequenceBase : public UAnimationAsset

Variables

Name Description

Public variable

TArray< FAnimNotifyTrack >

 

AnimNotifyTracks

If you change Notifies array, this will need to be rebuilt

Public variable

TArray< struct FAnimNotifyEvent >

 

Notifies

Animation notifies, sorted by time (earliest notification first).

Public variable

float

 

RateScale

Number for tweaking playback rate of this animation globally.

Public variable

FRawCurveTracks

 

RawCurveData

Raw uncompressed float curve data

Public variable

float

 

SequenceLength

Length (in seconds) of this AnimSequence if played back with a speed of 1.0.

Constructors

Name Description

Public function

UAnimSequenceBase

(
    const FObjectInitializer& ObjectInitializer
)

Functions

Name Description

Public function Virtual Const

void

 

AdvanceMarkerPhaseAsFollower

(
    const FMarkerTickContext& Context,
    float DeltaRemaining,
    bool bLooping,
    float& CurrentTime,
    FMarkerPair& PreviousMarker,
    FMarkerPair& NextMarker
)

Public function Virtual Const

void

 

AdvanceMarkerPhaseAsLeader

(
    bool bLooping,
    float MoveDelta,
    const TArray< FName >& ValidMarkerNames,
    float& CurrentTime,
    FMarkerPair& PrevMarker,
    FMarkerPair& NextMarker,
    TArray< FPassedMarker >& MarkersPassed
)

Public function Virtual Const

EAnimEventTriggerOffsets::Type

 

CalculateOffsetForNotify

(
    float NotifyDisplayTime
)

Calculates what (if any) offset should be applied to the trigger time of a notify given its display time

Public function Virtual Const

bool

 

CanBeUsedInComposition()

Public function

void

 

ClampNotifiesAtEndOfSequence()

Fix up any notifies that are positioned beyond the end of the sequence

Public function Virtual

void

 

EnableRootMotionSettingFromMontage

(
    bool bInEnableRootMotion,
    const ERootMotionRootLock::Type InRootMotionRootLock
)

To support anim sequence base to montage

Public function Virtual Const

float

 

EvaluateCurveData

(
    SmartName::UID_Type CurveUID,
    float CurrentTime,
    bool bForceUseRawData
)

Evaluate curve data to Instance at the time of CurrentTime

Public function Virtual Const

void

 

EvaluateCurveData

(
    FBlendedCurve& OutCurve,
    float CurrentTime,
    bool bForceUseRawData
)

Evaluate curve data to Instance at the time of CurrentTime

Public function

uint8 *

 

FindArrayProperty

(
    const TCHAR* PropName,
    UArrayProperty*& ArrayProperty,
    int32 ArrayIndex
)

Get a pointer to the data for a given array property item.

Public function

uint8 *

 

FindNotifyPropertyData

(
    int32 NotifyIndex,
    UArrayProperty*& ArrayProperty
)

Get a pointer to the data for a given Anim Notify.

Public function Virtual Const

EAdditiveAnimationType

 

GetAdditiveAnimType()

Default implementation, no additive

Public function Virtual Const

UAnimSequence *

 

GetAdditiveBasePose()

Ideally this would be animsequcnebase, but we might have some issue with that. For now, just allow AnimSequence

Public function Virtual Const

void

 

GetAnimationPose

(
    FCompactPose& OutPose,
    FBlendedCurve& OutCurve,
    const FAnimExtractContext& ExtractionContext
)

Get Bone Transform of the Time given, relative to Parent for all RequiredBones This returns different transform based on additive or not.

Public function Const

void

 

GetAnimNotifies

(
    const float& StartTime,
    const float& DeltaTime,
    const bool bAllowLooping,
    TArray< FAnimNotifyEventReference >& OutActiveNotifies
)

Retrieves AnimNotifies given a StartTime and a DeltaTime.

Public function Virtual Const

void

 

GetAnimNotifiesFromDeltaPositions

(
    const float& PreviousPosition,
    const float& CurrentPosition,
    TArray< FAnimNotifyEventReference >& OutActiveNotifies
)

Retrieves AnimNotifies between two time positions.

Public function Virtual Const

const FRawCurveTracks &

 

GetCurveData()

Public function Virtual Const

float

 

GetFirstMatchingPosFromMarkerSyncPos

(
    const FMarkerSyncAnimPosition& InMarkerSyncGroupPosition
)

Public function Virtual Const

int32

 

GetFrameAtTime

(
    const float Time
)

Get the frame number for the provided time

Public function Virtual Const

void

 

GetMarkerIndicesForPosition

(
    const FMarkerSyncAnimPosition& SyncPosition,
    bool bLooping,
    FMarkerPair& OutPrevMarker,
    FMarkerPair& OutNextMarker,
    float& CurrentTime
)

Public function Virtual Const

void

 

GetMarkerIndicesForTime

(
    float CurrentTime,
    bool bLooping,
    const TArray< FName >& ValidMarkerNames,
    FMarkerPair& OutPrevMarker,
    FMarkerPair& OutNextMarker
)

Public function Virtual Const

FMarkerSyncAnimPosition

 

GetMarkerSyncPositionfromMarkerIndicies

(
    int32 PrevMarker,
    int32 NextMarker,
    float CurrentTime
)

Public function Virtual Const

float

 

GetNextMatchingPosFromMarkerSyncPos

(
    const FMarkerSyncAnimPosition& InMarkerSyncGroupPosition,
    const float& StartingPosition
)

Public function Virtual Const

int32

 

GetNumberOfFrames()

Return Number of Frames

Public function Virtual

float

 

GetPlayLength()

Returns the total play length of the montage, if played back with a speed of 1.0.

Public function Virtual Const

float

 

GetPrevMatchingPosFromMarkerSyncPos

(
    const FMarkerSyncAnimPosition& InMarkerSyncGroupPosition,
    const float& StartingPosition
)

Public function Virtual Const

float

 

GetTimeAtFrame

(
    const int32 Frame
)

Get the time at the given frame

Public function Virtual Const

void

 

HandleAssetPlayerTickedInternal

(
    FAnimAssetTickContext& Context,
    const float PreviousTime,
    const float MoveDelta,
    const FAnimTickRecord& Instance,
    FAnimNotifyQueue& NotifyQueue
)

Public function Virtual Const

bool

 

HasCurveData

(
    SmartName::UID_Type CurveUID,
    bool bForceUseRawData
)

Public function Virtual Const

bool

 

HasRootMotion()

Public function

void

 

InitializeNotifyTrack()

Public function Virtual Const

bool

 

IsNotifyAvailable()

Return true if anim notify is available

Public function Virtual Const

bool

 

IsValidToPlay()

Public function Virtual

void

 

MarkRawDataAsModified

(
    bool bForceNewRawDatGuid
)

Store that our raw data has changed so that we can get correct compressed data later on.

Public function Virtual

void

 

RefreshCacheData()

Update cache data (notify tracks, sync markers)

Public function

void

 

RefreshCurveData()

Public function

void

 

RegisterOnAnimCurvesChanged

(
    const FOnAnimCurvesChanged& Delegate
)

Registers a delegate to be called after anim curves have changed

Public function

void

 

RegisterOnAnimTrackCurvesChanged

(
    const FOnAnimTrackCurvesChanged& Delegate
)

Registers a delegate to be called after anim track curves have changed

Public function

void

 

RegisterOnNotifyChanged

(
    const FOnNotifyChanged& Delegate
)

Registers a delegate to be called after notification has changed

Public function

bool

 

RemoveNotifies

(
    const TArray< FName >& NotifiesToRemove
)

Remove the notifies specified

Public function

void

 

SortNotifies()

Sort the Notifies array by time, earliest first.

Public function Const

void

 

TickByMarkerAsFollower

(
    FMarkerTickRecord& Instance,
    FMarkerTickContext& MarkerContext,
    float& CurrentTime,
    float& OutPreviousTime,
    const float MoveDelta,
    const bool bLooping
)

Public function Const

void

 

TickByMarkerAsLeader

(
    FMarkerTickRecord& Instance,
    FMarkerTickContext& MarkerContext,
    float& CurrentTime,
    float& OutPreviousTime,
    const float MoveDelta,
    const bool bLooping
)

Public function

void

 

UnregisterOnAnimCurvesChanged

(
    void* Unregister
)

Public function

void

 

UnregisterOnAnimTrackCurvesChanged

(
    void* Unregister
)

Public function

void

 

UnregisterOnNotifyChanged

(
    void* Unregister
)

Protected function

void

 

VerifyCurveNames

(
    USkeleton& Skeleton,
    const FName& NameContainer,
    TArray< DataType >& CurveList
)

Overridden from UAnimationAsset

Name Description

Public function Virtual

float

 

GetMaxCurrentTime()

This is used in editor only when used for transition getter this doesn't mean max time.

Protected function Virtual

void

 

RefreshParentAssetData()

Public function Virtual

void

 

RemapTracksToNewSkeleton

(
    USkeleton* NewSkeleton,
    bool bConvertSpaces
)

Public function Virtual Const

void

 

TickAssetPlayer

(
    FAnimTickRecord& Instance,
    FAnimNotifyQueue& NotifyQueue,
    FAnimAssetTickContext& Context
)

Advances the asset player instance

Overridden from UObject

Name Description

Public function Virtual Const

void

 

GetAssetRegistryTags

(
    TArray< FAssetRegistryTag >& OutTags
)

Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Typedefs

Deprecated Functions

Name Description

Public function Const

void

 

GetAnimNotifies

(
    const float& StartTime,
    const float& DeltaTime,
    const bool bAllowLooping,
    TArray< const FAnimNotifyEvent* >& OutActiveNotifies
)

Use the GetAnimNotifiesFromTrackPositions that takes FAnimNotifyEventReferences instead

Public function Const

void

 

GetAnimNotifiesFromDeltaPositions

(
    const float& PreviousPosition,
    const float& CurrentPosition,
    TArray< const FAnimNotifyEvent* >& OutActiveNotifies
)

Use the GetAnimNotifiesFromTrackPositions that takes FAnimNotifyEventReferences instead

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback