FAnimInstanceProxy

Inheritance Hierarchy

Syntax

struct FAnimInstanceProxy

Remarks

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

Variables

Name Description

Protected variable

uint8 : 1

 

bBoneCachesInvalidated

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

Protected variable

FGraphTraversal ...

 

CachedBonesCounter

Protected variable

FGraphTraversal ...

 

EvaluationCounter

Protected variable

FGraphTraversal ...

 

InitializationCounter

Counters for synchronization.

Public variable

TArray < FQueued ...

 

QueuedDrawDebugItems

Protected variable

FGraphTraversal ...

 

SlotNodeInitializationCounter

Protected variable

FGraphTraversal ...

 

UpdateCounter

Constructors

Name Description

Public function

FAnimInstanceProxy()

Public function

FAnimInstanceProxy

(
    UAnimInstance * Instance
)

Destructors

Name Description

Public function Virtual

~FAnimInstanceProxy()

Functions

Name Description

Protected function

void

 

AddAnimNotifies

(
    const TArray < FAnimNotifyEventRefer ...,
    const float InstanceWeight
)

Add anim notifier

Public function

void

 

AddAnimNotifyFromGeneratedClass

(
    int32 NotifyIndex
)

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

Protected function

void

 

AddCurveValue

(
    const FSmartNameMapping & Mapping,
    const FName & CurveName,
    float Value
)

Add a curve value

Protected function

void

 

AddNativeStateEntryBinding

(
    const FName & MachineName,
    const FName & StateName,
    const FOnGraphStateChanged & Native...,
    const FName & BindingName
)

Sets up a native state entry delegate from state with StateName, in the state machine with name MachineName.

Protected function

void

 

AddNativeStateExitBinding

(
    const FName & MachineName,
    const FName & StateName,
    const FOnGraphStateChanged & Native...,
    const FName & BindingName
)

Sets up a native state exit delegate from state with StateName, in the state machine with name MachineName.

Protected function

void

 

AddNativeTransitionBinding

(
    const FName & MachineName,
    const FName & PrevStateName,
    const FName & NextStateName,
    const FCanTakeTransition & NativeTr...,
    const FName & TransitionName
)

Sets up a native transition delegate between states with PrevStateName and NextStateName, in the state machine with name MachineName.

Protected function

void

 

AddReferencedObjects

(
    UAnimInstance * InAnimInstance,
    FReferenceCollector & Collector
)

Manually add object references to GC

Public function

void

 

AnimDrawDebugCoordinateSystem

(
    FVector const& AxisLoc,
    FRotator const& AxisRot,
    float Scale,
    bool bPersistentLines,
    float LifeTime,
    float Thickness
)

Public function

void

 

AnimDrawDebugDirectionalArrow

(
    const FVector & LineStart,
    const FVector & LineEnd,
    float ArrowSize,
    const FColor & Color,
    bool bPersistentLines,
    float LifeTime,
    float Thickness
)

Public function

void

 

AnimDrawDebugLine

(
    const FVector & StartLoc,
    const FVector & EndLoc,
    const FColor & Color,
    bool bPersistentLines,
    float LifeTime,
    float Thickness
)

Public function

void

 

AnimDrawDebugOnScreenMessage

(
    const FString & DebugMessage,
    const FColor & Color,
    const FVector2D & TextScale
)

Public function

void

 

AnimDrawDebugPlane

(
    const FTransform & BaseTransform,
    float Radii,
    const FColor & Color,
    bool bPersistentLines,
    float LifeTime,
    float Thickness
)

Public function

void

 

AnimDrawDebugSphere

(
    const FVector & Center,
    float Radius,
    int32 Segments,
    const FColor & Color,
    bool bPersistentLines,
    float LifeTime,
    float Thickness
)

Protected function

void

 

BindNativeDelegates()

Bind any native delegates that we have set up

Protected function

void

 

BlendSpaceAdvanceImmediate

(
    UBlendSpaceBase * BlendSpace,
    const FVector & BlendInput,
    TArray < FBlendSampleData >& BlendS...,
    FBlendFilter & BlendFilter,
    bool bLooping,
    float PlayRate,
    float DeltaSeconds,
    float& CurrentTime,
    FMarkerTickRecord & MarkerTickRecor...
)

Protected function Virtual

void

 

CacheBones()

Cache bones override point.

Protected function Const

float

 

CalcSlotMontageLocalWeight

(
    const FName & SlotNodeName
)

Get local weight of any montages this slot is playing.

Protected function Virtual

void

 

ClearObjects()

