UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneSkeletalAnimationSystem.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
10#include "UObject/ObjectKey.h"
11#include "MovieSceneSkeletalAnimationSystem.generated.h"
12
14class UAnimMontage;
16enum class ESwapRootBone : uint8;
17
18namespace UE::MovieScene
19{
20
39
62
76
83
94
95} // namespace UE::MovieScene
96
97UCLASS(MinimalAPI)
100{
101public:
102
104
106
107 MOVIESCENETRACKS_API static UObject* ResolveSkeletalMeshComponentBinding(UObject* InObject);
108
109 MOVIESCENETRACKS_API FTransform GetRootMotionOffset(UObject* InObject) const;
110 MOVIESCENETRACKS_API void UpdateRootMotionOffset(UObject* InObject);
111
112 MOVIESCENETRACKS_API TOptional<FTransform> GetInitialActorTransform(UObject* InObject) const;
113 MOVIESCENETRACKS_API TOptional<FQuat> GetInverseMeshToActorRotation(UObject* InObject) const;
114
115protected:
116
118 {
120
122 {
123 // ComponentData is only used to filter the grouping to objects with animations. If it were used for the key, it would only group objects
124 // with identical animations, so instead the object is used for both the key and value of the tuple.
126 return true;
127 }
128
129#if WITH_EDITOR
130 bool OnObjectsReplaced(GroupKeyType& InOutKey, const TMap<UObject*, UObject*>& ReplacementMap)
131 {
132 if (UObject* const * NewObject = ReplacementMap.Find(InOutKey.ResolveObjectPtr()))
133 {
135 return true;
136 }
137 return false;
138 }
139#endif
140
141 };
142
143private:
144
145 virtual void OnSchedulePersistentTasks(UE::MovieScene::IEntitySystemScheduler* TaskScheduler) override;
146 virtual void OnRun(FSystemTaskPrerequisites& InPrerequisites, FSystemSubsequentTasks& Subsequents) override final;
147 virtual void OnLink() override;
148 virtual void OnUnlink() override;
149
150 virtual bool IsRelevantImpl(UMovieSceneEntitySystemLinker* InLinker) const override;
151
152 void CleanSystemData();
153
154private:
155
158};
159
ESwapRootBone
Definition AnimSequencerInstanceProxy.h:15
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 GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition IDelegateInstance.h:14
Definition UObjectGlobals.h:1292
Definition IMovieScenePlayer.h:90
Definition UnrealString.h.inl:34
Definition IMovieSceneTaskScheduler.h:162
Definition MovieSceneEntitySystemLinker.h:113
Definition MovieSceneEntitySystem.h:62
Definition MovieSceneSkeletalAnimationSection.h:115
Definition MovieSceneSkeletalAnimationSystem.h:100
Definition Object.h:95
Type
Definition MovieSceneFwd.h:43
Definition ConstraintsManager.h:14
Definition FrameTime.h:16
Definition MovieScenePlayback.h:184
Definition MovieSceneTracksComponentTypes.h:111
Definition ObjectKey.h:19
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:25
Definition MovieSceneSkeletalAnimationSystem.h:23
FMovieSceneContext Context
Definition MovieSceneSkeletalAnimationSystem.h:25
uint8 bResetDynamics
Definition MovieSceneSkeletalAnimationSystem.h:35
float FromEvalTime
Definition MovieSceneSkeletalAnimationSystem.h:30
uint8 bWantsRestoreState
Definition MovieSceneSkeletalAnimationSystem.h:36
uint8 bPlaying
Definition MovieSceneSkeletalAnimationSystem.h:34
uint8 bFireNotifies
Definition MovieSceneSkeletalAnimationSystem.h:33
const UMovieSceneSkeletalAnimationSection * AnimSection
Definition MovieSceneSkeletalAnimationSystem.h:24
FMovieSceneEntityID EntityID
Definition MovieSceneSkeletalAnimationSystem.h:27
float ToEvalTime
Definition MovieSceneSkeletalAnimationSystem.h:31
EMovieScenePlayerStatus::Type PlayerStatus
Definition MovieSceneSkeletalAnimationSystem.h:32
FFrameTime EvalFrameTime
Definition MovieSceneSkeletalAnimationSystem.h:26
FRootInstanceHandle RootInstanceHandle
Definition MovieSceneSkeletalAnimationSystem.h:28
double BlendWeight
Definition MovieSceneSkeletalAnimationSystem.h:29
uint8 bPreviewPlayback
Definition MovieSceneSkeletalAnimationSystem.h:37
Definition MovieSceneSkeletalAnimationSystem.h:42
FDelegateHandle OnBoneTransformsFinalizedHandle
Definition MovieSceneSkeletalAnimationSystem.h:50
FBoneTransformFinalizeData()
Definition MovieSceneSkeletalAnimationSystem.cpp:275
TOptional< FQuat > InverseMeshToActorRotation
Definition MovieSceneSkeletalAnimationSystem.h:48
TOptional< FTransform > InitialActorTransform
Definition MovieSceneSkeletalAnimationSystem.h:47
void Unregister()
Definition MovieSceneSkeletalAnimationSystem.cpp:319
void BoneTransformFinalized()
Definition MovieSceneSkeletalAnimationSystem.cpp:337
ESwapRootBone SwapRootBone
Definition MovieSceneSkeletalAnimationSystem.h:45
FTransform MeshRelativeRootMotionTransform
Definition MovieSceneSkeletalAnimationSystem.h:46
TWeakObjectPtr< USkeletalMeshComponent > SkeletalMeshComponent
Definition MovieSceneSkeletalAnimationSystem.h:44
Definition MovieSceneSkeletalAnimationSystem.h:65
FAnimationArray SimulatedAnimations
Definition MovieSceneSkeletalAnimationSystem.h:71
FAnimationArray Animations
Definition MovieSceneSkeletalAnimationSystem.h:69
FBoneTransformFinalizeData BoneTransformFinalizeData
Definition MovieSceneSkeletalAnimationSystem.h:73
Definition BuiltInComponentTypes.h:495
Definition MovieSceneSkeletalAnimationSystem.h:79
TWeakObjectPtr< UAnimMontage > Montage
Definition MovieSceneSkeletalAnimationSystem.h:80
int32 MontageInstanceId
Definition MovieSceneSkeletalAnimationSystem.h:81
Definition MovieSceneEntityIDs.h:302
Definition MovieSceneSequenceInstanceHandle.h:58
Definition MovieSceneSkeletalAnimationSystem.h:85
void ResetSkeletalAnimations()
Definition MovieSceneSkeletalAnimationSystem.cpp:378
TMap< FObjectKey, TMap< FObjectKey, FMontagePlayerPerSectionData > > MontageData
Definition MovieSceneSkeletalAnimationSystem.h:92
TMap< TWeakObjectPtr< USkeletalMeshComponent >, FBoundObjectActiveSkeletalAnimations > SkeletalAnimations
Definition MovieSceneSkeletalAnimationSystem.h:89
Definition MovieSceneSkeletalAnimationSystem.h:118
bool GetGroupKey(UObject *Object, FMovieSceneSkeletalAnimationComponentData ComponentData, GroupKeyType &OutGroupKey)
Definition MovieSceneSkeletalAnimationSystem.h:121