Navigation
API > API/Runtime > API/Runtime/Engine > API/Runtime/Engine/Animation
Inheritance Hierarchy
- FAnimNode_Base
- FAnimNode_ApplyAdditive
- FAnimNode_ApplyMeshSpaceAdditive
- FAnimNode_AssetPlayerRelevancyBase
- FAnimNode_AssetPlayerBase
- FAnimNode_BlendSpacePlayerBase
- FAnimNode_BlendSpacePlayer
- FAnimNode_AimOffsetLookAt
- FAnimNode_BlendSpaceEvaluator
- FAnimNode_RotationOffsetBlendSpace
- FAnimNode_BlendSpacePlayer_Standalone
- FAnimNode_BlendStack_Standalone
- FAnimNode_BlendStack
- FAnimNode_MotionMatching
- FAnimNode_PoseHandler
- FAnimNode_PoseBlendNode
- FAnimNode_PoseByName
- FAnimNode_PoseDriver
- FAnimNode_SequenceEvaluatorBase
- FAnimNode_SequenceEvaluator
- FAnimNode_SequenceEvaluator_Standalone
- FAnimNode_SequencePlayerBase
- FAnimNode_SequencePlayer
- FAnimNode_SequencePlayer_Standalone
- FAnimNode_RandomPlayer
- FAnimNode_BlendBoneByChannel
- FAnimNode_BlendListBase
- FAnimNode_BlendListByBool
- FAnimNode_BlendListByEnum
- FAnimNode_BlendListByInt
- FAnimNode_BlendSpaceGraphBase
- FAnimNode_BlendSpaceGraph
- FAnimNode_RotationOffsetBlendSpaceGraph
- FAnimNode_CallFunction
- FAnimNode_ConvertComponentToLocalSpace
- FAnimNode_ConvertLocalToComponentSpace
- FAnimNode_CopyPoseFromMesh
- FAnimNode_CurveSource
- FAnimNode_CustomProperty
- FAnimNode_ControlRigBase
- FAnimNode_ControlRig
- FAnimNode_ControlRig_ExternalSource
- FAnimNode_IKRig
- FAnimNode_LinkedAnimGraph
- FAnimNode_LinkedAnimLayer
- FAnimNode_DeadBlending
- FAnimNode_Inertialization
- FAnimNode_LayeredBoneBlend
- FAnimNode_LinkedInputPose
- FAnimNode_LiveLinkPose
- FAnimNode_MakeDynamicAdditive
- FAnimNode_MeshSpaceRefPose
- FAnimNode_MirrorBase
- FAnimNode_Mirror
- FAnimNode_Mirror_Standalone
- FAnimNode_ModifyCurve
- FAnimNode_MultiWayBlend
- FAnimNode_PoseSearchHistoryCollector_Base
- FAnimNode_PoseSearchComponentSpaceHistoryCollector
- FAnimNode_PoseSearchHistoryCollector
- FAnimNode_PoseSnapshot
- FAnimNode_PreviewRetargetPose
- FAnimNode_RefPose
- FAnimNode_RemapCurvesBase
- FAnimNode_RemapCurves
- FAnimNode_RemapCurvesFromMesh
- FAnimNode_RetargetPoseFromMesh
- FAnimNode_RigLogic
- FAnimNode_Root
- FAnimNode_BlendSpaceSampleResult
- 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_FootPlacement
- FAnimNode_HandIKRetargeting
- FAnimNode_LegIK
- FAnimNode_LookAt
- FAnimNode_ModifyBone
- FAnimNode_ObserveBone
- FAnimNode_OffsetRootBone
- FAnimNode_OrientationWarping
- FAnimNode_ResetRoot
- FAnimNode_RigidBody
- FAnimNode_RotationMultiplier
- FAnimNode_SlopeWarping
- FAnimNode_SplineIK
- FAnimNode_SpringBone
- FAnimNode_StageCoachWheelController
- FAnimNode_StrideWarping
- FAnimNode_Trail
- FAnimNode_TwistCorrectiveNode
- FAnimNode_TwoBoneIK
- FAnimNode_WheelController
- FAnimNode_Slot
- FAnimNode_StateMachine
- FAnimNode_Sync
- 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
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | CacheBones_AnyThread
(
const FAnimationCacheBonesContext& Context |
Called to cache any bones that this node needs to track (e.g. in a FBoneReference). | |
| bool | Whether this node can run its Update() call on a worker thread. | ||
| void | Evaluate_AnyThread
(
FPoseContext& Output |
Called to evaluate local-space bones transforms according to the weights set up in Update(). | |
| void | Called to evaluate component-space bone transforms according to the weights set up in Update(). | ||
| void | GatherDebugData
(
FNodeDebugData& DebugData |
Called to gather on-screen debug data. This is called on the game thread. | |
| const IAnimClassInterface * | Get the anim class that this node is hosted within. | ||
| const DataType & | GetData
(
UE::Anim::FNodeDataId InId, |
Get anim node constant/folded data of the specified type given the identifier. Do not use directly - use GET_ANIM_NODE_DATA. | |
| const FExposedValueHandler & | The default handler for graph-exposed inputs: | ||
| DataType * | GetInstanceDataPtr
(
UE::Anim::FNodeDataId InId, |
Get anim node mutable data of the specified type given the identifier. | |
| int32 | Get the LOD threshold at which this node is enabled. | ||
| DataType & | GetMutableData
(
UE::Anim::FNodeDataId InId, |
Get anim node constant/folded data of the specified type given the identifier. | |
| int32 | GetNodeIndex () |
Get this node's index. The node index provides a unique key into its location within the class data. | |
| 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. | |
| void | Initialize_AnyThread
(
const FAnimationInitializeContext& Context |
Called when the node first runs. | |
| bool | IsLODEnabled
(
FAnimInstanceProxy* AnimInstanceProxy |
Return true if enabled, otherwise, return false. | |
| bool | For nodes that implement some kind of simulation, return true here so ResetDynamics() gets called when things like teleports, time skips etc. | ||
| bool | For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficient or inefficient to use Initialize_AnyThread), return true here. | ||
| void | OnInitializeAnimInstance
(
const FAnimInstanceProxy* InProxy, |
Called once, from game thread as the parent anim instance is created | |
| void | PostCompile
(
const USkeleton* InSkeleton |
Called after compilation | |
| void | PreUpdate
(
const UAnimInstance* InAnimInstance |
Override this to perform game-thread work prior to non-game thread Update() being called | |
| void | ResetDynamics
(
ETeleportType InTeleportType |
Called to help dynamics-based updates to recover correctly from large movements/teleports | |
| void | Update_AnyThread
(
const FAnimationUpdateContext& Context |
Called to update the state of the graph relative to this node. |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| void | OnUpdatesSkipped
(
TArrayView< const FAnimationUpdateContext* > SkippedUpdateContexts |
Please use IGraphMessage instead | |
| void | OverrideAsset
(
UAnimationAsset* NewAsset |
Please use the OverrideAssets API on UAnimGraphNode_Base to opt-in to child anim BP override functionality, or per-node specific asset override calls. | |
| void | Please use ResetDynamics with an ETeleportPhysics flag instead | ||
| void | SetExposedValueHandler
(
const FExposedValueHandler* Handler |
Exposed value handlers are now accessed via FAnimNodeConstantData | |
| bool | Please use IGraphMessage instead |