Clear any UObjects we might be using.

Protected function

void

 

ClearSlotNodeWeights()

If it doesn't tick, it will keep old weight, so we'll have to clear it in the beginning of tick

Public function

FAnimTickRec ...

 

CreateUninitializedTickRecord

(
    int32 GroupIndex,
    FAnimGroupInstance *& OutSyncGr...
)

Creates an uninitialized tick record in the list for the correct group or the ungrouped array. If the group is valid, OutSyncGroupPtr will point to the group.

Protected function Virtual

bool

 

Evaluate

(
    FPoseContext & Output
)

Evaluate override point

Protected function

void

 

EvaluateAnimation

(
    FPoseContext & Output
)

Evaluates the anim graph if Evaluate() returns false

Protected function

void

 

EvaluateAnimationNode

(
    FPoseContext & Output
)

Evaluates the anim graph

Public function

void

 

GatherDebugData

(
    FNodeDebugData & DebugData
)

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

Protected function Const

const FMonta ...

 

GetActiveMontageEvaluationState()

Get Currently active montage evaluation state.

Public function Const

const FStrin ...

 

GetActorName()

Public function

const FTrans ...

 

GetActorTransform()

Get the transform of the actor we are running on

Protected function Const

const TMap < ...

 

GetAnimationCurves

(
    EAnimCurveType InCurveType
)

Protected function

TMap < FName ,...

 

GetAnimationCurves

(
    EAnimCurveType InCurveType
)

Get the current value of all animation curves

Public function Const

UAnimBluepri ...

 

GetAnimBlueprint()

Public function Const

IAnimClassIn ...

 

GetAnimClassInterface()

Get the IAnimClassInterface associated with this context, if there is one.

Public function Const

const FStrin ...

 

GetAnimInstanceName()

Public function Const

const UObjec ...

 

GetAnimInstanceObject()

Public function

UObject *...

 

GetAnimInstanceObject()

Access UObject base of UAnimInstance

Public function Const

const FGraph ...

 

GetCachedBonesCounter()

Public function

NodeType ...

 

GetCheckedNodeFromIndex

(
    int32 NodeIdx
)

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

Public function

FAnimNode_Ba ...

 

GetCheckedNodeFromIndexUntyped

(
    int32 NodeIdx,
    UScriptStruct * RequiredStructT...
)

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

Public function

const FTrans ...

 

GetComponentRelativeTransform()

Get the relative transform of the component we are running on

Public function

const FTrans ...

 

GetComponentTransform()

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

Protected function Virtual

void

 

GetCustomNodes

(
    TArray < FAnimNode_Base * >& Ou...
)

Called when the anim instance is being initialized.

Protected function Virtual

FAnimNode_Ba ...

 

GetCustomRootNode()

Called when the anim instance is being initialized.

Public function Const

float

 

GetDeltaSeconds()

Get the last DeltaSeconds passed into PreUpdate()

Public function Const

const FGraph ...

 

GetEvaluationCounter()

Public function

FRootMotionM ...

 

GetExtractedRootMotion()

Access root motion params

Public function Const

const FGraph ...

 

GetInitializationCounter()

Access various counters

Public function

int32

 

GetInstanceAssetPlayerIndex

(
    FName MachineName,
    FName StateName,
    FName InstanceName
)

Get the index of the specified instance asset player.

Protected function

float

 

GetInstanceAssetPlayerLength

(
    int32 AssetPlayerIndex
)

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

Protected function

float

 

GetInstanceAssetPlayerTime

(
    int32 AssetPlayerIndex
)

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

Protected function

float

 

GetInstanceAssetPlayerTimeFraction

(
    int32 AssetPlayerIndex
)

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

Protected function

float

 

GetInstanceAssetPlayerTimeFromEnd

(
    int32 AssetPlayerIndex
)

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

Protected function

float

 

GetInstanceAssetPlayerTimeFromEndFraction

(
    int32 AssetPlayerIndex
)

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

Protected function

float

 

GetInstanceCurrentStateElapsedTime

(
    int32 MachineIndex
)

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

Protected function

float

 

GetInstanceMachineWeight

(
    int32 MachineIndex
)

Get the blend weight of a specified state

Protected function

float

 

GetInstanceStateWeight

(
    int32 MachineIndex,
    int32 StateIndex
)

Get the blend weight of a specified state

Protected function

float

 

GetInstanceTransitionCrossfadeDuration

(
    int32 MachineIndex,
    int32 TransitionIndex
)

Get the crossfade duration of a specified transition

Protected function

float

 

GetInstanceTransitionTimeElapsed

(
    int32 MachineIndex,
    int32 TransitionIndex
)

Get the elapsed time in seconds of a specified transition

Protected function

float

 

GetInstanceTransitionTimeElapsedFraction

(
    int32 MachineIndex,
    int32 TransitionIndex
)

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

Public function Const

int32

 

GetLODLevel()

Access to LODLevel

Public function Static

const FBaked ...

 

GetMachineDescription

(
    IAnimClassInterface * AnimBluep...,
    FAnimNode_StateMachine * Machin...
)

Get the machine description for the specified instance.

Protected function

TArray < FMon ...

 

GetMontageEvaluationData()

Access montage array data

Protected function Const

const TArray ...

 

GetMontageEvaluationData()

Access montage array data

Public function

NodeType ...

 

GetNodeFromIndex

(
    int32 NodeIdx
)

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

Public function

FAnimNode_Ba ...

 

GetNodeFromIndexUntyped

(
    int32 NodeIdx,
    UScriptStruct * RequiredStructT...
)

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

Protected function

NodeType ...

 

GetNodeFromProperty

(
    UProperty * Property
)

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

Public function Const

const FPoseS ...

 

GetPoseSnapshot

(
    FName SnapshotName
)

Get a cached pose snapshot by name

Public function Const

float

 

GetRecordedMachineWeight

(
    const int32 InMachineClassIndex
)

Public function Const

float

 

GetRecordedStateWeight

(
    const int32 InMachineClassIndex,
    const int32 InStateIndex
)

Protected function

float

 

GetRelevantAnimLength

(
    int32 MachineIndex,
    int32 StateIndex
)

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

Protected function

float

 

GetRelevantAnimTime

(
    int32 MachineIndex,
    int32 StateIndex
)

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

Protected function

float

 

GetRelevantAnimTimeFraction

(
    int32 MachineIndex,
    int32 StateIndex
)

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

Protected function

float

 

GetRelevantAnimTimeRemaining

(
    int32 MachineIndex,
    int32 StateIndex
)

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

Protected function

float

 

GetRelevantAnimTimeRemainingFraction

(
    int32 MachineIndex,
    int32 StateIndex
)

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

Protected function

FAnimNode_As ...

 

GetRelevantAssetPlayerFromState

(
    int32 MachineIndex,
    int32 StateIndex
)

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

Public function

FBoneContain ...

 

GetRequiredBones()

Access to required bones array

Public function Const

const FBoneC ...

 

GetRequiredBones()

Const access to required bones array

Public function

FAnimNode_Ba ...

 

GetRootNode()

Public function

USkeleton &#...

 

GetSkeleton()

Get the current skeleton we are using.

Public function Const

const FTrans ...

 

GetSkelMeshCompLocalToWorld()

Cached SkeletalMeshComponent LocalToWorld Transform.

Public function Const

USkeletalMes ...

 

GetSkelMeshComponent()

Get the current skeletal mesh component we are running on.

Public function Const

const FTrans ...

 

GetSkelMeshCompOwnerTransform()

Cached SkeletalMeshComponent Owner Transform.

Protected function Const

float

 

GetSlotMontageGlobalWeight

(
    const FName & SlotNodeName
)

Get Global weight of any montages this slot node is playing.

Protected function Const

float

 

GetSlotMontageLocalWeight

(
    const FName & SlotNodeName
)

Get local weight of any montages this slot node is playing.

Protected function Const

float

 

GetSlotNodeGlobalWeight

(
    const FName & SlotNodeName
)

Get global weight in AnimGraph for this slot node.

Public function Const

const FGraph ...

 

GetSlotNodeInitializationCounter()

Public function Const

void

 

GetSlotWeight

(
    const FName & SlotNodeName,
    float& out_SlotNodeWeight,
    float& out_SourceWeight,
    float& out_TotalNodeWeight
)

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

Protected function

int32

 

GetStateMachineIndex

(
    FName MachineName
)

Gets the index of the state machine matching MachineName

Protected function

void

 

GetStateMachineIndexAndDescription

(
    FName InMachineName,
    int32 & OutMachineIndex,
    const FBakedAnimationStateMachine &...
)

Protected function

FAnimNode_St ...

 

GetStateMachineInstance

(
    int32 MachineIndex
)

Gets the runtime instance of the specified state machine

Protected function

const FBaked ...

 

GetStateMachineInstanceDesc

(
    FName MachineName
)

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

Public function

FAnimNode_St ...

 

GetStateMachineInstanceFromName

