UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FAnimInstanceProxy Struct Reference

#include <AnimInstanceProxy.h>

+ Inheritance diagram for FAnimInstanceProxy:

Public Types

using FSyncGroupMap = TMap< FName, FAnimGroupInstance >
 

Public Member Functions

ENGINE_API FAnimInstanceProxy ()
 
ENGINE_API FAnimInstanceProxy (UAnimInstance *Instance)
 
ENGINE_API FAnimInstanceProxy (const FAnimInstanceProxy &)
 
ENGINE_API FAnimInstanceProxyoperator= (FAnimInstanceProxy &&)
 
ENGINE_API FAnimInstanceProxyoperator= (const FAnimInstanceProxy &)
 
virtual ENGINE_API ~FAnimInstanceProxy ()
 
IAnimClassInterfaceGetAnimClassInterface () const
 
float GetDeltaSeconds () const
 
float GetTimeDilation () const
 
void TickSyncGroupWriteIndex ()
 
void FlipBufferWriteIndex ()
 
const TArray< FAnimGroupInstance > & GetSyncGroupRead () const
 
const FSyncGroupMapGetSyncGroupMapRead () const
 
const TArray< FAnimTickRecord > & GetUngroupedActivePlayersRead ()
 
ENGINE_API void TickAssetPlayerInstances (float DeltaSeconds)
 
ENGINE_API void TickAssetPlayerInstances ()
 
ENGINE_API void AddAnimNotifyFromGeneratedClass (int32 NotifyIndex)
 
ENGINE_API void TriggerAnimNotifies (USkeletalMeshComponent *SkelMeshComp, float DeltaSeconds)
 
bool IsSkeletonCompatible (USkeleton const *InSkeleton) const
 
bool ShouldExtractRootMotion () const
 
ENGINE_API void SavePoseSnapshot (USkeletalMeshComponent *InSkeletalMeshComponent, FName SnapshotName)
 
ENGINE_API FPoseSnapshotAddPoseSnapshot (FName SnapshotName)
 
ENGINE_API void RemovePoseSnapshot (FName SnapshotName)
 
ENGINE_API const FPoseSnapshotGetPoseSnapshot (FName SnapshotName) const
 
const FGraphTraversalCounterGetInitializationCounter () const
 
const FGraphTraversalCounterGetCachedBonesCounter () const
 
const FGraphTraversalCounterGetUpdateCounter () const
 
const FGraphTraversalCounterGetEvaluationCounter () const
 
const FGraphTraversalCounterGetSlotNodeInitializationCounter () const
 
void ResetUpdateCounter ()
 
FRootMotionMovementParamsGetExtractedRootMotion ()
 
UObjectGetAnimInstanceObject ()
 
const UObjectGetAnimInstanceObject () const
 
ENGINE_API FAnimNode_BaseGetMutableNodeFromIndexUntyped (int32 NodeIdx, UScriptStruct *RequiredStructType)
 
ENGINE_API const FAnimNode_BaseGetNodeFromIndexUntyped (int32 NodeIdx, UScriptStruct *RequiredStructType) const
 
ENGINE_API FAnimNode_BaseGetCheckedMutableNodeFromIndexUntyped (int32 NodeIdx, UScriptStruct *RequiredStructType)
 
ENGINE_API const FAnimNode_BaseGetCheckedNodeFromIndexUntyped (int32 NodeIdx, UScriptStruct *RequiredStructType) const
 
template<class NodeType >
const NodeType * GetCheckedNodeFromIndex (int32 NodeIdx) const
 
template<class NodeType >
NodeType * GetCheckedMutableNodeFromIndex (int32 NodeIdx) const
 
template<class NodeType >
const NodeType * GetNodeFromIndex (int32 NodeIdx) const
 
template<class NodeType >
NodeType * GetMutableNodeFromIndex (int32 NodeIdx) const
 
const FBoneContainerGetRequiredBones () const
 
FBoneContainerGetRequiredBones ()
 
int32 GetLODLevel () const
 
const FTransformGetSkelMeshCompLocalToWorld () const
 
const FTransformGetSkelMeshCompOwnerTransform () const
 
USkeletonGetSkeleton ()
 
USkeletalMeshComponentGetSkelMeshComponent () const
 
FAnimInstanceProxyGetMainInstanceProxy () const
 
ENGINE_API FAnimTickRecordCreateUninitializedTickRecord (int32 GroupIndex, FAnimGroupInstance *&OutSyncGroupPtr)
 
ENGINE_API FAnimTickRecordCreateUninitializedTickRecordInScope (int32 GroupIndex, EAnimSyncGroupScope Scope, FAnimGroupInstance *&OutSyncGroupPtr)
 
ENGINE_API FAnimTickRecordCreateUninitializedTickRecord (FAnimGroupInstance *&OutSyncGroupPtr, FName GroupName)
 
ENGINE_API FAnimTickRecordCreateUninitializedTickRecordInScope (FAnimGroupInstance *&OutSyncGroupPtr, FName GroupName, EAnimSyncGroupScope Scope)
 
ENGINE_API void MakeSequenceTickRecord (FAnimTickRecord &TickRecord, UAnimSequenceBase *Sequence, bool bLooping, float PlayRate, float FinalBlendWeight, float &CurrentTime, FMarkerTickRecord &MarkerTickRecord) const
 
ENGINE_API void MakeBlendSpaceTickRecord (FAnimTickRecord &TickRecord, UBlendSpace *BlendSpace, const FVector &BlendInput, TArray< FBlendSampleData > &BlendSampleDataCache, FBlendFilter &BlendFilter, bool bLooping, float PlayRate, float FinalBlendWeight, float &CurrentTime, FMarkerTickRecord &MarkerTickRecord) const
 
ENGINE_API void MakePoseAssetTickRecord (FAnimTickRecord &TickRecord, class UPoseAsset *PoseAsset, float FinalBlendWeight) const
 
void AddTickRecord (const FAnimTickRecord &InTickRecord, const UE::Anim::FAnimSyncParams &InSyncParams=UE::Anim::FAnimSyncParams())
 
ENGINE_API void GetSlotWeight (const FName &SlotNodeName, float &out_SlotNodeWeight, float &out_SourceWeight, float &out_TotalNodeWeight) const
 
ENGINE_API void SlotEvaluatePose (const FName &SlotNodeName, const FCompactPose &SourcePose, const FBlendedCurve &SourceCurve, float InSourceWeight, FCompactPose &BlendedPose, FBlendedCurve &BlendedCurve, float InBlendWeight, float InTotalNodeWeight)
 
ENGINE_API void SlotEvaluatePose (const FName &SlotNodeName, const FAnimationPoseData &SourceAnimationPoseData, float InSourceWeight, FAnimationPoseData &OutBlendedAnimationPoseData, float InBlendWeight, float InTotalNodeWeight)
 
ENGINE_API void UpdateSlotNodeWeight (const FName &SlotNodeName, float InLocalMontageWeight, float InNodeGlobalWeight)
 
ENGINE_API bool GetSlotInertializationRequest (const FName &SlotName, UE::Anim::FSlotInertializationRequest &OutRequest)
 
ENGINE_API bool GetSlotInertializationRequestData (const FName &SlotName, FInertializationRequest &OutRequest)
 
ENGINE_API void RegisterSlotNodeWithAnimInstance (const FName &SlotNodeName)
 
bool HasRootNode () const
 
FAnimNode_BaseGetRootNode ()
 
ENGINE_API void GatherDebugData (FNodeDebugData &DebugData)
 
ENGINE_API void GatherDebugData_WithRoot (FNodeDebugData &DebugData, FAnimNode_Base *InRootNode, FName InLayerName)
 
ENGINE_API void AnimDrawDebugOnScreenMessage (const FString &DebugMessage, const FColor &Color, const FVector2D &TextScale=FVector2D::UnitVector, ESceneDepthPriorityGroup DepthPriority=SDPG_World)
 
ENGINE_API void AnimDrawDebugInWorldMessage (const FString &DebugMessage, const FVector &TextLocation, const FColor &Color, float TextScale)
 
ENGINE_API void AnimDrawDebugLine (const FVector &StartLoc, const FVector &EndLoc, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, float Thickness=0.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World)
 
ENGINE_API void AnimDrawDebugDirectionalArrow (const FVector &LineStart, const FVector &LineEnd, float ArrowSize, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, float Thickness=0.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World)
 
ENGINE_API void AnimDrawDebugSphere (const FVector &Center, float Radius, int32 Segments, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, float Thickness=0.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World)
 
ENGINE_API void AnimDrawDebugCoordinateSystem (FVector const &AxisLoc, FRotator const &AxisRot, float Scale=1.f, bool bPersistentLines=false, float LifeTime=-1.f, float Thickness=0.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World)
 
ENGINE_API void AnimDrawDebugPlane (const FTransform &BaseTransform, float Radii, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, float Thickness=0.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World)
 
ENGINE_API void AnimDrawDebugPoint (const FVector &Loc, float Size, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World)
 
ENGINE_API void AnimDrawDebugCircle (const FVector &Center, float Radius, int32 Segments, const FColor &Color, const FVector &UpVector=FVector::UpVector, bool bPersistentLines=false, float LifeTime=-1.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World, float Thickness=0.f)
 
ENGINE_API void AnimDrawDebugCone (const FVector &Center, float Radius, const FVector &Direction, float AngleWidth, float AngleHeight, int32 Segments, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World, float Thickness=0.f)
 
ENGINE_API void AnimDrawDebugCapsule (const FVector &Center, float HalfHeight, float Radius, const FRotator &Rotation, const FColor &Color, bool bPersistentLines=false, float LifeTime=-1.f, float Thickness=0.f, ESceneDepthPriorityGroup DepthPriority=SDPG_World)
 
const FString & GetActorName () const
 
FString GetAnimInstanceName () const
 
ERootMotionMode::Type GetRootMotionMode () const
 
ENGINE_API const FAnimNode_StateMachineGetStateMachineInstanceFromName (FName MachineName) const
 
