Navigation
Unreal Engine C++ API Reference > Runtime > Engine > Animation
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UAnimationAsset
- UAnimSequenceBase
- UAnimSequence
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/Animation/AnimSequence.h |
Include | #include "Animation/AnimSequence.h" |
Syntax
UCLASS (Config=Engine, HideCategories=(UObject, Length), BlueprintType, MinimalAPI)
class UAnimSequence : public UAnimSequenceBase
Variables
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() ![]() |
TEnumAsByte< enum EAdditiveAnimationType > | AdditiveAnimType | Additive animation type. |
![]() ![]() ![]() ![]() |
TArray< FName > | AnimationTrackNames | This is name of RawAnimationData tracks for editoronly - if we lose skeleton, we'll need relink them |
![]() ![]() ![]() ![]() |
TObjectPtr< class UAssetImportData > | AssetImportData | Importing data and options used for this mesh |
![]() ![]() |
TMap< FAnimationAttributeIdentifier, FAttributeCurve > | AttributeCurves | |
![]() ![]() |
TArray< FAnimSyncMarker > | AuthoredSyncMarkers | Authored Sync markers |
![]() ![]() ![]() |
bool | bAllowFrameStripping | Allow frame stripping to be performed on this animation if the platform requests it Can be disabled if animation has high frequency movements that are being lost. |
![]() |
bool | bBlockCompressionRequests | |
![]() ![]() ![]() |
uint32: 1 | bDoNotOverrideCompression | Do not attempt to override compression scheme when running CompressAnimations commandlet. |
![]() ![]() ![]() ![]() |
bool | bEnableRootMotion | If this is on, it will allow extracting of root motion |
![]() ![]() ![]() |
bool | bForceRootLock | Force Root Bone Lock even if Root Motion is not enabled |
![]() ![]() ![]() |
TObjectPtr< class UAnimBoneCompressionSettings > | BoneCompressionSettings | The bone compression settings used to compress bones in this sequence. |
![]() ![]() |
bool | bRootMotionSettingsCopiedFromMontage | Have we copied root motion settings from an owning montage |
![]() ![]() ![]() ![]() |
bool | bUseNormalizedRootMotionScale | If this is on, it will use a normalized scale value for the root motion extracted: FVector(1.0, 1.0, 1.0) |
![]() |
TAtomic< bool > | bUseRawDataOnly | Should we be always using our raw data (i.e is our compressed data stale) |
![]() |
TMap< FIoHash, TPimplPtr< UE::Anim::FAnimationSequenceAsyncCacheTask > > | CacheTasksByKeyHash | |
![]() ![]() |
int32 | CompressCommandletVersion | Saved version number with CompressAnimations commandlet. To help with doing it in multiple passes. |
![]() |
FCompressedAnimSequence | CompressedData | |
![]() ![]() ![]() |
float | CompressionErrorThresholdScale | Set a scale for error threshold on compression. |
![]() ![]() ![]() |
TObjectPtr< class UAnimCurveCompressionSettings > | CurveCompressionSettings | The curve compression settings used to compress curves in this sequence. |
![]() |
TMap< FIoHash, TUniquePtr< FCompressedAnimSequence > > | DataByPlatformKeyHash | |
![]() |
FIoHash | DataKeyHash | |
![]() ![]() ![]() ![]() |
float | ImportFileFramerate | The DCC framerate of the imported file. UI information only, unit are Hz |
![]() ![]() ![]() ![]() |
int32 | ImportResampleFramerate | The resample framerate that was computed during import. UI information only, unit are Hz |
![]() ![]() ![]() ![]() |
EAnimInterpolationType | Interpolation | This defines how values between keys are calculated |
![]() |
int32 | MarkerDataUpdateCounter | Track whether we have updated markers so cached data can be updated. |
![]() ![]() |
int32 | NumberOfKeys | The number of keys expected within the individual (non-uniform) animation tracks. |
![]() ![]() ![]() ![]() ![]() |
int32 | NumberOfSampledFrames | |
![]() ![]() ![]() ![]() ![]() |
int32 | NumberOfSampledKeys | |
![]() ![]() |
int32 | NumFrames | Contains the number of keys expected within the individual animation tracks. |
![]() ![]() ![]() ![]() |
FPerPlatformFrameRate | PlatformTargetFrameRate | |
![]() |
TArray< struct FRawAnimSequenceTrack > | RawAnimationData | |
![]() ![]() |
FGuid | RawDataGuid | Update this if the contents of RawAnimationData changes |
![]() ![]() ![]() |
int32 | RefFrameIndex | Additve reference frame if RefPoseType == AnimFrame |
![]() ![]() ![]() |
TObjectPtr< class UAnimSequence > | RefPoseSeq | Additive reference animation if it's relevant - i.e. AnimScaled or AnimFrame |
![]() ![]() ![]() |
TEnumAsByte< enum EAdditiveBasePoseType > | RefPoseType | Additive refrerence pose type. Refer above enum type |
![]() ![]() ![]() ![]() |
FName | RetargetSource | Base pose to use when retargeting |
![]() ![]() ![]() ![]() |
TSoftObjectPtr< USkeletalMesh > | RetargetSourceAsset | If RetargetSource is set to Default (None), this is asset for the base pose to use when retargeting. |
![]() ![]() |
TArray< FTransform > | RetargetSourceAssetReferencePose | When using RetargetSourceAsset, use the post stored here |
![]() ![]() ![]() |
TEnumAsByte< ERootMotionRootLock::Type > | RootMotionRootLock | Root Bone will be locked to that position when extracting root motion. |
![]() ![]() |
FFrameRate | SamplingFrameRate | The frame rate at which the source animation is sampled. |
![]() ![]() ![]() |
EStripAnimDataOnDedicatedServerSettings | StripAnimDataOnDedicatedServer | Enum used to decide whether we should strip animation data on dedicated server |
![]() ![]() |
FFrameRate | TargetFrameRate | |
![]() |
TArray< FName > | UniqueMarkerNames | List of Unique marker names in this animation sequence |
![]() ![]() ![]() |
TObjectPtr< class UVariableFrameStrippingSettings > | VariableFrameStrippingSettings |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
UAnimSequence
(
const FObjectInitializer& ObjectInitializer |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
void | AddBoneFloatCustomAttribute
(
const FName& BoneName, |
|
![]() ![]() ![]() |
void | ||
![]() ![]() ![]() |
void | ||
![]() |
void | AddKeyToSequence
(
float Time, |
Add Key to Transform Curves |
![]() ![]() |
void | AddReferencedObjects
(
UObject* This, |
|
![]() |
void | ApplyCompressedData
(
const FString& DataCacheKeySuffix, |
|
![]() ![]() |
void | BakeOutAdditiveIntoRawData
(
TArray< FRawAnimSequenceTrack >& NewRawTracks, |
Bakes out the additive version of this animation into the raw data. |
![]() |
void | BakeOutVirtualBoneTracks
(
TArray< FRawAnimSequenceTrack >& NewRawTracks, |
Bakes out track data for the skeletons virtual bones into the raw data |
![]() |
void | BakeTrackCurvesToRawAnimationTracks
(
TArray< FRawAnimSequenceTrack >& NewRawTracks, |
|
![]() |
FIoHash | BeginCacheDerivedData
(
const ITargetPlatform* TargetPlatform |
|
![]() |
void | ||
![]() |
FCompressedAnimSequence & | CacheDerivedData
(
const ITargetPlatform* TargetPlatform |
Synchronous caching of compressed animation data for provided target platform. |
![]() |
void | ||
![]() |
void | ||
![]() ![]() |
bool | Is this animation valid for baking into additive. | |
![]() ![]() ![]() |
bool | Returns whether or not evaluation of the raw (source) animation data is possible according to whether or not the (editor only) data has been stripped | |
![]() |
void | ||
![]() |
void | ||
![]() |
void | ||
![]() ![]() ![]() |
void | Resets the retarget source asset. | |
![]() |
bool | CreateAnimation
(
UAnimSequence* Sequence |
Create Animation Sequence from the given animation |
![]() |
bool | CreateAnimation
(
USkeletalMeshComponent* MeshComponent |
Create Animation Sequence from the Mesh Component's current bone transform |
![]() |
bool | CreateAnimation
(
USkeletalMesh* Mesh |
Create Animation Sequence from Reference Pose of the Mesh |
![]() |
FIoHash | CreateDerivedDataKeyHash
(
const ITargetPlatform* TargetPlatform |
|
![]() |
void | ||
![]() |
void | ||
![]() |
void | ||
![]() ![]() |
bool | Return true if compressed data is out of date / missing and so animation needs to use raw data | |
![]() ![]() |
bool | Test whether at any point we will scale a bone to 0 (needed for validating additive anims) | |
![]() |
void | EndCacheDerivedData
(
const FIoHash& KeyHash |
|
![]() |
void | ||
![]() ![]() |
void | EvaluateAttributes
(
FAnimationPoseData& OutAnimationPoseData, |
|
![]() |
uint8 * | FindSyncMarkerPropertyData
(
int32 SyncMarkerIndex, |
Get a pointer to the data for a given Anim Notify. |
![]() |
void | ||
![]() ![]() |
void | Helper function to allow us to notify animations that depend on us that they need to update. | |
![]() ![]() |
FGuid | Generate a GUID from a hash of our own raw data | |
![]() ![]() |
void | GetAdditiveBasePose
(
FCompactPose& OutPose, |
Get Bone Transform of the base (reference) pose of the additive animation for the Time given, relative to Parent for all RequiredBones |
![]() ![]() |
void | GetAdditiveBasePose
(
FAnimationPoseData& OutAnimationPoseData, |
|
![]() ![]() |
int32 | ||
![]() ![]() |
int32 | ||
![]() ![]() |
int64 | ||
![]() ![]() |
void | GetBonePose
(
FCompactPose& OutPose, |
Get Bone Transform of the animation for the Time given, relative to Parent for all RequiredBones |
![]() ![]() |
void | GetBonePose
(
FAnimationPoseData& OutAnimationPoseData, |
Get Bone Transform of the Time given, relative to Parent for all RequiredBones This returns different transform based on additive or not. |
![]() ![]() |
void | GetBonePose_Additive
(
FCompactPose& OutPose, |
Get Bone Transform of the additive animation for the Time given, relative to Parent for all RequiredBones |
![]() ![]() |
void | GetBonePose_Additive
(
FAnimationPoseData& OutAnimationPoseData, |
|
![]() ![]() |
void | GetBoneTransform
(
FTransform& OutAtom, |
Get Bone Transform of the Time given, relative to Parent for the Track Given |
![]() ![]() |
void | GetBoneTransform
(
FTransform& OutAtom, |
|
![]() ![]() |
void | GetBoneTransform
(
FTransform& OutAtom, |
Get Bone Transform of the Time given, relative to Parent for the Track Given |
![]() ![]() |
const TArray< FAnimCompressedCurveIndexedName > & | ||
![]() ![]() |
const TArray< struct FSmartName > & | ||
![]() ![]() |
const TArray< FTrackToSkeletonMap > & | ||
![]() ![]() |
float | GetCurrentTimeFromMarkers
(
FMarkerPair& PrevMarker, |
Advancing based on markers. |
![]() ![]() |
FString | GetDDCCacheKeySuffix
(
const bool bPerformStripping, |
|
![]() ![]() |
FGuid | Return this animations guid for the raw data | |
![]() ![]() ![]() ![]() |
const TSoftObjectPtr< USkeletalMesh > & | Returns the retarget source asset soft object pointer. | |
![]() ![]() |
const TArray< FTransform > & | ||
![]() ![]() |
FName | ||
![]() ![]() |
int32 | GetSkeletonIndexFromCompressedDataTrackIndex
(
const int32 TrackIndex |
Get Skeleton Bone Index from Track Index for compressed data |
![]() ![]() |
FFrameRate | GetTargetSamplingFrameRate
(
const ITargetPlatform* InPlatform |
|
![]() ![]() |
int64 | ||
![]() ![]() |
bool | ||
![]() ![]() |
bool | IsCompiling () |
|
![]() ![]() |
bool | ||
![]() ![]() |
bool | ||
![]() |
void | ||
![]() ![]() |
bool | Should we be always using our raw data (i.e is our compressed data stale) | |
![]() ![]() |
bool | PollCacheDerivedData
(
const FIoHash& KeyHash |
|
![]() |
void | ||
![]() |
void | Refresh sync marker data | |
![]() ![]() ![]() |
void | ||
![]() ![]() ![]() |
void | RemoveAllCustomAttributesForBone
(
const FName& BoneName |
|
![]() ![]() ![]() |
void | RemoveCustomAttribute
(
const FName& BoneName, |
|
![]() |
bool | RemoveSyncMarkers
(
const TArray< FName >& MarkersToRemove |
Remove all markers with the specified names |
![]() |
bool | RenameSyncMarkers
(
FName InOldName, |
Rename the markers with the specified name |
![]() |
void | ||
![]() |
void | RequestAsyncAnimRecompression
(
bool bOutput |
|
![]() |
PRAGMA_ENABLE_DEPRECATION_WARNINGS void | RequestSyncAnimRecompression
(
bool bOutput |
|
![]() ![]() |
void | ||
![]() |
void | Reschedule
(
FQueuedThreadPool* InThreadPool, |
|
![]() |
void | Resets Bone Animation, Curve data and Notify tracks | |
![]() ![]() |
void | RetargetBoneTransform
(
FTransform& BoneTransform, |
Retarget a single bone transform, to apply right after extraction. |
![]() |
void | SerializeCompressedData
(
FArchive& Ar, |
Write the compressed data to the supplied FArchive. |
![]() ![]() ![]() |
void | SetRetargetSourceAsset
(
USkeletalMesh* InRetargetSourceAsset |
Assigns the passed skeletal mesh to the retarget source. |
![]() |
void | SetUseRawDataOnly
(
bool bInUseRawDataOnly |
|
![]() ![]() |
bool | ShouldPerformStripping
(
const bool bPerformFrameStripping, |
Get compressed data for this UAnimSequence. May be built directly or pulled from DDC. |
![]() |
void | Sort the sync markers array by time, earliest first. | |
![]() |
void | ||
![]() ![]() |
void | Performs multiple evaluations of the animation as a test of compressed data validatity | |
![]() |
bool | ||
![]() |
void | UpdateCompressedCurveName
(
const FName& OldCurveName, |
|
![]() |
void | UpdateCompressedCurveName
(
SmartName::UID_Type CurveUID, |
|
![]() ![]() |
void | Helper function to allow us to update streaming animations that depend on us with our data when we are updated. | |
![]() ![]() ![]() |
void | Update the retarget data pose from the source, if it exist, else clears the retarget data pose saved in RetargetSourceAssetReferencePose. | |
![]() ![]() |
bool | UseRawDataForPoseExtraction
(
const FBoneContainer& RequiredBones |
|
![]() ![]() |
void | ValidateCurrentPosition
(
const FMarkerSyncAnimPosition& Position, |
Take a set of marker positions and validates them against a requested start position, updating them as desired |
![]() |
bool | WaitForAsyncTasks
(
float TimeLimitSeconds |
|
![]() |
void | WaitOnExistingCompression
(
const bool bWantResults |
Overridden from UAnimSequenceBase
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
void | AdvanceMarkerPhaseAsFollower
(
const FMarkerTickContext& Context, |
|
![]() ![]() ![]() |
void | AdvanceMarkerPhaseAsLeader
(
bool bLooping, |
|
![]() ![]() |
void | EnableRootMotionSettingFromMontage
(
bool bInEnableRootMotion, |
To support anim sequence base to all montages |
![]() ![]() ![]() |
float | EvaluateCurveData
(
FName CurveName, |
|
![]() ![]() ![]() |
float | EvaluateCurveData
(
SmartName::UID_Type CurveUID, |
|
![]() ![]() ![]() |
void | EvaluateCurveData
(
FBlendedCurve& OutCurve, |
Evaluate curve data to Instance at the time of CurrentTime |
![]() ![]() ![]() |
FTransform | ExtractRootMotion
(
float StartTime, |
Extract Root Motion transform from the animation. |
![]() ![]() ![]() |
FTransform | ExtractRootMotionFromRange
(
float StartTrackPosition, |
Extract Root Motion transform from a contiguous position range (no looping) |
![]() ![]() ![]() |
FTransform | ExtractRootTrackTransform
(
float Time, |
Extract the transform from the root track for the given animation position. |
![]() ![]() ![]() |
EAdditiveAnimationType | Default implementation, no additive | |
![]() ![]() ![]() |
UAnimSequence * | Ideally this would be animsequcnebase, but we might have some issue with that. For now, just allow AnimSequence | |
![]() ![]() ![]() |
void | GetAnimationPose
(
FAnimationPoseData& OutAnimationPoseData, |
Begin Transform related functions. |
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
float | GetFirstMatchingPosFromMarkerSyncPos
(
const FMarkerSyncAnimPosition& InMarkerSyncGroupPosition |
|
![]() ![]() ![]() |
void | GetMarkerIndicesForPosition
(
const FMarkerSyncAnimPosition& SyncPosition, |
|
![]() ![]() ![]() |
void | GetMarkerIndicesForTime
(
float CurrentTime, |
|
![]() ![]() ![]() |
FMarkerSyncAnimPosition | GetMarkerSyncPositionfromMarkerIndicies
(
int32 PrevMarker, |
|
![]() ![]() ![]() |
FMarkerSyncAnimPosition | GetMarkerSyncPositionFromMarkerIndicies
(
int32 PrevMarker, |
|
![]() ![]() ![]() |
float | GetNextMatchingPosFromMarkerSyncPos
(
const FMarkerSyncAnimPosition& InMarkerSyncGroupPosition, |
|
![]() ![]() ![]() |
int32 | Return the total number of keys sampled for this animation, including the T0 key | |
![]() ![]() ![]() |
float | GetPrevMatchingPosFromMarkerSyncPos
(
const FMarkerSyncAnimPosition& InMarkerSyncGroupPosition, |
|
![]() ![]() ![]() |
FFrameRate | Return rate at which the animation is sampled | |
![]() ![]() ![]() |
void | HandleAssetPlayerTickedInternal
(
FAnimAssetTickContext& Context, |
|
![]() ![]() ![]() |
bool | HasCurveData
(
SmartName::UID_Type CurveUID, |
|
![]() ![]() ![]() |
bool | HasCurveData
(
FName CurveName, |
|
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | Add validation check to see if it's being ready to play or not | |
![]() ![]() |
void | ||
![]() ![]() |
void | OnModelModified
(
const EAnimDataModelNotifyType& NotifyType, |
Callback registered to UAnimDatModel::GetModifiedEvent for the embedded object |
![]() ![]() |
void | Populates the UAnimDataModel object according to any pre-existing data. | |
![]() ![]() |
void | Update cache data (notify tracks, sync markers) |
Overridden from UAnimationAsset
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | GetAllAnimationSequencesReferred
(
TArray< UAnimationAsset* >& AnimationSequences, |
Retrieve all animations that are used by this asset |
![]() ![]() ![]() |
int32 | ||
![]() ![]() |
TArray< FName > * | Return a list of unique marker names for blending compatibility | |
![]() ![]() ![]() |
bool | Return true if this is valid additive animation false otherwise | |
![]() ![]() |
void | OnSetSkeleton
(
USkeleton* NewSkeleton |
|
![]() ![]() |
void | ReplaceReferredAnimations
(
const TMap< UAnimationAsset*, UAnimationAsset* >& ReplacementMap |
Replace this assets references to other animations based on ReplacementMap |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | BeginCacheForCookedPlatformData
(
const ITargetPlatform* TargetPlatform |
Starts caching of platform specific data for the target platform Called when cooking before serialization so that object can prepare platform specific data Not called during normal loading of objects |
![]() ![]() |
void | BeginDestroy () |
Called before destroying the object. |
![]() ![]() |
void | Clear all cached cooked platform data | |
![]() ![]() ![]() |
void | GetAssetRegistryTags
(
FAssetRegistryTagsContext Context |
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 |
![]() ![]() ![]() |
void | GetAssetRegistryTags
(
TArray< FAssetRegistryTag >& OutTags |
|
![]() ![]() |
void | GetPreloadDependencies
(
TArray< UObject* >& OutDeps |
Called during cooking. |
![]() ![]() |
bool | IsCachedCookedPlatformDataLoaded
(
const ITargetPlatform* TargetPlatform |
Have we finished loading all the cooked platform data for the target platforms requested in BeginCacheForCookedPlatformData |
![]() ![]() ![]() |
EDataValidationResult | IsDataValid
(
FDataValidationContext& Context |
Generic function to validate objects during changelist validations, etc. |
![]() ![]() |
bool | Called to check if the object is ready for FinishDestroy. | |
![]() ![]() |
void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally |
![]() ![]() |
void | Called after the C++ constructor and after the properties have been initialized, including those loaded from config. | |
![]() ![]() |
void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
![]() ![]() |
PRAGMA_ENABLE_DEPRECATION_WARNINGS void | PreSave
(
FObjectPreSaveContext ObjectSaveContext |
Presave function. |
![]() ![]() |
PRAGMA_DISABLE_DEPRECATION_WARNINGS void | PreSave
(
const ITargetPlatform* TargetPlatform |
|
![]() ![]() |
void | Handles reading, writing, and reference collecting using FArchive. | |
![]() ![]() |
void | All caching has finished for this object (all IsCachedCookedPlatformDataLoaded functions have finished for all platforms) |
Deprecated Variables
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
FString | SourceFilePath_DEPRECATED | Path to the resource used to construct this skeletal mesh |
![]() ![]() |
FString | SourceFileTimestamp_DEPRECATED | Date/Time-stamp of the file from the last import |
![]() |
TArray< struct FRawAnimSequenceTrack > | SourceRawAnimationData_DEPRECATED | Source RawAnimationData. |