(
    FName MachineName
)

Gets the runtime instance of the specified state machine by Name

Protected function Const

int32

 

GetSyncGroupIndexFromName

(
    FName SyncGroupName
)

Returns the baked sync group index from the compile step

Protected function Const

FMarkerSyncA ...

 

GetSyncGroupPosition

(
    FName InSyncGroupName
)

Public function Const

const TArray ...

 

GetSyncGroupRead()

Get the sync group we are currently reading from

Protected function Const

int32

 

GetSyncGroupReadIndex()

Gets the sync group we should be reading from.

Protected function Const

int32

 

GetSyncGroupWriteIndex()

Gets the sync group we should be writing to.

Public function Const

float

 

GetTimeDilation()

Get the last time dilation, gleaned from world settings

Protected function Const

bool

 

GetTimeToClosestMarker

(
    FName SyncGroup,
    FName MarkerName,
    float& OutMarkerTime
)

Public function

const TArray ...

 

GetUngroupedActivePlayersRead()

Get the ungrouped active player we are currently reading from

Public function Const

const FGraph ...

 

GetUpdateCounter()

Protected function Const

bool

 

HasActiveCurves()

Check whether we have any active curves

Protected function Const

bool

 

HasMarkerBeenHitThisFrame

(
    FName SyncGroup,
    FName MarkerName
)

Protected function

bool

 

HasNativeStateEntryBinding

(
    const FName & MachineName,
    const FName & StateName,
    FName & OutBindingName
)

Check for whether a native entry delegate is bound to the specified state.

Protected function

bool

 

HasNativeStateExitBinding

(
    const FName & MachineName,
    const FName & StateName,
    FName & OutBindingName
)

Check for whether a native exit delegate is bound to the specified state.

Protected function

bool

 

HasNativeTransitionBinding

(
    const FName & MachineName,
    const FName & PrevStateName,
    const FName & NextStateName,
    FName & OutBindingName
)

Check for whether a native rule is bound to the specified transition.

Public function Const

bool

 

HasRootNode()

Check whether we have a valid root node

Protected function Virtual

void

 

Initialize

(
    UAnimInstance * InAnimInstance
)

Called when our anim instance is being initialized

Protected function Virtual

void

 

InitializeObjects

(
    UAnimInstance * InAnimInstance
)

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

Protected function

void

 

InitializeRootNode()

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

Public function Const

bool

 

IsBeingDebugged()

Whether the UAnimInstance this context refers to is currently being debugged in the editor

Public function Const

bool

 

IsSkeletonCompatible

(
    USkeleton const* InSkeleton
)

Check whether the supplied skeleton is compatible with this instance's skeleton

Public function Const

bool

 

IsSlotNodeRelevantForNotifies

(
    const FName & SlotNodeName
)

Protected function Const

bool

 

IsSyncGroupBetweenMarkers

(
    FName InSyncGroupName,
    FName PreviousMarker,
    FName NextMarker,
    bool bRespectMarkerOrder
)

Protected function

void

 

LogMessage

(
    FName InLogType,
    EMessageSeverity::Type InSeverity,
    const FText & InMessage
)

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

Public function Const

void

 

MakeBlendSpaceTickRecord

(
    FAnimTickRecord & TickRecord,
    UBlendSpaceBase * BlendSpace,
    const FVector & BlendInput,
    TArray < FBlendSampleData >& BlendS...,
    FBlendFilter & BlendFilter,
    bool bLooping,
    float PlayRate,
    float FinalBlendWeight,
    float& CurrentTime,
    FMarkerTickRecord & MarkerTickRecor...
)

Helper function: make a tick record for a blend space

Public function Const

void

 

MakePoseAssetTickRecord

(
    FAnimTickRecord & TickRecord,
    UPoseAsset * PoseAsset,
    float FinalBlendWeight
)

Helper function: make a tick record for a pose asset

Public function Const

void

 

MakeSequenceTickRecord

(
    FAnimTickRecord & TickRecord,
    UAnimSequenceBase * Sequence,
    bool bLooping,
    float PlayRate,
    float FinalBlendWeight,
    float& CurrentTime,
    FMarkerTickRecord & MarkerTickRecor...
)

Helper function: make a tick record for a sequence

Protected function

void

 

OnPreUpdateLODChanged

(
    const int32 PreviousLODIndex,
    const int32 NewLODIndex
)

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

Protected function Virtual

void

 

PostEvaluate

(
    UAnimInstance * InAnimInstance
)

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

Protected function Virtual Const

void

 

PostUpdate