ENGINE_API const FAnimNode_StateMachineGetStateMachineInstance (int32 NodeIndex) const
 
ENGINE_API int32 GetInstanceAssetPlayerIndex (FName MachineName, FName StateName, FName InstanceName=NAME_None) const
 
ENGINE_API float GetRecordedMachineWeight (const int32 InMachineClassIndex) const
 
ENGINE_API void RecordMachineWeight (const int32 InMachineClassIndex, const float InMachineWeight)
 
ENGINE_API float GetRecordedStateWeight (const int32 InMachineClassIndex, const int32 InStateIndex) const
 
ENGINE_API void RecordStateWeight (const int32 InMachineClassIndex, const int32 InStateIndex, const float InStateWeight, const float InElapsedTime)
 
ENGINE_API bool IsSlotNodeRelevantForNotifies (const FName &SlotNodeName) const
 
ENGINE_API void ResetDynamics (ETeleportType InTeleportType)
 
ENGINE_API TArray< const FAnimNode_AssetPlayerBase * > GetInstanceAssetPlayers (const FName &GraphName) const
 
ENGINE_API TArray< FAnimNode_AssetPlayerBase * > GetMutableInstanceAssetPlayers (const FName &GraphName)
 
ENGINE_API TArray< const FAnimNode_AssetPlayerRelevancyBase * > GetInstanceRelevantAssetPlayers (const FName &GraphName) const
 
ENGINE_API TArray< FAnimNode_AssetPlayerRelevancyBase * > GetMutableInstanceRelevantAssetPlayers (const FName &GraphName)
 
ENGINE_API bool IsSyncGroupValid (FName InSyncGroupName) const
 
ENGINE_API void ResetDynamics ()
 
const FTransformGetComponentRelativeTransform () const
 
const FTransformGetComponentTransform () const
 
const FTransformGetActorTransform () const
 
ENGINE_API void TraceMontageEvaluationData (const FAnimationUpdateContext &InContext, const FName &InSlotName)
 
ENGINE_API FAnimBlueprintDebugDataGetAnimBlueprintDebugData () const
 
ENGINE_API void AddAnimNotifies (const TArray< FAnimNotifyEventReference > &NewNotifies, const float InstanceWeight)
 
ENGINE_API void SetInterpolationOverride (TOptional< EAnimInterpolationType > InterpolationType)
 
ENGINE_API TOptional< EAnimInterpolationTypeGetInterpolationOverride () const
 

Static Public Member Functions

static ENGINE_API const FBakedAnimationStateMachineGetMachineDescription (IAnimClassInterface *AnimBlueprintClass, const FAnimNode_StateMachine *MachineInstance)
 

Public Attributes

TArray< FQueuedDrawDebugItemQueuedDrawDebugItems
 

Protected Member Functions

virtual ENGINE_API void Initialize (UAnimInstance *InAnimInstance)
 
virtual ENGINE_API void Uninitialize (UAnimInstance *InAnimInstance)
 
ENGINE_API void UpdateActiveAnimNotifiesSinceLastTick (const FAnimNotifyQueue &AnimInstanceQueue)
 
virtual ENGINE_API void PreUpdate (UAnimInstance *InAnimInstance, float DeltaSeconds)
 
ENGINE_API void OnPreUpdateLODChanged (const int32 PreviousLODIndex, const int32 NewLODIndex)
 
virtual void Update (float DeltaSeconds)
 
virtual ENGINE_API void UpdateAnimationNode (const FAnimationUpdateContext &InContext)
 
virtual ENGINE_API void UpdateAnimationNode_WithRoot (const FAnimationUpdateContext &InContext, FAnimNode_Base *InRootNode, FName InLayerName)
 
virtual ENGINE_API void PreEvaluateAnimation (UAnimInstance *InAnimInstance)
 
virtual FAnimNode_BaseGetCustomRootNode ()
 
virtual void GetCustomNodes (TArray< FAnimNode_Base * > &OutNodes)
 
virtual ENGINE_API void CacheBones ()
 
virtual ENGINE_API void CacheBones_WithRoot (FAnimNode_Base *InRootNode)
 
virtual bool Evaluate (FPoseContext &Output)
 
virtual bool Evaluate_WithRoot (FPoseContext &Output, FAnimNode_Base *InRootNode)
 
virtual ENGINE_API void PostUpdate (UAnimInstance *InAnimInstance) const
 
virtual ENGINE_API void PostEvaluate (UAnimInstance *InAnimInstance)
 
virtual ENGINE_API void InitializeObjects (UAnimInstance *InAnimInstance)
 
virtual ENGINE_API void ClearObjects ()
 
ENGINE_API void UpdateAnimation ()
 
ENGINE_API void UpdateAnimation_WithRoot (const FAnimationUpdateContext &InContext, FAnimNode_Base *InRootNode, FName InLayerName)
 
ENGINE_API void EvaluateAnimation (FPoseContext &Output)
 
ENGINE_API void EvaluateAnimation_WithRoot (FPoseContext &Output, FAnimNode_Base *InRootNode)
 
ENGINE_API void EvaluateAnimationNode (FPoseContext &Output)
 
ENGINE_API void EvaluateAnimationNode_WithRoot (FPoseContext &Output, FAnimNode_Base *InRootNode)
 
ENGINE_API void SequenceAdvanceImmediate (UAnimSequenceBase *Sequence, bool bLooping, float PlayRate, float DeltaSeconds, float &CurrentTime, FMarkerTickRecord &MarkerTickRecord)
 
ENGINE_API void BlendSpaceAdvanceImmediate (UBlendSpace *BlendSpace, const FVector &BlendInput, TArray< FBlendSampleData > &BlendSampleDataCache, FBlendFilter &BlendFilter, bool bLooping, float PlayRate, float DeltaSeconds, float &CurrentTime, FMarkerTickRecord &MarkerTickRecord)
 
int32 GetSyncGroupReadIndex () const
 
int32 GetSyncGroupWriteIndex () const
 
int32 GetBufferReadIndex () const
 
int32 GetBufferWriteIndex () const
 
ENGINE_API int32 GetSyncGroupIndexFromName (FName SyncGroupName) const
 
ENGINE_API bool GetTimeToClosestMarker (FName SyncGroup, FName MarkerName, float &OutMarkerTime) const
 
ENGINE_API bool HasMarkerBeenHitThisFrame (FName SyncGroup, FName MarkerName) const
 
ENGINE_API bool IsSyncGroupBetweenMarkers (FName InSyncGroupName, FName PreviousMarker, FName NextMarker, bool bRespectMarkerOrder=true) const
 
ENGINE_API FMarkerSyncAnimPosition GetSyncGroupPosition (FName InSyncGroupName) const
 
void SetSyncMirror (const UMirrorDataTable *MirrorDataTable)
 
ENGINE_API void ReinitializeSlotNodes ()
 
ENGINE_API void ClearSlotNodeWeights ()
 
ENGINE_API float GetSlotNodeGlobalWeight (const FName &SlotNodeName) const
 
ENGINE_API float GetSlotMontageGlobalWeight (const FName &SlotNodeName) const
 
ENGINE_API float GetSlotMontageLocalWeight (const FName &SlotNodeName) const
 
ENGINE_API float CalcSlotMontageLocalWeight (const FName &SlotNodeName) const
 
ENGINE_API void RecalcRequiredBones (USkeletalMeshComponent *Component, UObject *Asset)
 
ENGINE_API void RecalcRequiredCurves (const UE::Anim::FCurveFilterSettings &CurveFilterSettings)
 
ENGINE_API void RecalcRequiredCurves (const FCurveEvaluationOption &CurveEvalOption)
 
void UpdateCurvesToComponents (USkeletalMeshComponent *Component)
 
ENGINE_API const FMontageEvaluationStateGetActiveMontageEvaluationState () const
 
ENGINE_API TMap< FName, UE::Anim::FSlotInertializationRequest > & GetSlotGroupInertializationRequestMap ()
 
ENGINE_API TMap< FName, FInertializationRequest > & GetSlotGroupInertializationRequestDataMap ()
 
ENGINE_API TArray< FMontageEvaluationState > & GetMontageEvaluationData ()
 
ENGINE_API const TArray< FMontageEvaluationState > & GetMontageEvaluationData () const
 
