UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimSequencerInstanceProxy.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
11#include "AnimSequencerInstanceProxy.generated.h"
12
13UENUM(BlueprintType)
15{
16 /* Swap the root bone to the component */
18 /* Swap root bone to the actor root component */
20 /* Do not swap the root bone */
22};
23
26{
27public:
32
33 template<class TType>
34 bool IsOfType() const
35 {
36 return IsOfTypeImpl(TType::GetTypeId());
37 }
38
41
42public:
45
48
49protected:
53 virtual bool IsOfTypeImpl(const FName& Type) const
54 {
55 return false;
56 }
57
58};
59
60
72
100
102#define SEQUENCER_INSTANCE_PLAYER_TYPE(TYPE, BASE) \
103 static const FName& GetTypeId() { static FName Type(TEXT(#TYPE)); return Type; } \
104 virtual bool IsOfTypeImpl(const FName& Type) const override { return GetTypeId() == Type || BASE::IsOfTypeImpl(Type); }
105
113
114
116USTRUCT()
118{
120
121public:
125
130
132
133 // FAnimInstanceProxy interface
135 ANIMGRAPHRUNTIME_API virtual bool Evaluate(FPoseContext& Output) override;
136 ANIMGRAPHRUNTIME_API virtual void PostEvaluate(UAnimInstance* InAnimInstance) override;
137 ANIMGRAPHRUNTIME_API virtual void UpdateAnimationNode(const FAnimationUpdateContext& InContext) override;
138
140 ANIMGRAPHRUNTIME_API void UpdateAnimTrack(UAnimSequenceBase* InAnimSequence, uint32 SequenceId, float InPosition, float Weight, bool bFireNotifies);
141 ANIMGRAPHRUNTIME_API void UpdateAnimTrack(UAnimSequenceBase* InAnimSequence, uint32 SequenceId, TOptional<float> InFromPosition, float InToPosition, float Weight, bool bFireNotifies);
142
143 UE_DEPRECATED(5.0, "Please use the UpdateAnimTrackWithRootMotion that takes a MirrorDataTable")
144 ANIMGRAPHRUNTIME_API void UpdateAnimTrackWithRootMotion(UAnimSequenceBase* InAnimSequence, int32 SequenceId, const TOptional<FRootMotionOverride>& RootMotion, float InFromPosition, float InToPosition, float Weight, bool bFireNotifies);
145
146 UE_DEPRECATED(5.1, "Please use the UpdateAnimTrackWithRootMotion that takes FAnimSequencerData")
147 ANIMGRAPHRUNTIME_API void UpdateAnimTrackWithRootMotion(UAnimSequenceBase* InAnimSequence, int32 SequenceId, const TOptional<FRootMotionOverride>& RootMotion, float InFromPosition, float InToPosition, float Weight, bool bFireNotifies, UMirrorDataTable* InMirrorDataTable);
148
149 ANIMGRAPHRUNTIME_API void UpdateAnimTrackWithRootMotion(const FAnimSequencerData& InAnimSequencerData);
150
152 ANIMGRAPHRUNTIME_API virtual void ResetNodes();
153
155 ANIMGRAPHRUNTIME_API virtual void ResetPose();
156
158 ANIMGRAPHRUNTIME_API virtual void ConstructNodes();
159
161
163
165
167 template<typename Type>
168 Type* FindPlayer(uint32 SequenceId) const
169 {
170 FSequencerPlayerBase* Player = SequencerToPlayerMap.FindRef(SequenceId);
171 if (Player && Player->IsOfType<Type>())
172 {
173 return static_cast<Type*>(Player);
174 }
175
176 return nullptr;
177 }
178
180 struct FAnimNode_ApplyAdditive SequencerRootNode;
181 struct FAnimNode_MultiWayBlend FullBodyBlendNode;
182 struct FAnimNode_MultiWayBlend AdditiveBlendNode;
183 struct FAnimNode_PoseSnapshot SnapshotNode;
184
187
190
193
194 ANIMGRAPHRUNTIME_API void InitAnimTrack(UAnimSequenceBase* InAnimSequence, uint32 SequenceId);
195 ANIMGRAPHRUNTIME_API void EnsureAnimTrack(UAnimSequenceBase* InAnimSequence, uint32 SequenceId);
196 ANIMGRAPHRUNTIME_API void ClearSequencePlayerAndMirrorMaps();
197
201};
ESwapRootBone
Definition AnimSequencerInstanceProxy.h:15
#define SEQUENCER_INSTANCE_PLAYER_TYPE(TYPE, BASE)
Definition AnimSequencerInstanceProxy.h:102
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#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 GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NameTypes.h:617
Definition UObjectGlobals.h:2492
Definition UnrealString.h.inl:34
Definition AnimInstance.h:353
Definition AnimSequenceBase.h:37
Definition MirrorDataTable.h:102
@ false
Definition radaudio_common.h:23
Definition AnimInstanceProxy.h:144
Definition AnimNode_ApplyAdditive.h:13
Definition AnimNode_MultiWayBlend.h:12
Definition AnimNode_PoseSnapshot.h:33
Definition AnimNode_SequenceEvaluator.h:194
Definition AnimSequencerInstanceProxy.h:74
FAnimSequencerData(UAnimSequenceBase *InAnimSequence, int32 InSequenceId, const TOptional< FRootMotionOverride > &InRootMotion, float InFromPosition, float InToPosition, float InWeight, bool bInFireNotifies, ESwapRootBone InSwapRootBone, TOptional< FTransform > InInitialTransform, UMirrorDataTable *InMirrorDataTable)
Definition AnimSequencerInstanceProxy.h:75
ESwapRootBone SwapRootBone
Definition AnimSequencerInstanceProxy.h:96
UMirrorDataTable * MirrorDataTable
Definition AnimSequencerInstanceProxy.h:98
float ToPosition
Definition AnimSequencerInstanceProxy.h:93
UAnimSequenceBase * AnimSequence
Definition AnimSequencerInstanceProxy.h:89
bool bFireNotifies
Definition AnimSequencerInstanceProxy.h:95
float Weight
Definition AnimSequencerInstanceProxy.h:94
int32 SequenceId
Definition AnimSequencerInstanceProxy.h:90
TOptional< FTransform > InitialTransform
Definition AnimSequencerInstanceProxy.h:97
const TOptional< FRootMotionOverride > & RootMotion
Definition AnimSequencerInstanceProxy.h:91
float FromPosition
Definition AnimSequencerInstanceProxy.h:92
Definition AnimSequencerInstanceProxy.h:118
TMap< uint32, FSequencerPlayerBase * > SequencerToPlayerMap
Definition AnimSequencerInstanceProxy.h:186
FAnimSequencerInstanceProxy(UAnimInstance *InAnimInstance)
Definition AnimSequencerInstanceProxy.h:126
TMap< uint32, FAnimNode_Mirror_Standalone * > SequencerToMirrorMap
Definition AnimSequencerInstanceProxy.h:189
TOptional< FRootMotionOverride > RootMotionOverride
Definition AnimSequencerInstanceProxy.h:192
FAnimSequencerInstanceProxy()
Definition AnimSequencerInstanceProxy.h:122
TOptional< FTransform > RootBoneTransform
Definition AnimSequencerInstanceProxy.h:200
TOptional< FTransform > InitialTransform
Definition AnimSequencerInstanceProxy.h:199
Definition AnimNodeBase.h:354
Definition AnimNodeBase.h:479
Definition AnimSequencerInstanceProxy.h:63
FRootMotionOverride()
Definition AnimSequencerInstanceProxy.h:64
int32 ChildBoneIndex
Definition AnimSequencerInstanceProxy.h:68
FTransform PreviousTransform
Definition AnimSequencerInstanceProxy.h:70
bool bBlendFirstChildOfRoot
Definition AnimSequencerInstanceProxy.h:67
FTransform RootMotion
Definition AnimSequencerInstanceProxy.h:69
Definition AnimSequencerInstanceProxy.h:108
TOptional< FRootMotionOverride > RootMotion
Definition AnimSequencerInstanceProxy.h:110
FAnimNode_SequenceEvaluator_Standalone PlayerNode
Definition AnimSequencerInstanceProxy.h:111
Definition AnimSequencerInstanceProxy.h:26
virtual ~FSequencerPlayerBase()
Definition AnimSequencerInstanceProxy.h:40
int32 PoseIndex
Definition AnimSequencerInstanceProxy.h:44
FSequencerPlayerBase()
Definition AnimSequencerInstanceProxy.h:28
virtual bool IsOfTypeImpl(const FName &Type) const
Definition AnimSequencerInstanceProxy.h:53
bool bAdditive
Definition AnimSequencerInstanceProxy.h:47
bool IsOfType() const
Definition AnimSequencerInstanceProxy.h:34
Definition Optional.h:131