UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneCommonAnimationTrack.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "Misc/FrameNumber.h"
8#include "MovieSceneCommonAnimationTrack.generated.h"
9
10#define UE_API MOVIESCENETRACKS_API
11
15
20USTRUCT()
22{
24
25 FFrameTime FrameTick;
26 FFrameTime StartFrame;
28 bool bRootMotionsDirty;
29 bool bHaveRootMotion;
30 FTransform RootMotionStartOffset; // root motion may not be in Mesh Space if we are putting values on a bone that is a child of a root with an offset
32 FMovieSceneSkeletalAnimRootMotionTrackParams() : bRootMotionsDirty(true),bHaveRootMotion(false) {}
33
34#if WITH_EDITORONLY_DATA
35 bool bCacheRootTransforms = false;
37#endif
38};
39
40UCLASS(MinimalAPI)
43{
45
46public:
47
49
51 UE_API virtual UMovieSceneSection* AddNewAnimationOnRow(FFrameNumber KeyTime, UAnimSequenceBase* AnimSequence, int32 RowIndex);
52
54 virtual UMovieSceneSection* AddNewAnimation(FFrameNumber KeyTime, UAnimSequenceBase* AnimSequence) { return AddNewAnimationOnRow(KeyTime, AnimSequence, INDEX_NONE); }
55
56 UE_API virtual const TArray<UMovieSceneSection*>& GetAllSections() const override;
57 UE_API virtual UMovieSceneSection* CreateNewSection() override;
58 UE_API virtual bool SupportsType(TSubclassOf<UMovieSceneSection> SectionClass) const override;
59 UE_API virtual bool SupportsMultipleRows() const override;
60 UE_API virtual void RemoveAllAnimationData() override;
61 UE_API virtual bool HasSection(const UMovieSceneSection& Section) const override;
62 UE_API virtual void AddSection(UMovieSceneSection& Section) override;
63 UE_API virtual void RemoveSection(UMovieSceneSection& Section) override;
64 UE_API virtual void RemoveSectionAt(int32 SectionIndex) override;
65 UE_API virtual bool IsEmpty() const override;
66 UE_API virtual void UpdateEasing() override;
67
68#if WITH_EDITOR
69 UE_API virtual void PostEditImport() override;
70 UE_API virtual void PostEditUndo() override;
71 UE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
72#endif
73
74 virtual bool ShouldUseRootMotions() const
75 {
76 return false;
77 }
78
79public:
80
81 UE_API void SetRootMotionsDirty();
82 UE_API void SetUpRootMotions(bool bForce);
85 const FName& BoneName, FTransform& SecondSectionRootDiff, FVector& TranslationDiff, FQuat& RotationDiff); //add options for z and for rotation.
86#if WITH_EDITORONLY_DATA
88#endif
89
90#if WITH_EDITOR
92#endif
93
94private:
95 //Not called yet, will be used to automatch a section when it's added to another
96 UE_API void AutoMatchSectionRoot(UMovieSceneSkeletalAnimationSection* AnimSection);
97
98 UE_API void SortSections();
99
100public:
101
103 UPROPERTY()
105
106 UPROPERTY()
108
110 UPROPERTY(EditAnywhere, Category = "Root Motions")
111 bool bBlendFirstChildOfRoot;
112
113#if WITH_EDITORONLY_DATA
114
116 UPROPERTY(EditAnywhere, Category = "Root Motions")
118
119#endif
120};
121
122#undef UE_API
@ INDEX_NONE
Definition CoreMiscDefines.h:150
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
return true
Definition ExternalRpcRegistry.cpp:601
#define UE_API
Definition MovieSceneCommonAnimationTrack.h:10
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
Definition Array.h:670
Definition SubclassOf.h:30
Definition AnimSequenceBase.h:37
Definition MovieSceneCommonAnimationTrack.h:43
virtual bool ShouldUseRootMotions() const
Definition MovieSceneCommonAnimationTrack.h:74
virtual UMovieSceneSection * AddNewAnimation(FFrameNumber KeyTime, UAnimSequenceBase *AnimSequence)
Definition MovieSceneCommonAnimationTrack.h:54
Definition MovieSceneNameableTrack.h:24
Definition MovieSceneSection.h:243
virtual MOVIESCENE_API void PostEditImport() override
Definition MovieSceneSection.cpp:85
Definition MovieSceneSkeletalAnimationSection.h:115
FMovieSceneSkeletalAnimationParams Params
Definition MovieSceneSkeletalAnimationSection.h:121
uint8 bMatchWithPrevious
Definition MovieSceneSkeletalAnimationSection.h:226
MOVIESCENETRACKS_API void MatchSectionByBoneTransform(USkeletalMeshComponent *SkelMeshComp, FFrameTime CurrentFrame, FFrameRate FrameRate, const FName &BoneName)
Definition MovieSceneSkeletalAnimationSection.cpp:894
MOVIESCENETRACKS_API void GetRootMotion(FFrameTime CurrentTime, FRootMotionParams &OutRootMotionParams) const
Definition MovieSceneSkeletalAnimationSection.cpp:632
@ false
Definition radaudio_common.h:23
Definition FrameNumber.h:18
Definition FrameRate.h:21
Definition FrameTime.h:16
Definition MovieSceneCommonAnimationTrack.h:22
Definition UnrealType.h:6865
Definition ObjectPtr.h:488
Definition Optional.h:131