(
    UAnimInstance * InAnimInstance
)

Called after update so we can copy any data we need

Protected function Virtual

void

 

PreEvaluateAnimation

(
    UAnimInstance * InAnimInstance
)

Called on the game thread pre-evaluate.

Protected function Virtual

void

 

PreUpdate

(
    UAnimInstance * InAnimInstance,
    float DeltaSeconds
)

Called before update so we can copy any data we need

Protected function

void

 

RecalcRequiredBones

(
    USkeletalMeshComponent * Compon...,
    UObject * Asset
)

Recalculate Required Bones [RequiredBones] Is called when bRequiredBonesUpToDate = false

Protected function

void

 

RecalcRequiredCurves

(
    const FCurveEvaluationOption & Curv...
)

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

Public function

void

 

RecordMachineWeight

(
    const int32 InMachineClassIndex,
    const float InMachineWeight
)

Public function

void

 

RecordNodeVisit

(
    int32 TargetNodeIndex,
    int32 SourceNodeIndex,
    float BlendWeight
)

Record a visited node in the debugger

Public function

void

 

RecordStateWeight

(
    const int32 InMachineClassIndex,
    const int32 InStateIndex,
    const float InStateWeight
)

Public function

void

 

RegisterSlotNodeWithAnimInstance

(
    const FName & SlotNodeName
)

Register a named slot

Public function

void

 

RegisterWatchedPose

(
    const FCSPose < FCompactPose >& Pos...,
    int32 LinkID
)

Record pose for node of ID LinkID if it is currently being watched.

Public function

void

 

RegisterWatchedPose

(
    const FCompactPose & Pose,
    int32 LinkID
)

Record pose for node of ID LinkID if it is currently being watched.

Protected function

void

 

ReinitializeSlotNodes()

Slot node run-time functions

Protected function

void

 

ResetAnimationCurves()

Reset Animation Curves

Public function

void

 

ResetDynamics

(
    ETeleportType InTeleportType
)

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

Public function

void

 

ResetUpdateCounter()

Public function

void

 

SavePoseSnapshot

(
    USkeletalMeshComponent * InSkel...,
    FName SnapshotName
)

Save a pose snapshot to the internal snapshot cache

Protected function

void

 

SequenceAdvanceImmediate

(
    UAnimSequenceBase * Sequence,
    bool bLooping,
    float PlayRate,
    float DeltaSeconds,
    float& CurrentTime,
    FMarkerTickRecord & MarkerTickRecor...
)

Public function Const

bool

 

ShouldExtractRootMotion()

Check whether we should extract root motion

Public function

void

 

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

Public function

void

 

TickAssetPlayerInstances

(
    float DeltaSeconds
)

Tick active asset players

Public function

void

 

TickSyncGroupWriteIndex()

Flip sync group read/write indices

Public function

void

 

TriggerAnimNotifies

(
    USkeletalMeshComponent * SkelMe...,
    float DeltaSeconds
)

Trigger any anim notifies

Protected function Virtual

void

 

Uninitialize

(
    UAnimInstance * InAnimInstance
)

Called when our anim instance is being uninitialized

Protected function Virtual

void

 

Update

(
    float DeltaSeconds
)

Update override point

Protected function

void

 

UpdateAnimation()

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

Protected function Virtual

void

 

UpdateAnimationNode

(
    float DeltaSeconds
)

Updates the anim graph

Protected function

void

 

UpdateCurvesPostEvaluation

(
    USkeletalMeshComponent * SkelMe...
)

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

Protected function

void

 

UpdateCurvesToComponents

(
    USkeletalMeshComponent * Compon...
)

Update the material parameters of the supplied component from this instance

Protected function

void

 

UpdateCurvesToEvaluationContext

(
    const FAnimationEvaluationContext &...
)

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

Public function

void

 

UpdateSlotNodeWeight

(
    const FName & SlotNodeName,
    float InLocalMontageWeight,
    float InNodeGlobalWeight
)

Allow slot nodes to store off their weight during ticking.

Typedefs

Name

Description

FLogMessageEntry

Logged message queues.

Deprecated Functions

Name Description

Public function Const

UAnimBluepri ...

 

GetAnimBlueprintClass()

GetAnimBlueprintClass() is deprecated, UAnimBlueprintGeneratedClass should not be directly used at runtime. Please use GetAnimClassInterface() instead.

Public function

void

 

ResetDynamics()

Please use ResetDynamics with a ETeleportType argument

References

Module

Engine

Header

Runtime/Engine/Public/Animation/AnimInstanceProxy.h