Navigation
API > API/Runtime > API/Runtime/Engine > API/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. |