const FAnimNode_AssetPlayerBaseGetRelevantAssetPlayerFromState (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API const FAnimNode_AssetPlayerRelevancyBaseGetRelevantAssetPlayerInterfaceFromState (int32 MachineIndex, int32 StateIndex) const
 
template<class NodeType >
NodeType * GetNodeFromProperty (FProperty *Property)
 
ENGINE_API float GetInstanceAssetPlayerLength (int32 AssetPlayerIndex) const
 
ENGINE_API float GetInstanceAssetPlayerTime (int32 AssetPlayerIndex) const
 
ENGINE_API float GetInstanceAssetPlayerTimeFraction (int32 AssetPlayerIndex) const
 
ENGINE_API float GetInstanceAssetPlayerTimeFromEnd (int32 AssetPlayerIndex) const
 
ENGINE_API float GetInstanceAssetPlayerTimeFromEndFraction (int32 AssetPlayerIndex) const
 
ENGINE_API float GetInstanceMachineWeight (int32 MachineIndex) const
 
ENGINE_API float GetInstanceStateWeight (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API float GetInstanceCurrentStateElapsedTime (int32 MachineIndex) const
 
ENGINE_API float GetInstanceTransitionCrossfadeDuration (int32 MachineIndex, int32 TransitionIndex) const
 
ENGINE_API float GetInstanceTransitionTimeElapsed (int32 MachineIndex, int32 TransitionIndex) const
 
ENGINE_API float GetInstanceTransitionTimeElapsedFraction (int32 MachineIndex, int32 TransitionIndex) const
 
ENGINE_API float GetRelevantAnimTimeRemaining (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API float GetRelevantAnimTimeRemainingFraction (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API float GetRelevantAnimLength (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API float GetRelevantAnimTime (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API float GetRelevantAnimTimeFraction (int32 MachineIndex, int32 StateIndex) const
 
ENGINE_API bool WasAnimNotifyStateActiveInAnyState (TSubclassOf< UAnimNotifyState > AnimNotifyStateType) const
 
ENGINE_API bool WasAnimNotifyStateActiveInStateMachine (int32 MachineIndex, TSubclassOf< UAnimNotifyState > AnimNotifyStateType) const
 
ENGINE_API bool WasAnimNotifyStateActiveInSourceState (int32 MachineIndex, int32 StateIndex, TSubclassOf< UAnimNotifyState > AnimNotifyStateType) const
 
ENGINE_API bool WasAnimNotifyTriggeredInSourceState (int32 MachineIndex, int32 StateIndex, TSubclassOf< UAnimNotify > AnimNotifyType) const
 
ENGINE_API bool WasAnimNotifyNameTriggeredInSourceState (int32 MachineIndex, int32 StateIndex, FName NotifyName) const
 
ENGINE_API bool WasAnimNotifyTriggeredInStateMachine (int32 MachineIndex, TSubclassOf< UAnimNotify > AnimNotifyType) const
 
ENGINE_API bool WasAnimNotifyTriggeredInAnyState (TSubclassOf< UAnimNotify > AnimNotifyType) const
 
ENGINE_API bool WasAnimNotifyNameTriggeredInAnyState (FName NotifyName) const
 
ENGINE_API bool WasAnimNotifyNameTriggeredInStateMachine (int32 MachineIndex, FName NotifyName)
 
ENGINE_API bool RequestTransitionEvent (const FName &EventName, const double RequestTimeout, const ETransitionRequestQueueMode &QueueMode, const ETransitionRequestOverwriteMode &OverwriteMode)
 
ENGINE_API void ClearTransitionEvents (const FName &EventName)
 
ENGINE_API void ClearAllTransitionEvents ()
 
ENGINE_API bool QueryTransitionEvent (int32 NodeIndex, int32 TransitionIndex, const FName &EventName) const
 
ENGINE_API bool QueryAndMarkTransitionEvent (int32 NodeIndex, int32 TransitionIndex, const FName &EventName)
 
ENGINE_API void AddNativeTransitionBinding (const FName &MachineName, const FName &PrevStateName, const FName &NextStateName, const FCanTakeTransition &NativeTransitionDelegate, const FName &TransitionName=NAME_None)
 
ENGINE_API bool HasNativeTransitionBinding (const FName &MachineName, const FName &PrevStateName, const FName &NextStateName, FName &OutBindingName)
 
ENGINE_API void AddNativeStateEntryBinding (const FName &MachineName, const FName &StateName, const FOnGraphStateChanged &NativeEnteredDelegate, const FName &BindingName=NAME_None)
 
ENGINE_API bool HasNativeStateEntryBinding (const FName &MachineName, const FName &StateName, FName &OutBindingName)
 
ENGINE_API void AddNativeStateExitBinding (const FName &MachineName, const FName &StateName, const FOnGraphStateChanged &NativeExitedDelegate, const FName &BindingName=NAME_None)
 
ENGINE_API bool HasNativeStateExitBinding (const FName &MachineName, const FName &StateName, FName &OutBindingName)
 
ENGINE_API void BindNativeDelegates ()
 
ENGINE_API const FBakedAnimationStateMachineGetStateMachineInstanceDesc (FName MachineName) const
 
ENGINE_API int32 GetStateMachineIndex (FName MachineName) const
 
ENGINE_API int32 GetStateMachineIndex (FAnimNode_StateMachine *StateMachine) const
 
ENGINE_API void GetStateMachineIndexAndDescription (FName InMachineName, int32 &OutMachineIndex, const FBakedAnimationStateMachine **OutMachineDescription) const
 
ENGINE_API void InitializeRootNode (bool bInDeferRootNodeInitialization=false)
 
ENGINE_API void InitializeRootNode_WithRoot (FAnimNode_Base *InRootNode)
 
virtual ENGINE_API void AddReferencedObjects (UAnimInstance *InAnimInstance, FReferenceCollector &Collector)
 
ENGINE_API void LogMessage (FName InLogType, EMessageSeverity::Type InSeverity, const FText &InMessage) const
 
ENGINE_API void LogMessage (FName InLogType, const TSharedRef< FTokenizedMessage > &InMessage) const
 
TMap< FName, float > & GetAnimationCurves (EAnimCurveType InCurveType)
 
const TMap< FName, float > & GetAnimationCurves (EAnimCurveType InCurveType) const
 
ENGINE_API void ResetAnimationCurves ()
 
ENGINE_API void UpdateCurvesToEvaluationContext (const FAnimationEvaluationContext &InContext)
 
ENGINE_API void UpdateCurvesPostEvaluation (USkeletalMeshComponent *SkelMeshComp)
 
ENGINE_API bool HasActiveCurves () const
 
void AddCurveValue (const FSmartNameMapping &Mapping, const FName &CurveName, float Value)
 
ENGINE_API void AddCurveValue (const FName &CurveName, float Value, bool bMorphtarget=false, bool bMaterial=false)
 
void ResetSync ()
 
void FlushQueuedDebugDrawItems (AActor *InActor, UWorld *InWorld) const
 

Static Protected Member Functions

static ENGINE_API void InitializeInputProxy (FAnimInstanceProxy *InputProxy, UAnimInstance *InAnimInstance)
 
static ENGINE_API void GatherInputProxyDebugData (FAnimInstanceProxy *InputProxy, FNodeDebugData &DebugData)
 
static ENGINE_API void CacheBonesInputProxy (FAnimInstanceProxy *InputProxy)
 
static ENGINE_API void UpdateInputProxy (FAnimInstanceProxy *InputProxy, const FAnimationUpdateContext &Context)
 
static ENGINE_API void EvaluateInputProxy (FAnimInstanceProxy *InputProxy, FPoseContext &Output)
 
static ENGINE_API void ResetCounterInputProxy (FAnimInstanceProxy *InputProxy)
 

Protected Attributes

TArray< FAnimNotifyEventReferenceActiveAnimNotifiesSinceLastTick
 
FGraphTraversalCounter InitializationCounter
 
FGraphTraversalCounter CachedBonesCounter
 
FGraphTraversalCounter UpdateCounter
 
FGraphTraversalCounter EvaluationCounter
 
FGraphTraversalCounter SlotNodeInitializationCounter
 
uint64 FrameCounterForUpdate
 
uint64 FrameCounterForNodeUpdate
 
TOptional< EAnimInterpolationTypeInterpolationOverride
 
uint8 bBoneCachesInvalidated: 1
 

Friends

class UAnimInstance
 
class UAnimSingleNodeInstance
 
class USkeletalMeshComponent
 
struct FAnimNode_LinkedAnimGraph
 
struct FAnimNode_LinkedAnimLayer
 
struct FAnimationBaseContext
 
struct FAnimTrace
 
struct UE::Anim::FAnimSync
 
class UE::Anim::FAnimSyncGroupScope
 
class UE::Anim::FActiveStateMachineScope
 
struct FAnimNode_ControlRigInputPose
 
struct FSequencerMixedAnimInstanceProxy
 

Detailed Description

Proxy object passed around during animation tree update in lieu of a UAnimInstance

Member Typedef Documentation

◆ FSyncGroupMap

Constructor & Destructor Documentation

◆ FAnimInstanceProxy() [1/3]

FAnimInstanceProxy::FAnimInstanceProxy ( )

◆ FAnimInstanceProxy() [2/3]

FAnimInstanceProxy::FAnimInstanceProxy ( UAnimInstance Instance)

◆ FAnimInstanceProxy() [3/3]

PRAGMA_DISABLE_DEPRECATION_WARNINGS FAnimInstanceProxy::FAnimInstanceProxy ( const FAnimInstanceProxy )
default

◆ ~FAnimInstanceProxy()

FAnimInstanceProxy::~FAnimInstanceProxy ( )
virtualdefault

Member Function Documentation

◆ AddAnimNotifies()

void FAnimInstanceProxy::AddAnimNotifies ( const TArray< FAnimNotifyEventReference > &  NewNotifies,
const float  InstanceWeight 
)

Add anim notifies to the proxies notify queue

Parameters
NewNotifiesThe notifies to add
InstanceWeightThe effective weight of the notifies (used for trigger filtering)

◆ AddAnimNotifyFromGeneratedClass()

void FAnimInstanceProxy::AddAnimNotifyFromGeneratedClass ( int32  NotifyIndex)

Queues an Anim Notify from the shared list on our generated class

◆ AddCurveValue() [1/2]

void FAnimInstanceProxy::AddCurveValue ( const FName CurveName,
float  Value,
bool  bMorphtarget = false,
bool  bMaterial = false 
)
protected

Add a curve value

◆ AddCurveValue() [2/2]

void FAnimInstanceProxy::AddCurveValue ( const FSmartNameMapping Mapping,
const FName CurveName,
float  Value 
)
inlineprotected

◆ AddNativeStateEntryBinding()

void FAnimInstanceProxy::AddNativeStateEntryBinding ( const FName MachineName,
const FName StateName,
const FOnGraphStateChanged NativeEnteredDelegate,
const FName BindingName = NAME_None 
)
protected

◆ AddNativeStateExitBinding()

void FAnimInstanceProxy::AddNativeStateExitBinding ( const FName MachineName,
const FName StateName,
const FOnGraphStateChanged NativeExitedDelegate,
const FName BindingName = NAME_None 
)
protected

◆ AddNativeTransitionBinding()

void FAnimInstanceProxy::AddNativeTransitionBinding ( const FName MachineName,
const FName PrevStateName,
const FName NextStateName,
const FCanTakeTransition NativeTransitionDelegate,
const FName TransitionName = NAME_None 
)
protected

◆ AddPoseSnapshot()

FPoseSnapshot & FAnimInstanceProxy::AddPoseSnapshot ( FName  SnapshotName)

Add an empty pose snapshot to the internal snapshot cache (or recycle an existing pose snapshot if the name is already in use)

◆ AddReferencedObjects()

void FAnimInstanceProxy::AddReferencedObjects ( UAnimInstance InAnimInstance,
FReferenceCollector Collector 
)
protectedvirtual

Manually add object references to GC

Reimplemented in FAnimSequencerInstanceProxy.

◆ AddTickRecord()

void FAnimInstanceProxy::AddTickRecord ( const FAnimTickRecord InTickRecord,
const UE::Anim::FAnimSyncParams InSyncParams = UE::Anim::FAnimSyncParams() 
)
inline

◆ AnimDrawDebugCapsule()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugCapsule ( const FVector Center,
float  HalfHeight,
float  Radius,
const FRotator Rotation,
const FColor Color,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
float  Thickness = 0.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World 
)

◆ AnimDrawDebugCircle()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugCircle ( const FVector Center,
float  Radius,
int32  Segments,
const FColor Color,
const FVector UpVector = FVector::UpVector,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World,
float  Thickness = 0.f 
)

◆ AnimDrawDebugCone()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugCone ( const FVector Center,
float  Radius,
const FVector Direction,
float  AngleWidth,
float  AngleHeight,
int32  Segments,
const FColor Color,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World,
float  Thickness = 0.f 
)

◆ AnimDrawDebugCoordinateSystem()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugCoordinateSystem ( FVector const &  AxisLoc,
FRotator const &  AxisRot,
float  Scale = 1.f,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
float  Thickness = 0.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World 
)

◆ AnimDrawDebugDirectionalArrow()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugDirectionalArrow ( const FVector LineStart,
const FVector LineEnd,
float  ArrowSize,
const FColor Color,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
float  Thickness = 0.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World 
)

◆ AnimDrawDebugInWorldMessage()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugInWorldMessage ( const FString &  DebugMessage,
const FVector TextLocation,
const FColor Color,
float  TextScale 
)

◆ AnimDrawDebugLine()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugLine ( const FVector StartLoc,
const FVector EndLoc,
const FColor Color,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
float  Thickness = 0.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World 
)

◆ AnimDrawDebugOnScreenMessage()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugOnScreenMessage ( const FString &  DebugMessage,
const FColor Color,
const FVector2D TextScale = FVector2D::UnitVector,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World 
)

◆ AnimDrawDebugPlane()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugPlane ( const FTransform BaseTransform,
float  Radii,
const FColor Color,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
float  Thickness = 0.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World 
)

◆ AnimDrawDebugPoint()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugPoint ( const FVector Loc,
float  Size,
const FColor Color,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World 
)

◆ AnimDrawDebugSphere()

ENGINE_API void FAnimInstanceProxy::AnimDrawDebugSphere ( const FVector Center,
float  Radius,
int32  Segments,
const FColor Color,
bool  bPersistentLines = false,
float  LifeTime = -1.f,
float  Thickness = 0.f,
ESceneDepthPriorityGroup  DepthPriority = SDPG_World 
)

◆ BindNativeDelegates()

void FAnimInstanceProxy::BindNativeDelegates ( )
protected

Bind any native delegates that we have set up

◆ BlendSpaceAdvanceImmediate()

void FAnimInstanceProxy::BlendSpaceAdvanceImmediate ( UBlendSpace BlendSpace,
const FVector BlendInput,
TArray< FBlendSampleData > &  BlendSampleDataCache,
FBlendFilter BlendFilter,
bool  bLooping,
float  PlayRate,
float  DeltaSeconds,
float CurrentTime,
FMarkerTickRecord MarkerTickRecord 
)
protected

◆ CacheBones()

void FAnimInstanceProxy::CacheBones ( )
protectedvirtual

Cache bones override point. You should call CacheBones on any nodes that need it here. bBoneCachesInvalidated is used to only perform this when needed (e.g. when a LOD changes), as it is usually an expensive operation.

◆ CacheBones_WithRoot()

void FAnimInstanceProxy::CacheBones_WithRoot ( FAnimNode_Base InRootNode)
protectedvirtual

Cache bones override point. You should call CacheBones on any nodes that need it here. bBoneCachesInvalidated is used to only perform this when needed (e.g. when a LOD changes), as it is usually an expensive operation.

◆ CacheBonesInputProxy()

void FAnimInstanceProxy::CacheBonesInputProxy ( FAnimInstanceProxy InputProxy)
staticprotected

◆ CalcSlotMontageLocalWeight()

float FAnimInstanceProxy::CalcSlotMontageLocalWeight ( const FName SlotNodeName) const
protected

Get local weight of any montages this slot is playing. If this slot is not current playing a montage, it will return 0. This will return up to date data if called during Update or Evaluate.

◆ ClearAllTransitionEvents()

void FAnimInstanceProxy::ClearAllTransitionEvents ( )
protected

Removes all queued transition requests

◆ ClearObjects()

void FAnimInstanceProxy::ClearObjects ( )
protectedvirtual

Clear any UObjects we might be using. Called at the end of the post-evaluate phase. This is to ensure that objects are not used by anything apart from animation nodes. Please make sure to call the base implementation if this is overridden.

Reimplemented in FAnimSingleNodeInstanceProxy.

◆ ClearSlotNodeWeights()

void FAnimInstanceProxy::ClearSlotNodeWeights ( )
protected

◆ ClearTransitionEvents()

void FAnimInstanceProxy::ClearTransitionEvents ( const FName EventName)
protected

Removes all queued transition requests with the given event name

◆ CreateUninitializedTickRecord() [1/2]

FAnimTickRecord & FAnimInstanceProxy::CreateUninitializedTickRecord ( FAnimGroupInstance *&  OutSyncGroupPtr,
FName  GroupName 
)

◆ CreateUninitializedTickRecord() [2/2]

FAnimTickRecord & FAnimInstanceProxy::CreateUninitializedTickRecord ( int32  GroupIndex,
FAnimGroupInstance *&  OutSyncGroupPtr 
)

◆ CreateUninitializedTickRecordInScope() [1/2]

FAnimTickRecord & FAnimInstanceProxy::CreateUninitializedTickRecordInScope ( FAnimGroupInstance *&  OutSyncGroupPtr,
FName  GroupName,
EAnimSyncGroupScope  Scope 
)

◆ CreateUninitializedTickRecordInScope() [2/2]

FAnimTickRecord & FAnimInstanceProxy::CreateUninitializedTickRecordInScope ( int32  GroupIndex,
EAnimSyncGroupScope  Scope,
FAnimGroupInstance *&  OutSyncGroupPtr 
)

◆ Evaluate()

virtual bool FAnimInstanceProxy::Evaluate ( FPoseContext Output)
inlineprotectedvirtual

Evaluate override point

Returns
true if this function is implemented, false otherwise. Note: the node graph will not be evaluated if this function returns true

Reimplemented in FAnimSequencerInstanceProxy, FAnimSingleNodeInstanceProxy, and FLiveLinkInstanceProxy.

◆ Evaluate_WithRoot()

virtual bool FAnimInstanceProxy::Evaluate_WithRoot ( FPoseContext Output,
FAnimNode_Base InRootNode 
)
inlineprotectedvirtual

Evaluate override point with root node override.

Returns
true if this function is implemented, false otherwise. Note: the node graph will not be evaluated if this function returns true

◆ EvaluateAnimation()

void FAnimInstanceProxy::EvaluateAnimation ( FPoseContext Output)
protected

Evaluates the anim graph if Evaluate() returns false

◆ EvaluateAnimation_WithRoot()

void FAnimInstanceProxy::EvaluateAnimation_WithRoot ( FPoseContext Output,
FAnimNode_Base InRootNode 
)
protected

Evaluates the anim graph given the specified root if Evaluate() returns false

◆ EvaluateAnimationNode()

void FAnimInstanceProxy::EvaluateAnimationNode ( FPoseContext Output)
protected

Evaluates the anim graph

◆ EvaluateAnimationNode_WithRoot()

void FAnimInstanceProxy::EvaluateAnimationNode_WithRoot ( FPoseContext Output,
FAnimNode_Base InRootNode 
)
protected

Evaluates the anim graph given the specified root

◆ EvaluateInputProxy()

void FAnimInstanceProxy::EvaluateInputProxy ( FAnimInstanceProxy InputProxy,
FPoseContext Output 
)
staticprotected

◆ FlipBufferWriteIndex()

void FAnimInstanceProxy::FlipBufferWriteIndex ( )
inline

◆ FlushQueuedDebugDrawItems()

void FAnimInstanceProxy::FlushQueuedDebugDrawItems ( AActor InActor,
UWorld InWorld 
) const
protected

Send any queued DrawDebug commands and reset the queue

◆ GatherDebugData()

void FAnimInstanceProxy::GatherDebugData ( FNodeDebugData DebugData)

Gather debug data from this instance proxy and the blend tree for display

◆ GatherDebugData_WithRoot()

void FAnimInstanceProxy::GatherDebugData_WithRoot ( FNodeDebugData DebugData,
FAnimNode_Base InRootNode,
FName  InLayerName 
)

Gather debug data from this instance proxy and the specified blend tree root for display

◆ GatherInputProxyDebugData()

void FAnimInstanceProxy::GatherInputProxyDebugData ( FAnimInstanceProxy InputProxy,
FNodeDebugData DebugData 
)
staticprotected

◆ GetActiveMontageEvaluationState()

const FMontageEvaluationState * FAnimInstanceProxy::GetActiveMontageEvaluationState ( ) const
protected

Get Currently active montage evaluation state. Note that there might be multiple Active at the same time. This will only return the first active one it finds.

◆ GetActorName()

const FString & FAnimInstanceProxy::GetActorName ( ) const
inline

◆ GetActorTransform()

const FTransform & FAnimInstanceProxy::GetActorTransform ( ) const
inline

Get the transform of the actor we are running on

◆ GetAnimationCurves() [1/2]

TMap< FName, float > & FAnimInstanceProxy::GetAnimationCurves ( EAnimCurveType  InCurveType)
inlineprotected

Get the current value of all animation curves

◆ GetAnimationCurves() [2/2]

const TMap< FName, float > & FAnimInstanceProxy::GetAnimationCurves ( EAnimCurveType  InCurveType) const
inlineprotected

◆ GetAnimBlueprintDebugData()

FAnimBlueprintDebugData * FAnimInstanceProxy::GetAnimBlueprintDebugData ( ) const

Get the debug data for this instance's anim bp

◆ GetAnimClassInterface()

IAnimClassInterface * FAnimInstanceProxy::GetAnimClassInterface ( ) const
inline

◆ GetAnimInstanceName()

FString FAnimInstanceProxy::GetAnimInstanceName ( ) const
inline

◆ GetAnimInstanceObject() [1/2]

UObject * FAnimInstanceProxy::GetAnimInstanceObject ( )
inline

Access UObject base of UAnimInstance

◆ GetAnimInstanceObject() [2/2]

const UObject * FAnimInstanceProxy::GetAnimInstanceObject ( ) const
inline

◆ GetBufferReadIndex()

int32 FAnimInstanceProxy::GetBufferReadIndex ( ) const
inlineprotected

◆ GetBufferWriteIndex()

int32 FAnimInstanceProxy::GetBufferWriteIndex ( ) const
inlineprotected

◆ GetCachedBonesCounter()

const FGraphTraversalCounter & FAnimInstanceProxy::GetCachedBonesCounter ( ) const
inline

◆ GetCheckedMutableNodeFromIndex()

template<class NodeType >
NodeType * FAnimInstanceProxy::GetCheckedMutableNodeFromIndex ( int32  NodeIdx) const
inline

Gets a checked node given an index into the node property array

◆ GetCheckedMutableNodeFromIndexUntyped()

FAnimNode_Base * FAnimInstanceProxy::GetCheckedMutableNodeFromIndexUntyped ( int32  NodeIdx,
UScriptStruct RequiredStructType 
)

Gets a checked node given an index into the node property array

◆ GetCheckedNodeFromIndex()

template<class NodeType >
const NodeType * FAnimInstanceProxy::GetCheckedNodeFromIndex ( int32  NodeIdx) const
inline

Gets a checked node given an index into the node property array

◆ GetCheckedNodeFromIndexUntyped()

const FAnimNode_Base * FAnimInstanceProxy::GetCheckedNodeFromIndexUntyped ( int32  NodeIdx,
UScriptStruct RequiredStructType 
) const

Gets a checked node given an index into the node property array

◆ GetComponentRelativeTransform()

const FTransform & FAnimInstanceProxy::GetComponentRelativeTransform ( ) const
inline

Get the relative transform of the component we are running on

◆ GetComponentTransform()

const FTransform & FAnimInstanceProxy::GetComponentTransform ( ) const
inline

Get the component to world transform of the component we are running on

◆ GetCustomNodes()

virtual void FAnimInstanceProxy::GetCustomNodes ( TArray< FAnimNode_Base * > &  OutNodes)
inlineprotectedvirtual

Called when the anim instance is being initialized. If we are not using a blueprint instance, these nodes can be provided

◆ GetCustomRootNode()

virtual FAnimNode_Base * FAnimInstanceProxy::GetCustomRootNode ( )
inlineprotectedvirtual

Called when the anim instance is being initialized. If we are not using a blueprint instance, this root node can be provided

◆ GetDeltaSeconds()

float FAnimInstanceProxy::GetDeltaSeconds ( ) const
inline

Get the last DeltaSeconds passed into PreUpdate()

◆ GetEvaluationCounter()

const FGraphTraversalCounter & FAnimInstanceProxy::GetEvaluationCounter ( ) const
inline

◆ GetExtractedRootMotion()

FRootMotionMovementParams & FAnimInstanceProxy::GetExtractedRootMotion ( )
inline

Access root motion params

◆ GetInitializationCounter()

const FGraphTraversalCounter & FAnimInstanceProxy::GetInitializationCounter ( ) const
inline

Access various counters

◆ GetInstanceAssetPlayerIndex()

int32 FAnimInstanceProxy::GetInstanceAssetPlayerIndex ( FName  MachineName,
FName  StateName,
FName  InstanceName = NAME_None 
) const

Get the index of the specified instance asset player. Useful to pass to GetInstanceAssetPlayerLength (etc.). Passing NAME_None to InstanceName will return the first (assumed only) player instance index found.

◆ GetInstanceAssetPlayerLength()

float FAnimInstanceProxy::GetInstanceAssetPlayerLength ( int32  AssetPlayerIndex) const
protected

Gets the length in seconds of the asset referenced in an asset player node

◆ GetInstanceAssetPlayers()

TArray< const FAnimNode_AssetPlayerBase * > FAnimInstanceProxy::GetInstanceAssetPlayers ( const FName GraphName) const

Returns all Animation Nodes of FAnimNode_AssetPlayerBase class within the specified (named) Animation Graph

◆ GetInstanceAssetPlayerTime()

float FAnimInstanceProxy::GetInstanceAssetPlayerTime ( int32  AssetPlayerIndex) const
protected

Get the current accumulated time in seconds for an asset player node

◆ GetInstanceAssetPlayerTimeFraction()

float FAnimInstanceProxy::GetInstanceAssetPlayerTimeFraction ( int32  AssetPlayerIndex) const
protected

Get the current accumulated time as a fraction for an asset player node

◆ GetInstanceAssetPlayerTimeFromEnd()

float FAnimInstanceProxy::GetInstanceAssetPlayerTimeFromEnd ( int32  AssetPlayerIndex) const
protected

Get the time in seconds from the end of an animation in an asset player node

◆ GetInstanceAssetPlayerTimeFromEndFraction()

float FAnimInstanceProxy::GetInstanceAssetPlayerTimeFromEndFraction ( int32  AssetPlayerIndex) const
protected

Get the time as a fraction of the asset length of an animation in an asset player node

◆ GetInstanceCurrentStateElapsedTime()

float FAnimInstanceProxy::GetInstanceCurrentStateElapsedTime ( int32  MachineIndex) const
protected

Get the current elapsed time of a state within the specified state machine

◆ GetInstanceMachineWeight()

float FAnimInstanceProxy::GetInstanceMachineWeight ( int32  MachineIndex) const
protected

Get the blend weight of a specified state

◆ GetInstanceRelevantAssetPlayers()

TArray< const FAnimNode_AssetPlayerRelevancyBase * > FAnimInstanceProxy::GetInstanceRelevantAssetPlayers ( const FName GraphName) const

Returns all Animation Nodes of FAnimNode_AssetPlayerRelevancyBase class within the specified (named) Animation Graph

◆ GetInstanceStateWeight()

float FAnimInstanceProxy::GetInstanceStateWeight ( int32  MachineIndex,
int32  StateIndex 
) const
protected

Get the blend weight of a specified state

◆ GetInstanceTransitionCrossfadeDuration()

float FAnimInstanceProxy::GetInstanceTransitionCrossfadeDuration ( int32  MachineIndex,
int32  TransitionIndex 
) const
protected

Get the crossfade duration of a specified transition

◆ GetInstanceTransitionTimeElapsed()

float FAnimInstanceProxy::GetInstanceTransitionTimeElapsed ( int32  MachineIndex,
int32  TransitionIndex 
) const
protected

Get the elapsed time in seconds of a specified transition

◆ GetInstanceTransitionTimeElapsedFraction()

float FAnimInstanceProxy::GetInstanceTransitionTimeElapsedFraction ( int32  MachineIndex,
int32  TransitionIndex 
) const
protected

Get the elapsed time as a fraction of the crossfade duration of a specified transition

◆ GetInterpolationOverride()

TOptional< EAnimInterpolationType > FAnimInstanceProxy::GetInterpolationOverride ( ) const

Get the interpolation type override. If not set, it will use the iterpolation type set inside the animation asset.

◆ GetLODLevel()

int32 FAnimInstanceProxy::GetLODLevel ( ) const
inline

Access to LODLevel

◆ GetMachineDescription()

const FBakedAnimationStateMachine * FAnimInstanceProxy::GetMachineDescription ( IAnimClassInterface AnimBlueprintClass,
const FAnimNode_StateMachine MachineInstance 
)
static

Get the machine description for the specified instance. Does not rely on PRIVATE_MachineDescription being initialized

◆ GetMainInstanceProxy()

FAnimInstanceProxy * FAnimInstanceProxy::GetMainInstanceProxy ( ) const
inline

Get the current main instance proxy. Note that this will return nullptr outside of pre/post update, and may return nullptr anyway if we dont have a main instance

◆ GetMontageEvaluationData() [1/2]

TArray< FMontageEvaluationState > & FAnimInstanceProxy::GetMontageEvaluationData ( )
protected

Access montage array data

◆ GetMontageEvaluationData() [2/2]

const TArray< FMontageEvaluationState > & FAnimInstanceProxy::GetMontageEvaluationData ( ) const
protected

Access montage array data

◆ GetMutableInstanceAssetPlayers()

TArray< FAnimNode_AssetPlayerBase * > FAnimInstanceProxy::GetMutableInstanceAssetPlayers ( const FName GraphName)

Returns all Animation Nodes of FAnimNode_AssetPlayerBase class within the specified (named) Animation Graph

◆ GetMutableInstanceRelevantAssetPlayers()

TArray< FAnimNode_AssetPlayerRelevancyBase * > FAnimInstanceProxy::GetMutableInstanceRelevantAssetPlayers ( const FName GraphName)

Returns all Animation Nodes of FAnimNode_AssetPlayerRelevancyBase class within the specified (named) Animation Graph

◆ GetMutableNodeFromIndex()

template<class NodeType >
NodeType * FAnimInstanceProxy::GetMutableNodeFromIndex ( int32  NodeIdx) const
inline

Gets an unchecked (can return nullptr) node given an index into the node property array

◆ GetMutableNodeFromIndexUntyped()

FAnimNode_Base * FAnimInstanceProxy::GetMutableNodeFromIndexUntyped ( int32  NodeIdx,
UScriptStruct RequiredStructType 
)

Gets an unchecked (can return nullptr) node given an index into the node property array

◆ GetNodeFromIndex()

template<class NodeType >
const NodeType * FAnimInstanceProxy::GetNodeFromIndex ( int32  NodeIdx) const
inline

Gets an unchecked (can return nullptr) node given an index into the node property array

◆ GetNodeFromIndexUntyped()

const FAnimNode_Base * FAnimInstanceProxy::GetNodeFromIndexUntyped ( int32  NodeIdx,
UScriptStruct RequiredStructType 
) const

Gets an unchecked (can return nullptr) node given an index into the node property array

◆ GetNodeFromProperty()

template<class NodeType >
NodeType * FAnimInstanceProxy::GetNodeFromProperty ( FProperty Property)
inlineprotected

Gets an unchecked (can return nullptr) node given a property of the anim instance

◆ GetPoseSnapshot()

const FPoseSnapshot * FAnimInstanceProxy::GetPoseSnapshot ( FName  SnapshotName) const

Get a cached pose snapshot by name

◆ GetRecordedMachineWeight()

float FAnimInstanceProxy::GetRecordedMachineWeight ( const int32  InMachineClassIndex) const

◆ GetRecordedStateWeight()

float FAnimInstanceProxy::GetRecordedStateWeight ( const int32  InMachineClassIndex,
const int32  InStateIndex 
) const

◆ GetRelevantAnimLength()

float FAnimInstanceProxy::GetRelevantAnimLength ( int32  MachineIndex,
int32  StateIndex 
) const
protected

Get the length in seconds of the most relevant animation in the source state

◆ GetRelevantAnimTime()

float FAnimInstanceProxy::GetRelevantAnimTime ( int32  MachineIndex,
int32  StateIndex 
) const
protected

Get the current accumulated time in seconds for the most relevant animation in the source state

◆ GetRelevantAnimTimeFraction()

float FAnimInstanceProxy::GetRelevantAnimTimeFraction ( int32  MachineIndex,
int32  StateIndex 
) const
protected

Get the current accumulated time as a fraction of the length of the most relevant animation in the source state

◆ GetRelevantAnimTimeRemaining()

float FAnimInstanceProxy::GetRelevantAnimTimeRemaining ( int32  MachineIndex,
int32  StateIndex 
) const
protected

Get the time remaining in seconds for the most relevant animation in the source state

◆ GetRelevantAnimTimeRemainingFraction()

float FAnimInstanceProxy::GetRelevantAnimTimeRemainingFraction ( int32  MachineIndex,
int32  StateIndex 
) const
protected

Get the time remaining as a fraction of the duration for the most relevant animation in the source state

◆ GetRelevantAssetPlayerFromState()

const FAnimNode_AssetPlayerBase * FAnimInstanceProxy::GetRelevantAssetPlayerFromState ( int32  MachineIndex,
int32  StateIndex 
) const
inlineprotected

Check whether we have active morph target curves Gets the most relevant asset player in a specified state

◆ GetRelevantAssetPlayerInterfaceFromState()

const FAnimNode_AssetPlayerRelevancyBase * FAnimInstanceProxy::GetRelevantAssetPlayerInterfaceFromState ( int32  MachineIndex,
int32  StateIndex 
) const
protected

Gets the most relevant asset player in a specified state

◆ GetRequiredBones() [1/2]

FBoneContainer & FAnimInstanceProxy::GetRequiredBones ( )
inline

access to required bones array

◆ GetRequiredBones() [2/2]

const FBoneContainer & FAnimInstanceProxy::GetRequiredBones ( ) const
inline

const access to required bones array

◆ GetRootMotionMode()

ERootMotionMode::Type FAnimInstanceProxy::GetRootMotionMode ( ) const
inline

◆ GetRootNode()

FAnimNode_Base * FAnimInstanceProxy::GetRootNode ( )
inline

◆ GetSkeleton()

USkeleton * FAnimInstanceProxy::GetSkeleton ( )
inline

Get the current skeleton we are using. Note that this will return nullptr outside of pre/post update

◆ GetSkelMeshCompLocalToWorld()

const FTransform & FAnimInstanceProxy::GetSkelMeshCompLocalToWorld ( ) const
inline

◆ GetSkelMeshComponent()

USkeletalMeshComponent * FAnimInstanceProxy::GetSkelMeshComponent ( ) const
inline

Get the current skeletal mesh component we are running on. Note that this will return nullptr outside of pre/post update

◆ GetSkelMeshCompOwnerTransform()

const FTransform & FAnimInstanceProxy::GetSkelMeshCompOwnerTransform ( ) const
inline

◆ GetSlotGroupInertializationRequestDataMap()

PRAGMA_ENABLE_DEPRECATION_WARNINGS TMap< FName, FInertializationRequest > & FAnimInstanceProxy::GetSlotGroupInertializationRequestDataMap ( )
protected

◆ GetSlotGroupInertializationRequestMap()

PRAGMA_DISABLE_DEPRECATION_WARNINGS TMap< FName, UE::Anim::FSlotInertializationRequest > & FAnimInstanceProxy::GetSlotGroupInertializationRequestMap ( )
protected

◆ GetSlotInertializationRequest()

bool FAnimInstanceProxy::GetSlotInertializationRequest ( const FName SlotName,
UE::Anim::FSlotInertializationRequest OutRequest 
)

◆ GetSlotInertializationRequestData()

bool FAnimInstanceProxy::GetSlotInertializationRequestData ( const FName SlotName,
FInertializationRequest OutRequest 
)

◆ GetSlotMontageGlobalWeight()

float FAnimInstanceProxy::GetSlotMontageGlobalWeight ( const FName SlotNodeName) const
protected

Get Global weight of any montages this slot node is playing. If this slot is not currently playing a montage, it will return 0.

◆ GetSlotMontageLocalWeight()

float FAnimInstanceProxy::GetSlotMontageLocalWeight ( const FName SlotNodeName) const
protected

Get local weight of any montages this slot node is playing. If this slot is not currently playing a montage, it will return 0. This is double buffered, will return last frame data if called from Update or Evaluate.

◆ GetSlotNodeGlobalWeight()

float FAnimInstanceProxy::GetSlotNodeGlobalWeight ( const FName SlotNodeName) const
protected

Get global weight in AnimGraph for this slot node. Note: this is the weight of the node, not the weight of any potential montage it is playing.

◆ GetSlotNodeInitializationCounter()

const FGraphTraversalCounter & FAnimInstanceProxy::GetSlotNodeInitializationCounter ( ) const
inline

◆ GetSlotWeight()

void FAnimInstanceProxy::GetSlotWeight ( const FName SlotNodeName,
float out_SlotNodeWeight,
float out_SourceWeight,
float out_TotalNodeWeight 
) const

Get Slot Node Weight : this returns new Slot Node Weight, Source Weight, Original TotalNodeWeight this 3 values can't be derived from each other

Parameters
SlotNodeName: the name of the slot node you're querying
out_SlotNodeWeight: The node weight for this slot node in the range of [0, 1]
out_SourceWeight: The Source weight for this node.
out_TotalNodeWeight: Total weight of this node

◆ GetStateMachineIndex() [1/2]

int32 FAnimInstanceProxy::GetStateMachineIndex ( FAnimNode_StateMachine StateMachine) const
protected

Gets the node index of the state machine

◆ GetStateMachineIndex() [2/2]

int32 FAnimInstanceProxy::GetStateMachineIndex ( FName  MachineName) const
protected

Gets the node index of the state machine matching MachineName

◆ GetStateMachineIndexAndDescription()

void FAnimInstanceProxy::GetStateMachineIndexAndDescription ( FName  InMachineName,
int32 OutMachineIndex,
const FBakedAnimationStateMachine **  OutMachineDescription 
) const
protected

◆ GetStateMachineInstance()

const FAnimNode_StateMachine * FAnimInstanceProxy::GetStateMachineInstance ( int32  NodeIndex) const

Gets the runtime instance of the specified state machine

◆ GetStateMachineInstanceDesc()

const FBakedAnimationStateMachine * FAnimInstanceProxy::GetStateMachineInstanceDesc ( FName  MachineName) const
protected

Gets the runtime instance desc of the state machine specified by name

◆ GetStateMachineInstanceFromName()

const FAnimNode_StateMachine * FAnimInstanceProxy::GetStateMachineInstanceFromName ( FName  MachineName) const

Gets the runtime instance of the specified state machine by Name

◆ GetSyncGroupIndexFromName()

int32 FAnimInstanceProxy::GetSyncGroupIndexFromName ( FName  SyncGroupName) const
protected

Returns the baked sync group index from the compile step

◆ GetSyncGroupMapRead()

const FSyncGroupMap & FAnimInstanceProxy::GetSyncGroupMapRead ( ) const
inline

Get the sync group we are currently reading from

◆ GetSyncGroupPosition()

FMarkerSyncAnimPosition FAnimInstanceProxy::GetSyncGroupPosition ( FName  InSyncGroupName) const
protected

◆ GetSyncGroupRead()

const TArray< FAnimGroupInstance > & FAnimInstanceProxy::GetSyncGroupRead ( ) const
inline

◆ GetSyncGroupReadIndex()

int32 FAnimInstanceProxy::GetSyncGroupReadIndex ( ) const
inlineprotected

◆ GetSyncGroupWriteIndex()

int32 FAnimInstanceProxy::GetSyncGroupWriteIndex ( ) const
inlineprotected

◆ GetTimeDilation()

float FAnimInstanceProxy::GetTimeDilation ( ) const
inline

Get the last time dilation, gleaned from world settings

◆ GetTimeToClosestMarker()

bool FAnimInstanceProxy::GetTimeToClosestMarker ( FName  SyncGroup,
FName  MarkerName,
float OutMarkerTime 
) const
protected

◆ GetUngroupedActivePlayersRead()

const TArray< FAnimTickRecord > & FAnimInstanceProxy::GetUngroupedActivePlayersRead ( )
inline

Get the ungrouped active player we are currently reading from

◆ GetUpdateCounter()

const FGraphTraversalCounter & FAnimInstanceProxy::GetUpdateCounter ( ) const
inline

◆ HasActiveCurves()

bool FAnimInstanceProxy::HasActiveCurves ( ) const
protected

Check whether we have any active curves

◆ HasMarkerBeenHitThisFrame()

bool FAnimInstanceProxy::HasMarkerBeenHitThisFrame ( FName  SyncGroup,
FName  MarkerName 
) const
protected

◆ HasNativeStateEntryBinding()

bool FAnimInstanceProxy::HasNativeStateEntryBinding ( const FName MachineName,
const FName StateName,
FName OutBindingName 
)
protected

◆ HasNativeStateExitBinding()

bool FAnimInstanceProxy::HasNativeStateExitBinding ( const FName MachineName,
const FName StateName,
FName OutBindingName 
)
protected

◆ HasNativeTransitionBinding()

bool FAnimInstanceProxy::HasNativeTransitionBinding ( const FName MachineName,
const FName PrevStateName,
const FName NextStateName,
FName OutBindingName 
)
protected

◆ HasRootNode()

bool FAnimInstanceProxy::HasRootNode ( ) const
inline

Check whether we have a valid root node

◆ Initialize()

void FAnimInstanceProxy::Initialize ( UAnimInstance InAnimInstance)
protectedvirtual

Called when our anim instance is being initialized

Reimplemented in FAnimSequencerInstanceProxy, FAnimSingleNodeInstanceProxy, and FLiveLinkInstanceProxy.

◆ InitializeInputProxy()

void FAnimInstanceProxy::InitializeInputProxy ( FAnimInstanceProxy InputProxy,
UAnimInstance InAnimInstance 
)
staticprotected

Custom proxy Init/Cache/Update/Evaluate functions

◆ InitializeObjects()

void FAnimInstanceProxy::InitializeObjects ( UAnimInstance InAnimInstance)
protectedvirtual

Copy any UObjects we might be using. Called Pre-update and pre-evaluate.

Reimplemented in FAnimSingleNodeInstanceProxy.

◆ InitializeRootNode()

void FAnimInstanceProxy::InitializeRootNode ( bool  bInDeferRootNodeInitialization = false)
protected

Initialize the root node - split into a separate function for backwards compatibility (initialization order) reasons

◆ InitializeRootNode_WithRoot()

void FAnimInstanceProxy::InitializeRootNode_WithRoot ( FAnimNode_Base InRootNode)
protected

Initialize the specified root node

◆ IsSkeletonCompatible()

bool FAnimInstanceProxy::IsSkeletonCompatible ( USkeleton const *  InSkeleton) const
inline

◆ IsSlotNodeRelevantForNotifies()

bool FAnimInstanceProxy::IsSlotNodeRelevantForNotifies ( const FName SlotNodeName) const

◆ IsSyncGroupBetweenMarkers()

bool FAnimInstanceProxy::IsSyncGroupBetweenMarkers ( FName  InSyncGroupName,
FName  PreviousMarker,
FName  NextMarker,
bool  bRespectMarkerOrder = true 
) const
protected

◆ IsSyncGroupValid()

bool FAnimInstanceProxy::IsSyncGroupValid ( FName  InSyncGroupName) const

Returns true if SyncGroupName is valid (exists, and if is based on markers, has valid markers)

◆ LogMessage() [1/2]

void FAnimInstanceProxy::LogMessage ( FName  InLogType,
const TSharedRef< FTokenizedMessage > &  InMessage 
) const
protected

◆ LogMessage() [2/2]

void FAnimInstanceProxy::LogMessage ( FName  InLogType,
EMessageSeverity::Type  InSeverity,
const FText InMessage 
) const
protected

Allow nodes to register log messages to be processed on the game thread

◆ MakeBlendSpaceTickRecord()

void FAnimInstanceProxy::MakeBlendSpaceTickRecord ( FAnimTickRecord TickRecord,
UBlendSpace BlendSpace,
const FVector BlendInput,
TArray< FBlendSampleData > &  BlendSampleDataCache,
FBlendFilter BlendFilter,
bool  bLooping,
float  PlayRate,
float  FinalBlendWeight,
float CurrentTime,
FMarkerTickRecord MarkerTickRecord 
) const

◆ MakePoseAssetTickRecord()

void FAnimInstanceProxy::MakePoseAssetTickRecord ( FAnimTickRecord TickRecord,
class UPoseAsset PoseAsset,
float  FinalBlendWeight 
) const

◆ MakeSequenceTickRecord()

void FAnimInstanceProxy::MakeSequenceTickRecord ( FAnimTickRecord TickRecord,
UAnimSequenceBase Sequence,
bool  bLooping,
float  PlayRate,
float  FinalBlendWeight,
float CurrentTime,
FMarkerTickRecord MarkerTickRecord 
) const

◆ OnPreUpdateLODChanged()

void FAnimInstanceProxy::OnPreUpdateLODChanged ( const int32  PreviousLODIndex,
const int32  NewLODIndex 
)
protected

Called during PreUpdate, if SkelMesh LOD has changed since last update

◆ operator=() [1/2]

FAnimInstanceProxy & FAnimInstanceProxy::operator= ( const FAnimInstanceProxy )
default

◆ operator=() [2/2]

FAnimInstanceProxy & FAnimInstanceProxy::operator= ( FAnimInstanceProxy &&  )
default

◆ PostEvaluate()

void FAnimInstanceProxy::PostEvaluate ( UAnimInstance InAnimInstance)
protectedvirtual

Called after evaluate so we can do any game thread work we need to

Reimplemented in FAnimSequencerInstanceProxy.

◆ PostUpdate()

void FAnimInstanceProxy::PostUpdate ( UAnimInstance InAnimInstance) const
protectedvirtual

Called after update so we can copy any data we need

Reimplemented in FAnimSingleNodeInstanceProxy.

◆ PreEvaluateAnimation()

void FAnimInstanceProxy::PreEvaluateAnimation ( UAnimInstance InAnimInstance)
protectedvirtual

Called on the game thread pre-evaluate.

◆ PreUpdate()

void FAnimInstanceProxy::PreUpdate ( UAnimInstance InAnimInstance,
float  DeltaSeconds 
)
protectedvirtual

Called before update so we can copy any data we need

Reimplemented in FAnimSingleNodeInstanceProxy, and FLiveLinkInstanceProxy.

◆ QueryAndMarkTransitionEvent()

bool FAnimInstanceProxy::QueryAndMarkTransitionEvent ( int32  NodeIndex,
int32  TransitionIndex,
const FName EventName 
)
protected

Behaves like QueryTransitionEvent but additionally marks the event for consumption

◆ QueryTransitionEvent()

bool FAnimInstanceProxy::QueryTransitionEvent ( int32  NodeIndex,
int32  TransitionIndex,
const FName EventName 
) const
protected

Returns whether or not the given event transition request has been queued

◆ RecalcRequiredBones()

void FAnimInstanceProxy::RecalcRequiredBones ( USkeletalMeshComponent Component,
UObject Asset 
)
protected

Recalculate Required Bones [RequiredBones] Is called when bRequiredBonesUpToDate = false The provided asset must be a SkeletalMesh or a Skeleton.

◆ RecalcRequiredCurves() [1/2]

void FAnimInstanceProxy::RecalcRequiredCurves ( const FCurveEvaluationOption CurveEvalOption)
protected

◆ RecalcRequiredCurves() [2/2]

void FAnimInstanceProxy::RecalcRequiredCurves ( const UE::Anim::FCurveFilterSettings CurveFilterSettings)
protected

Recalculate required curve list for animation - if you call RecalcRequiredBones, this should already happen

◆ RecordMachineWeight()

void FAnimInstanceProxy::RecordMachineWeight ( const int32  InMachineClassIndex,
const float  InMachineWeight 
)

◆ RecordStateWeight()

void FAnimInstanceProxy::RecordStateWeight ( const int32  InMachineClassIndex,
const int32  InStateIndex,
const float  InStateWeight,
const float  InElapsedTime 
)

◆ RegisterSlotNodeWithAnimInstance()

void FAnimInstanceProxy::RegisterSlotNodeWithAnimInstance ( const FName SlotNodeName)

Register a named slot

◆ ReinitializeSlotNodes()

void FAnimInstanceProxy::ReinitializeSlotNodes ( )
protected

◆ RemovePoseSnapshot()

void FAnimInstanceProxy::RemovePoseSnapshot ( FName  SnapshotName)

Remove a previously saved pose snapshot from the internal snapshot cache

◆ RequestTransitionEvent()

bool FAnimInstanceProxy::RequestTransitionEvent ( const FName EventName,
const double  RequestTimeout,
const ETransitionRequestQueueMode QueueMode,
const ETransitionRequestOverwriteMode OverwriteMode 
)
protected

Attempts to queue a transition request, returns true if successful

◆ ResetAnimationCurves()

void FAnimInstanceProxy::ResetAnimationCurves ( )
protected

Reset Animation Curves

◆ ResetCounterInputProxy()

void FAnimInstanceProxy::ResetCounterInputProxy ( FAnimInstanceProxy InputProxy)
staticprotected

◆ ResetDynamics() [1/2]

void FAnimInstanceProxy::ResetDynamics ( )

◆ ResetDynamics() [2/2]

void FAnimInstanceProxy::ResetDynamics ( ETeleportType  InTeleportType)

Reset any dynamics running simulation-style updates (e.g. on teleport, time skip etc.)

◆ ResetSync()

void FAnimInstanceProxy::ResetSync ( )
inlineprotected

Reset the sync system to its starting state

◆ ResetUpdateCounter()

void FAnimInstanceProxy::ResetUpdateCounter ( )
inline

◆ SavePoseSnapshot()

void FAnimInstanceProxy::SavePoseSnapshot ( USkeletalMeshComponent InSkeletalMeshComponent,
FName  SnapshotName 
)

Save a pose snapshot to the internal snapshot cache

◆ SequenceAdvanceImmediate()

void FAnimInstanceProxy::SequenceAdvanceImmediate ( UAnimSequenceBase Sequence,
bool  bLooping,
float  PlayRate,
float  DeltaSeconds,
float CurrentTime,
FMarkerTickRecord MarkerTickRecord 
)
protected

◆ SetInterpolationOverride()

void FAnimInstanceProxy::SetInterpolationOverride ( TOptional< EAnimInterpolationType InterpolationType)

Set the optional animation interpolation type override. When not set, it will use the interpolation type set inside the animation asset.

◆ SetSyncMirror()

void FAnimInstanceProxy::SetSyncMirror ( const UMirrorDataTable MirrorDataTable)
inlineprotected

◆ ShouldExtractRootMotion()

bool FAnimInstanceProxy::ShouldExtractRootMotion ( ) const
inline

Check whether we should extract root motion

◆ SlotEvaluatePose() [1/2]

void FAnimInstanceProxy::SlotEvaluatePose ( const FName SlotNodeName,
const FAnimationPoseData SourceAnimationPoseData,
float  InSourceWeight,
FAnimationPoseData OutBlendedAnimationPoseData,
float  InBlendWeight,
float  InTotalNodeWeight 
)

◆ SlotEvaluatePose() [2/2]

void FAnimInstanceProxy::SlotEvaluatePose ( const FName SlotNodeName,
const FCompactPose SourcePose,
const FBlendedCurve SourceCurve,
float  InSourceWeight,
FCompactPose BlendedPose,
FBlendedCurve BlendedCurve,
float  InBlendWeight,
float  InTotalNodeWeight 
)

Evaluate a pose for a named montage slot

◆ TickAssetPlayerInstances() [1/2]

void FAnimInstanceProxy::TickAssetPlayerInstances ( )

◆ TickAssetPlayerInstances() [2/2]

void FAnimInstanceProxy::TickAssetPlayerInstances ( float  DeltaSeconds)

◆ TickSyncGroupWriteIndex()

void FAnimInstanceProxy::TickSyncGroupWriteIndex ( )
inline

◆ TraceMontageEvaluationData()

void FAnimInstanceProxy::TraceMontageEvaluationData ( const FAnimationUpdateContext InContext,
const FName InSlotName 
)

◆ TriggerAnimNotifies()

ENGINE_API void FAnimInstanceProxy::TriggerAnimNotifies ( USkeletalMeshComponent SkelMeshComp,
float  DeltaSeconds 
)

Trigger any anim notifies

◆ Uninitialize()

void FAnimInstanceProxy::Uninitialize ( UAnimInstance InAnimInstance)
protectedvirtual

Called when our anim instance is being uninitialized

◆ Update()

virtual void FAnimInstanceProxy::Update ( float  DeltaSeconds)
inlineprotectedvirtual

Update override point

◆ UpdateActiveAnimNotifiesSinceLastTick()

void FAnimInstanceProxy::UpdateActiveAnimNotifiesSinceLastTick ( const FAnimNotifyQueue AnimInstanceQueue)
protected

Let us copy the full notify queue from the last frame

◆ UpdateAnimation()

void FAnimInstanceProxy::UpdateAnimation ( )
protected

Calls Update(), updates the anim graph, ticks asset players

◆ UpdateAnimation_WithRoot()

void FAnimInstanceProxy::UpdateAnimation_WithRoot ( const FAnimationUpdateContext InContext,
FAnimNode_Base InRootNode,
FName  InLayerName 
)
protected

Calls Update(), updates the anim graph from the specified root, ticks asset players

◆ UpdateAnimationNode()

PRAGMA_ENABLE_DEPRECATION_WARNINGS void FAnimInstanceProxy::UpdateAnimationNode ( const FAnimationUpdateContext InContext)
protectedvirtual

◆ UpdateAnimationNode_WithRoot()

void FAnimInstanceProxy::UpdateAnimationNode_WithRoot ( const FAnimationUpdateContext InContext,
FAnimNode_Base InRootNode,
FName  InLayerName 
)
protectedvirtual

Updates the anim graph using a specified root node

◆ UpdateCurvesPostEvaluation()

void FAnimInstanceProxy::UpdateCurvesPostEvaluation ( USkeletalMeshComponent SkelMeshComp)
protected

Update curves once evaluation has taken place. Mostly pushes curves to materials/morphs

◆ UpdateCurvesToComponents()

void FAnimInstanceProxy::UpdateCurvesToComponents ( USkeletalMeshComponent Component)
inlineprotected

◆ UpdateCurvesToEvaluationContext()

void FAnimInstanceProxy::UpdateCurvesToEvaluationContext ( const FAnimationEvaluationContext InContext)
protected

Pushes blended heap curve to output curves in the proxy using required bones cached data

◆ UpdateInputProxy()

void FAnimInstanceProxy::UpdateInputProxy ( FAnimInstanceProxy InputProxy,
const FAnimationUpdateContext Context 
)
staticprotected

◆ UpdateSlotNodeWeight()

void FAnimInstanceProxy::UpdateSlotNodeWeight ( const FName SlotNodeName,
float  InLocalMontageWeight,
float  InNodeGlobalWeight 
)

◆ WasAnimNotifyNameTriggeredInAnyState()

bool FAnimInstanceProxy::WasAnimNotifyNameTriggeredInAnyState ( FName  NotifyName) const
protected

Get whether the animation notify with the specified name triggered last tick.

◆ WasAnimNotifyNameTriggeredInSourceState()

bool FAnimInstanceProxy::WasAnimNotifyNameTriggeredInSourceState ( int32  MachineIndex,
int32  StateIndex,
FName  NotifyName 
) const
protected

Get whether the most relevant animation triggered the given notify last tick.

◆ WasAnimNotifyNameTriggeredInStateMachine()

bool FAnimInstanceProxy::WasAnimNotifyNameTriggeredInStateMachine ( int32  MachineIndex,
FName  NotifyName 
)
protected

Get whether the given state machine triggered the animation notify with the specified name last tick.

◆ WasAnimNotifyStateActiveInAnyState()

bool FAnimInstanceProxy::WasAnimNotifyStateActiveInAnyState ( TSubclassOf< UAnimNotifyState AnimNotifyStateType) const
protected

Get whether a particular notify state was active in any state machine last tick.

◆ WasAnimNotifyStateActiveInSourceState()

bool FAnimInstanceProxy::WasAnimNotifyStateActiveInSourceState ( int32  MachineIndex,
int32  StateIndex,
TSubclassOf< UAnimNotifyState AnimNotifyStateType 
) const
protected

Get whether the most relevant animation was in a particular notify state last tick.

◆ WasAnimNotifyStateActiveInStateMachine()

bool FAnimInstanceProxy::WasAnimNotifyStateActiveInStateMachine ( int32  MachineIndex,
TSubclassOf< UAnimNotifyState AnimNotifyStateType 
) const
protected

Get whether a particular notify state is active in a specific state machine last tick.

◆ WasAnimNotifyTriggeredInAnyState()

bool FAnimInstanceProxy::WasAnimNotifyTriggeredInAnyState ( TSubclassOf< UAnimNotify AnimNotifyType) const
protected

Get whether an animation notify of a given type was triggered last tick.

◆ WasAnimNotifyTriggeredInSourceState()

bool FAnimInstanceProxy::WasAnimNotifyTriggeredInSourceState ( int32  MachineIndex,
int32  StateIndex,
TSubclassOf< UAnimNotify AnimNotifyType 
) const
protected

Get whether the most relevant animation triggered the given notify last tick.

◆ WasAnimNotifyTriggeredInStateMachine()

bool FAnimInstanceProxy::WasAnimNotifyTriggeredInStateMachine ( int32  MachineIndex,
TSubclassOf< UAnimNotify AnimNotifyType 
) const
protected

Get whether a particular notify type was active in a specific state machine last tick.

Friends And Related Symbol Documentation

◆ FAnimationBaseContext

◆ FAnimNode_ControlRigInputPose

friend struct FAnimNode_ControlRigInputPose
friend

◆ FAnimNode_LinkedAnimGraph

◆ FAnimNode_LinkedAnimLayer

◆ FAnimTrace

friend struct FAnimTrace
friend

◆ FSequencerMixedAnimInstanceProxy

friend struct FSequencerMixedAnimInstanceProxy
friend

◆ UAnimInstance

friend class UAnimInstance
friend

Only restricted classes can access the protected interface

◆ UAnimSingleNodeInstance

◆ UE::Anim::FActiveStateMachineScope

◆ UE::Anim::FAnimSync

◆ UE::Anim::FAnimSyncGroupScope

◆ USkeletalMeshComponent

friend class USkeletalMeshComponent
friend

Member Data Documentation

◆ ActiveAnimNotifiesSinceLastTick

TArray<FAnimNotifyEventReference> FAnimInstanceProxy::ActiveAnimNotifiesSinceLastTick
protected

◆ bBoneCachesInvalidated

uint8 FAnimInstanceProxy::bBoneCachesInvalidated
protected

When RequiredBones mapping has changed, AnimNodes need to update their bones caches.

◆ CachedBonesCounter

FGraphTraversalCounter FAnimInstanceProxy::CachedBonesCounter
protected

◆ EvaluationCounter

FGraphTraversalCounter FAnimInstanceProxy::EvaluationCounter
protected

◆ FrameCounterForNodeUpdate

uint64 FAnimInstanceProxy::FrameCounterForNodeUpdate
protected

◆ FrameCounterForUpdate

uint64 FAnimInstanceProxy::FrameCounterForUpdate
protected

◆ InitializationCounter

FGraphTraversalCounter FAnimInstanceProxy::InitializationCounter
protected

◆ InterpolationOverride

TOptional<EAnimInterpolationType> FAnimInstanceProxy::InterpolationOverride
protected

Optional override of the animation interpolation type. If not set, it is ignored.

◆ QueuedDrawDebugItems

TArray<FQueuedDrawDebugItem> FAnimInstanceProxy::QueuedDrawDebugItems
mutable

◆ SlotNodeInitializationCounter

FGraphTraversalCounter FAnimInstanceProxy::SlotNodeInitializationCounter
protected

◆ UpdateCounter

FGraphTraversalCounter FAnimInstanceProxy::UpdateCounter
protected

The documentation for this struct was generated from the following files: