UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimationUtils.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 AnimationUtils.h: Skeletal mesh animation utilities.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
11
15
16// Forward declarations.
17class UAnimSet;
19
24{
27 //float MaxErrorInScaleDueToTrans; // Not used TODO: Either use or remove
30 //float MaxErrorInScaleDueToRot; // Not used TODO: Either use or remove
33 //float MaxErrorInScaleDueToScale; // Not used TODO: Either use or remove
34};
35
37
49
54{
55public:
56
57
61 static void BuildComponentSpaceTransform(FTransform& OutTransform,
62 int32 BoneIndex,
63 const TArray<FTransform>& BoneSpaceTransforms,
64 const TArray<FBoneData>& BoneData);
65
67
69
70#if WITH_EDITOR
81#endif
82
90
97
105
113
124#if WITH_EDITOR
126#endif // WITH_EDITOR
127
138 static bool HasUniformKeySpacing(int32 NumFrames, const TArray<float>& Times);
139
144#if WITH_EDITOR
145 static void TallyErrorsFromPerturbation(
148 const FVector& PositionNudge,
149 const FQuat& RotationNudge,
150 const FVector& ScaleNudge,
152
155#endif
156
159
162
165
168
171
172 // Extract specific frame from raw track and place in OutAtom (return identity if track is malformed)
174
175 // Extract specific frame from raw track and place in OutAtom
177
178 UE_DEPRECATED(5.1, "ExtractTransformFromTrack has been deprecated, use different signature")
180
182
183#if WITH_EDITOR
184 UE_DEPRECATED(5.1, "ExtractTransformFromCompressionData has been deprecated, use different signature")
186
188
196
204#endif
205};
AnimationKeyFormat
Definition AnimCompressionTypes.h:38
AnimationCompressionFormat
Definition AnimEnums.h:70
EAnimInterpolationType
Definition AnimTypes.h:689
EConvertToAdditive
Definition AnimationUtils.h:40
@ CTA_RefPose
Definition AnimationUtils.h:42
@ CTA_AnimFirstFrame
Definition AnimationUtils.h:44
@ CTA_AnimScaled
Definition AnimationUtils.h:46
@ CTA_MAX
Definition AnimationUtils.h:47
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
Definition AnimationUtils.h:54
static FString GetAnimationKeyFormatString(enum AnimationKeyFormat InFormat)
Definition AnimationUtils.cpp:494
static ENGINE_API UAnimCurveCompressionSettings * GetDefaultAnimationCurveCompressionSettings()
Definition AnimationUtils.cpp:981
static bool GetForcedRecompressionSetting()
Definition AnimationUtils.cpp:397
static int32 GetAnimTrackIndexForSkeletonBone(const int32 InSkeletonBoneIndex, const TArray< FTrackToSkeletonMap > &TrackToSkelMap)
Definition AnimationUtils.cpp:212
static bool HasUniformKeySpacing(int32 NumFrames, const TArray< float > &Times)
Definition AnimationUtils.cpp:569
static void BuildComponentSpaceTransform(FTransform &OutTransform, int32 BoneIndex, const TArray< FTransform > &BoneSpaceTransforms, const TArray< FBoneData > &BoneData)
Definition AnimationUtils.cpp:183
static UObject * GetDefaultAnimSequenceOuter(UAnimSet *InAnimSet, bool bCreateIfNotFound)
Definition AnimationUtils.cpp:419
static ENGINE_API UVariableFrameStrippingSettings * GetDefaultVariableFrameStrippingSettings()
Definition AnimationUtils.cpp:996
static ENGINE_API void ExtractTransformFromTrack(float Time, int32 NumFrames, float SequenceLength, const struct FRawAnimSequenceTrack &RawTrack, EAnimInterpolationType Interpolation, FTransform &OutAtom)
static ENGINE_API void BuildSkeletonMetaData(USkeleton *Skeleton, TArray< FBoneData > &OutBoneData)
Definition AnimationUtils.cpp:27
static ENGINE_API UAnimBoneCompressionSettings * GetDefaultAnimationBoneCompressionSettings()
Definition AnimationUtils.cpp:951
static ENGINE_API void ExtractTransformForFrameFromTrackSafe(const FRawAnimSequenceTrack &RawTrack, int32 Frame, FTransform &OutAtom)
Definition AnimationUtils.cpp:1016
static ENGINE_API void EnsureAnimSequenceLoaded(UAnimSequence &AnimSeq)
Definition AnimationUtils.cpp:1006
static ENGINE_API void ExtractTransformForFrameFromTrack(const FRawAnimSequenceTrack &RawTrack, int32 Frame, FTransform &OutAtom)
Definition AnimationUtils.cpp:1028
static ENGINE_API UAnimBoneCompressionSettings * GetDefaultAnimationRecorderBoneCompressionSettings()
Definition AnimationUtils.cpp:966
static ENGINE_API FString GetAnimationCompressionFormatString(enum AnimationCompressionFormat InFormat)
Definition AnimationUtils.cpp:463
Definition Array.h:670
Definition AnimBoneCompressionSettings.h:23
Definition AnimCurveCompressionSettings.h:18
Definition AnimSequence.h:203
Definition AnimSet.h:42
Definition Object.h:95
Definition Skeleton.h:295
Definition VariableFrameStrippingSettings.h:17
Definition AnimationUtils.h:24
float MaxErrorInRotDueToScale
Definition AnimationUtils.h:32
float MaxErrorInTransDueToScale
Definition AnimationUtils.h:31
float MaxErrorInRotDueToRot
Definition AnimationUtils.h:29
float MaxErrorInTransDueToRot
Definition AnimationUtils.h:28
float MaxErrorInTransDueToTrans
Definition AnimationUtils.h:25
float MaxErrorInRotDueToTrans
Definition AnimationUtils.h:26
Definition AnimCompressionTypes.h:117
Definition AnimCompressionTypes.h:775
Definition AnimCompressionTypes.h:462
Definition AnimTypes.h:853