FAnimNode_Base

This is the base of all runtime animation nodes

Windows
MacOS
Linux

Inheritance Hierarchy

FAnimNode_Base

FAnimNode_ApplyAdditive

FAnimNode_ApplyMeshSpaceAdditive

FAnimNode_AssetPlayerBase

FAnimNode_BlendSpacePlayer

FAnimNode_AimOffsetLookAt

FAnimNode_BlendSpaceEvaluator

FAnimNode_RotationOffsetBlendSpace

FAnimNode_PoseHandler

FAnimNode_PoseBlendNode

FAnimNode_PoseByName

FAnimNode_PoseDriver

FAnimNode_SequenceEvaluator

FAnimNode_SequencePlayer

FAnimNode_BlendBoneByChannel

FAnimNode_BlendListBase

FAnimNode_BlendListByBool

FAnimNode_BlendListByEnum

FAnimNode_BlendListByInt

FAnimNode_ConvertComponentToLocalSpace

FAnimNode_ConvertLocalToComponentSpace

FAnimNode_CopyPoseFromMesh

FAnimNode_CurveSource

FAnimNode_CustomProperty

FAnimNode_ControlRigBase

FAnimNode_ControlRig

FAnimNode_ControlRig_ExternalSource

FAnimNode_LinkedAnimGraph

FAnimNode_LinkedAnimLayer

FAnimNode_Inertialization

FAnimNode_LayeredBoneBlend

FAnimNode_LinkedInputPose

FAnimNode_LiveLinkPose

FAnimNode_MakeDynamicAdditive

FAnimNode_MeshSpaceRefPose

FAnimNode_ModifyCurve

FAnimNode_MultiWayBlend

FAnimNode_PoseSnapshot

FAnimNode_RandomPlayer

FAnimNode_RefPose

FAnimNode_Root

FAnimNode_StateResult

FAnimNode_RotateRootBone

FAnimNode_SaveCachedPose

FAnimNode_ScaleChainLength

FAnimNode_SingleNode

FAnimNode_SkeletalControlBase

FAnimNode_AnimDynamics

FAnimNode_ApplyLimits

FAnimNode_BoneDrivenController

FAnimNode_CCDIK

FAnimNode_Constraint

FAnimNode_CopyBone

FAnimNode_CopyBoneDelta

FAnimNode_Fabrik

FAnimNode_HandIKRetargeting

FAnimNode_LegIK

FAnimNode_LookAt

FAnimNode_ModifyBone

FAnimNode_ObserveBone

FAnimNode_ResetRoot

FAnimNode_RigidBody

FAnimNode_RotationMultiplier

FAnimNode_SplineIK

FAnimNode_SpringBone

FAnimNode_Trail

FAnimNode_TwistCorrectiveNode

FAnimNode_TwoBoneIK

FAnimNode_WheelController

FAnimNode_WheelHandler

FAnimNode_Slot

FAnimNode_StateMachine

FAnimNode_SteamVRInputAnimPose

FAnimNode_SteamVRSetWristTransform

FAnimNode_TransitionPoseEvaluator

FAnimNode_TransitionResult

FAnimNode_TwoWayBlend

FAnimNode_UseCachedPose

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Animation/AnimNodeBase.h

Include

#include "Animation/AnimNodeBase.h"

Syntax

struct FAnimNode_Base

Remarks

This is the base of all runtime animation nodes

To create a new animation node: Create a struct derived from FAnimNode_Base - this is your runtime node Create a class derived from UAnimGraphNode_Base , containing an instance of your runtime node as a member - this is your visual/editor-only node

Destructors

Name Description

Public function Virtual

~FAnimNode_Base()

Functions

Name Description

Public function Virtual

void

 

CacheBones_AnyThread

(
    const FAnimationCacheBonesContext &...
)

Called to cache any bones that this node needs to track (e.g. in a FBoneReference ).

Public function Virtual Const

bool

 

CanUpdateInWorkerThread()

Whether this node can run its Update() call on a worker thread.

Public function Virtual

void

 

Evaluate_AnyThread

(
    FPoseContext & Output
)

Called to evaluate local-space bones transforms according to the weights set up in Update() .

Public function Virtual

void

 

EvaluateComponentSpace_AnyThread

(
    FComponentSpacePoseContext & Output
)

Called to evaluate component-space bone transforms according to the weights set up in Update() .

Public function Virtual

void

 

GatherDebugData

(
    FNodeDebugData & DebugData
)

Called to gather on-screen debug data. This is called on the game thread.

Public function

const FExpos ...

 

GetEvaluateGraphExposedInputs()

The default handler for graph-exposed inputs:

Protected function Virtual Const

int32

 

GetLODThreshold()

Public function Virtual Const

bool

 

HasPreUpdate()

Override this to indicate that PreUpdate() should be called on the game thread (usually to gather non-thread safe data) before Update() is called.

Public function Virtual

void

 

Initialize_AnyThread

(
    const FAnimationInitializeContext &...
)

Called when the node first runs.

Protected function

bool

 

IsLODEnabled

(
    FAnimInstanceProxy * AnimInstan...
)

Return true if enabled, otherwise, return false.

Public function Virtual Const

bool

 

NeedsDynamicReset()

For nodes that implement some kind of simulation, return true here so ResetDynamics() gets called when things like teleports, time skips etc.

Public function Virtual Const

bool

 

NeedsOnInitializeAnimInstance()

For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficent or inefficent to use Initialize_AnyThread), return true here.

Protected function Virtual

void

 

OnInitializeAnimInstance

(
    const FAnimInstanceProxy * InPr...,
    const UAnimInstance * InAnimIns...
)

Called once, from game thread as the parent anim instance is created

Public function Virtual

void

 

OnUpdatesSkipped

(
    TArrayView < const FAnimationUpdateC ...
)

Called on a tracked ancestor node when there are Update() calls that were skipped due to pose caching.

Public function Virtual

void

 

OverrideAsset

(
    UAnimationAsset * NewAsset
)

If a derived anim node should respond to asset overrides, OverrideAsset should be defined to handle changing the asset This is called during anim blueprint compilation to handle child anim blueprints.

Public function Virtual

void

 

PostCompile

(
    const USkeleton * InSkeleton
)

Called after compilation

Public function Virtual

void

 

PreUpdate

(
    const UAnimInstance * InAnimIns...
)

Override this to perform game-thread work prior to non-game thread Update() being called

Public function Virtual

void

 

ResetDynamics

(
    ETeleportType InTeleportType
)

Called to help dynamics-based updates to recover correctly from large movements/teleports

Public function

void

 

SetExposedValueHandler

(
    const FExposedValueHandler * Ha...
)

Initialization function for the default handler for graph-exposed inputs, used only by instancing code:

Public function Virtual

void

 

Update_AnyThread

(
    const FAnimationUpdateContext & Con...
)

Called to update the state of the graph relative to this node.

Public function Virtual Const

bool

 

WantsSkippedUpdates()

Override this if your node uses ancestor tracking and wants to be informed of Update() calls that were skipped due to pose caching.

Deprecated Functions

Name Description

Public function Virtual

void

 

CacheBones

(
    const FAnimationCacheBonesContext &...
)

Please use CacheBones_AnyThread instead

Public function Virtual

void

 

Evaluate

(
    FPoseContext & Output
)

Please use Evaluate_AnyThread instead

Public function Virtual

void

 

EvaluateComponentSpace

(
    FComponentSpacePoseContext & Output
)

Please use EvaluateComponentSpace_AnyThread instead

Public function Virtual

void

 

Initialize

(
    const FAnimationInitializeContext &...
)

Please use Initialize_AnyThread instead

Public function Virtual

void

 

ResetDynamics()

Please use ResetDynamics with an ETeleportPhysics flag instead

Protected function Virtual

void

 

RootInitialize

(
    const FAnimInstanceProxy * InPr...
)

Please use OnInitializeAnimInstance instead

Public function Virtual

void

 

Update

(
    const FAnimationUpdateContext & Con...
)

Please use Update_AnyThread instead

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback