Navigation
API > API/Editor > API/Editor/AnimGraph
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UEdGraphNode
- UK2Node
- UAnimGraphNode_Base
- UAnimGraphNode_ApplyAdditive
- UAnimGraphNode_ApplyMeshSpaceAdditive
- UAnimGraphNode_AssetPlayerBase
- UAnimGraphNode_BlendSpaceBase
- UAnimGraphNode_AimOffsetLookAt
- UAnimGraphNode_BlendSpaceEvaluator
- UAnimGraphNode_BlendSpacePlayer
- UAnimGraphNode_RotationOffsetBlendSpace
- UAnimGraphNode_BlendStack
- UAnimGraphNode_MotionMatching
- UAnimGraphNode_PoseByName
- UAnimGraphNode_PoseHandler
- UAnimGraphNode_PoseBlendNode
- UAnimGraphNode_PoseDriver
- UAnimGraphNode_SequenceEvaluator
- UAnimGraphNode_SequencePlayer
- UAnimGraphNode_BlendBoneByChannel
- UAnimGraphNode_BlendListBase
- UAnimGraphNode_BlendListByBool
- UAnimGraphNode_BlendListByEnum
- UAnimGraphNode_BlendListByInt
- UAnimGraphNode_LayeredBoneBlend
- UAnimGraphNode_BlendSpaceGraphBase
- UAnimGraphNode_BlendSpaceGraph
- UAnimGraphNode_RotationOffsetBlendSpaceGraph
- UAnimGraphNode_BlendSpaceSampleResult
- UAnimGraphNode_ComponentToLocalSpace
- UAnimGraphNode_CopyPoseFromMesh
- UAnimGraphNode_CurveSource
- UAnimGraphNode_CustomProperty
- UAnimGraphNode_ControlRig
- UAnimGraphNode_IKRig
- UAnimGraphNode_LinkedAnimGraphBase
- UAnimGraphNode_LinkedAnimGraph
- UAnimGraphNode_LinkedAnimLayer
- UAnimGraphNode_DeadBlending
- UAnimGraphNode_Inertialization
- UAnimGraphNode_LinkedInputPose
- UAnimGraphNode_LiveLinkPose
- UAnimGraphNode_LocalToComponentSpace
- UAnimGraphNode_MakeDynamicAdditive
- UAnimGraphNode_MeshRefPose
- UAnimGraphNode_Mirror
- UAnimGraphNode_ModifyCurve
- UAnimGraphNode_MultiWayBlend
- UAnimGraphNode_PoseSearchHistoryCollector_Base
- UAnimGraphNode_PoseSearchComponentSpaceHistoryCollector
- UAnimGraphNode_PoseSearchHistoryCollector
- UAnimGraphNode_PoseSnapshot
- UAnimGraphNode_RandomPlayer
- UAnimGraphNode_RefPoseBase
- UAnimGraphNode_IdentityPose
- UAnimGraphNode_LocalRefPose
- UAnimGraphNode_RemapCurves
- UAnimGraphNode_RemapCurvesFromMesh
- UAnimGraphNode_RetargetPoseFromMesh
- UAnimGraphNode_RigLogic
- UAnimGraphNode_Root
- UAnimGraphNode_RotateRootBone
- UAnimGraphNode_SaveCachedPose
- UAnimGraphNode_ScaleChainLength
- UAnimGraphNode_SkeletalControlBase
- UAnimGraphNode_AnimDynamics
- UAnimGraphNode_ApplyLimits
- UAnimGraphNode_BoneDrivenController
- UAnimGraphNode_CCDIK
- UAnimGraphNode_Constraint
- UAnimGraphNode_CopyBone
- UAnimGraphNode_CopyBoneDelta
- UAnimGraphNode_Fabrik
- UAnimGraphNode_FootPlacement
- UAnimGraphNode_HandIKRetargeting
- UAnimGraphNode_LegIK
- UAnimGraphNode_LookAt
- UAnimGraphNode_ModifyBone
- UAnimGraphNode_ObserveBone
- UAnimGraphNode_OffsetRootBone
- UAnimGraphNode_OrientationWarping
- UAnimGraphNode_ResetRoot
- UAnimGraphNode_RigidBody
- UAnimGraphNode_RotationMultiplier
- UAnimGraphNode_SlopeWarping
- UAnimGraphNode_SplineIK
- UAnimGraphNode_SpringBone
- UAnimGraphNode_StageCoachWheelController
- UAnimGraphNode_StrideWarping
- UAnimGraphNode_Trail
- UAnimGraphNode_TwistCorrectiveNode
- UAnimGraphNode_TwoBoneIK
- UAnimGraphNode_WheelController
- UAnimGraphNode_Slot
- UAnimGraphNode_StateMachineBase
- UAnimGraphNode_StateMachine
- UAnimGraphNode_StateResult
- UAnimGraphNode_CustomTransitionResult
- UAnimGraphNode_TransitionPoseEvaluator
- UAnimGraphNode_TransitionResult
- UAnimGraphNode_TwoWayBlend
- UAnimGraphNode_UseCachedPose
References
| Module | AnimGraph |
| Header | /Engine/Source/Editor/AnimGraph/Public/AnimGraphNode_Base.h |
| Include | #include "AnimGraphNode_Base.h" |
Syntax
class UAnimGraphNode_Base : public UK2Node
Remarks
This is the base class for any animation graph nodes that generate or consume an animation pose in the animation blend graph.
Any concrete implementations will be paired with a runtime graph node derived from FAnimNode_Base
Variables
| Type | Name | Description | |
|---|---|---|---|
| TSet< FName > | AlwaysDynamicProperties | Properties marked as always dynamic, so they can be set externally | |
| FMemberReference | BecomeRelevantFunction | Function called when the node becomes relevant, meaning it goes from having no weight to any weight. | |
| EBlueprintUsage | BlueprintUsage | ||
| FMemberReference | InitialUpdateFunction | Function called before the node is updated for the first time. | |
| FOnNodeTitleChangedEvent | NodeTitleChangedEvent | ||
| TArray< FName > | OldShownPins | Old shown pins. Needs to be a member variable to track pin visibility changes between Pre and PostEditChange. | |
| FPinVisibilityChangedEvent | PinVisibilityChangedEvent | ||
| TMap< FName, FAnimGraphNodePropertyBinding > | PropertyBindings | Map from property name->binding info | |
| FOnNodePropertyChangedEvent | PropertyChangeEvent | ||
| TArray< FOptionalPinFromProperty > | ShowPinForProperties | ||
| FMemberReference | UpdateFunction | Function called when the node is updated. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UAnimGraphNode_Base
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | BakeDataDuringCompilation
(
FCompilerResultsLog& MessageLog |
Gives each visual node a chance to update the node template before it is inserted in the compiled class. | |
| void | CopyNodeDataToPreviewNode
(
FAnimNode_Base* InPreviewNode |
Called to propagate data from the internal node to the preview in Persona. | |
| void | CopyPinDefaultsToNodeData
(
UEdGraphPin* InPin |
Called after editing a default value to update internal node from pin defaults. | |
| void | CopyTermDefaultsToDefaultObject
(
IAnimBlueprintCopyTermDefaultsContext& InCompilationContext, |
Copy this node's data during the last phase of compilation where term defaults are copied to the new CDO. | |
| void | CreateCustomPins
(
TArray< UEdGraphPin* >* OldPins |
Override point to create custom pins | |
| void | Create any output pins necessary for this node. | ||
| void | CreatePinsForPoseLink
(
FProperty* PoseProperty, |
This will be called when a pose link is found, and can be called with PoseProperty being either of: | |
| void | CustomizeDetails
(
IDetailLayoutBuilder& DetailBuilder |
Can customize details tab | |
| void | CustomizePinData
(
UEdGraphPin* Pin, |
Customize pin data based on the input | |
| bool | BEGIN Interface to support transition getter if you return true for DoesSupportExposeTimeForTransitionGetter you should implement all below functions | ||
| void | Draw
(
FPrimitiveDrawInterface* PDI, |
Draw function called on nodes that are selected and / or have a pose watch enabled. | |
| void | Draw
(
FPrimitiveDrawInterface* PDI, |
Draw function for supporting visualization. | |
| void | DrawCanvas
(
FViewport& InViewport, |
Canvas draw function to draw to viewport. | |
| FAnimNode_Base * | FindDebugAnimNode
(
USkeletalMeshComponent* PreviewSkelMeshComp |
Try to find the preview node instance for this anim graph node | |
| NodeType * | GetActiveInstanceNode
(
UObject* AnimInstanceObject |
||
| void | GetAllAnimationSequencesReferred
(
TArray< UAnimationAsset* >& AnimAssets |
Populate the supplied arrays with the currently reffered to animation assets. | |
| UAnimationAsset * | |||
| TSubclassOf< UAnimationAsset > | |||
| UAnimBlueprint * | Get the animation blueprint to which this node belongs | ||
| void | GetBoundFunctionsInfo
(
TArray< TPair< FName, FName >>& InOutBindingsInfo |
Gets editor information for all the bound anim node functions (category metadata string, member variable's name) Used by SAnimGraphNode to display all bound functions of an anim node. | |
| FAnimNode_Base * | Get the currently-debugged runtime anim node (in the anim BP debugger that this node is currently being edited in) | ||
| TNodeType * | Get the currently-debugged runtime anim node of a specified type (in the anim BP debugger that this node is currently being edited in) | ||
| FEditorModeID | Override this function to push an editor mode when this node is selected | ||
| FAnimNode_Base * | GetFNode () |
Get the runtime anim node that we template. | |
| FStructProperty * | Gets the animation FNode property represented by this ed graph node. | ||
| UScriptStruct * | GetFNodeType () |
Gets the animation FNode type represented by this ed graph node. | |
| void | GetInputLinkAttributes
(
FNodeAttributeArray& OutAttributes |
Get the named attribute types that this node takes (absorbs) as inputs. Other attributes are assumed to 'pass through' this node. | |
| FPoseLinkMappingRecord | GetLinkIDLocation
(
const UScriptStruct* NodeType, |
||
| FString | Gets the menu category this node belongs in. | ||
| UObject * | |||
| void | GetOnScreenDebugInfo
(
TArray< FText >& DebugInfo, |
Function to collect strings from nodes to display in the viewport. | |
| void | GetOutputLinkAttributes
(
FNodeAttributeArray& OutAttributes |
Get the named attribute types that this node provides as outputs. Other attributes are assumed to 'pass through' this node. | |
| void | GetPinAssociatedProperty
(
const UScriptStruct* NodeType, |
Get the property (and possibly array index) associated with the supplied pin | |
| bool | GetPinBindingInfo
(
FName InPinName, |
Get the pin binding info for the supplied pin | |
| FProperty * | GetPinProperty
(
FName InPinName |
Get the property corresponding to a pin. For array element pins returns the outer array property. Returns null if a property cannot be found. | |
| FProperty * | GetPinProperty
(
const UEdGraphPin* InPin |
Get the property corresponding to a pin. For array element pins returns the outer array property. Returns null if a property cannot be found. | |
| const UAnimGraphNode_Base * | Some anim graph nodes can act as proxies to outer nodes (e.g. sink nodes in nested graphs). | ||
| void | GetRequiredExtensions
(
TArray< TSubclassOf< UAnimBlueprintExtension >>& OutExtensions |
Get the extension types that this node type holds on the anim blueprint. Some extension types are always requested by the system. | |
| FName | GetTag () |
Get the tag for this node, if any. | |
| const TCHAR * | |||
| UScriptStruct * | |||
| void | HandleAnimReferenceCollection
(
UAnimationAsset* AnimAsset, |
Helper function for GetAllAnimationSequencesReferred. | |
| void | HandleAnimReferenceReplacement
(
TObjectPtr< AssetType >& OriginalAsset, |
Helper function for ReplaceReferredAnimations. | |
| void | HandleAnimReferenceReplacement
(
AssetType*& OriginalAsset, |
Helper function for ReplaceReferredAnimations. | |
| bool | HasBinding
(
FName InPropertyName |
Check whether the specified property is bound via PropertyBindings. | |
| void | InternalPinCreation
(
TArray< UEdGraphPin* >* OldPins |
Allocates or reallocates pins. | |
| bool | IsPinBindable
(
const UEdGraphPin* InPin |
Check whether the named pin is bindable. | |
| bool | IsPinExposedAndBound
(
const FString& InPinName, |
Helper function to check whether a pin is valid and bound via property access | |
| bool | IsPinExposedAndLinked
(
const FString& InPinName, |
Helper function to check whether a pin is valid and linked to something else in the graph | |
| bool | IsPinUnlinkedUnboundAndUnset
(
const FString& InPinName, |
Helper function to check whether a pin is not linked, not bound via property access and still has its default value | |
| bool | Whether or not you can add a pose watch on this node. | ||
| bool | IsPotentiallyBoundFunction
(
const FMemberReference& FunctionReference |
Check if a specified function reference appears to be valid by inspecting only the validity of the name and guid. | |
| bool | IsSinkNode () |
Is this node a sink that has no pose outputs? | |
| TSharedRef< SWidget > | MakePropertyBindingWidget
(
const FAnimPropertyBindingWidgetArgs& InArgs |
Make a property binding widget to edit the bindings of the passed-in nodes. | |
| void | OnCopyTermDefaultsToDefaultObject
(
IAnimBlueprintCopyTermDefaultsContext& InCompilationContext, |
Override point for CopyTermDefaultsToDefaultObject Copy this node's data during the last phase of compilation where term defaults are copied to the new CDO | |
| FOnNodePropertyChangedEvent & | |||
| void | OnNodeSelected
(
bool bInIsSelected, |
Selection notification callback. | |
| FOnNodeTitleChangedEvent & | |||
| void | OnOverrideAssets
(
IAnimBlueprintNodeOverrideAssetsContext& InContext |
Override point for OverrideAssets. | |
| FPinVisibilityChangedEvent & | |||
| void | OnPoseWatchChanged
(
const bool IsPoseWatchEnabled, |
Pose Watch change notification callback. | |
| void | OnProcessDuringCompilation
(
IAnimBlueprintCompilationContext& InCompilationContext, |
Process this node's data during compilation (override point) | |
| void | OverrideAssets
(
IAnimBlueprintNodeOverrideAssetsContext& InContext |
Called to override the assets held on a runtime anim node. Implements per-node logic for child anim blueprints. | |
| void | Refreshes the debugged component post-edit. | ||
| void | PostProcessPinName
(
const UEdGraphPin* Pin, |
Give the node a chance to change the display name of a pin. | |
| void | ProcessDuringCompilation
(
IAnimBlueprintCompilationContext& InCompilationContext, |
Process this node's data during compilation. | |
| void | RecalculateBindingType
(
FAnimGraphNodePropertyBinding& InBinding |
Helper function used to refresh the type of a binding. | |
| void | ReplaceReferredAnimations
(
const TMap< UAnimationAsset*, UAnimationAsset* >& AnimAssetReplacementMap |
Replace references to animations that exist in the supplied maps. | |
| void | SetPinVisibility
(
bool bInVisible, |
Sets the visibility of the specified pin, reconstructs the node if it changes. | |
| void | Set the tag for this node. | ||
| void | SetTagInternal
(
FName InTag |
Set the tag for this node but without regenerating any BP data for tagging. | |
| bool | Whether this node should create BP evaluation handlers as part of compilation. | ||
| bool | |||
| EAnimAssetHandlerType | SupportsAssetClass
(
const UClass* AssetClass |
Returns whether this node supports the supplied asset class | |
| bool | If using CopyPoseFromMesh, the AnimBlueprint Compiler will cache this off for optimizations. | ||
| void | ValidateAnimNodeDuringCompilation
(
USkeleton* ForSkeleton, |
Gives each visual node a chance to do final validation before it's node is harvested for use at runtime. | |
| void | ValidateAnimNodePostCompile
(
FCompilerResultsLog& MessageLog, |
Gives each visual node a chance to validate that they are still valid in the context of the compiled class, giving a last shot at error or warning generation after primary compilation is finished. | |
| void | ValidateFunctionRef
(
FName InPropertyName, |
Helper function used to validate anim node function references |
Overridden from UK2Node
| Type | Name | Description | |
|---|---|---|---|
| bool | Returns whether this node can have breakpoints placed on it in the debugger | ||
| void | ExpandNode
(
FKismetCompilerContext& CompilerContext, |
Expands a node while compiling, which may add additional nodes or delete this node | |
| void | GetMenuActions
(
FBlueprintActionDatabaseRegistrar& ActionRegistrar |
Replacement for GetMenuEntries(). | |
| FText | Override to provide a default category for specific node types to be listed under. | ||
| void | GetNodeAttributes
(
TArray< TKeyValuePair< FString, FString >>& OutNodeAttributes |
This function returns an arbitrary number of attributes that describe this node for analytics events | |
| void | HandleVariableRenamed
(
UBlueprint* InBlueprint, |
Handle when a variable is renamed in the Blueprint Palette | |
| bool | Return true if adding/removing this node requires calling MarkBlueprintAsStructurallyModified on the Blueprint | ||
| void | ReallocatePinsDuringReconstruction
(
TArray< UEdGraphPin* >& OldPins |
Reallocate pins during reconstruction; by default ignores the old pins and calls AllocateDefaultPins() If you override this to create additional pins you likely need to call RestoreSplitPins to restore any pins that have been split (e.g. a vector pin split into its components) | |
| bool | ReferencesFunction
(
const FName& InFunctionName, |
Return whether this node references the specified function, identified by a name and guid pair | |
| bool | ReferencesVariable
(
const FName& InVarName, |
Return whether this node references the specified variable, give the supplied scope. | |
| void | ReplaceReferences
(
UBlueprint* InBlueprint, |
Replace any member references of source with replacement | |
| bool | Return whether the node's properties display in the blueprint details panel |
Overridden from UEdGraphNode
| Type | Name | Description | |
|---|---|---|---|
| void | AddPinSearchMetaDataInfo
(
const UEdGraphPin* Pin, |
Adds node pin data to the search metadata, override to collect more data that may be desirable to search for | |
| void | AddSearchMetaDataInfo
(
TArray< struct FSearchTagDataPair >& OutTaggedMetaData |
Add's node data to the search metadata, override to collect more data that may be desirable to search for | |
| void | Allocate default pins for a given node, based only the NodeType, which should already be filled in. | ||
| void | AutowireNewNode
(
UEdGraphPin* FromPin |
Autowire a newly created node. | |
| bool | CanCreateUnderSpecifiedSchema
(
const UEdGraphSchema* DesiredSchema |
Can this node be created under the specified schema. | |
| bool | Returns true if it is possible to jump to the definition of this node (e.g., if it's a variable get or a function call) | ||
| void | DestroyNode () |
Destroy the specified node | |
| FString | Returns the link used for external documentation for the graph node | ||
| UObject * | By default return any animation assets we have. | ||
| FLinearColor | Gets the draw color of a node's title bar | ||
| void | GetPinHoverText
(
const UEdGraphPin& Pin, |
Fetch the hover text for a pin when the graph is being edited. | |
| FString | GetPinMetaData
(
FName InPinName, |
Return the requested metadata for the pin if there is any | |
| void | Jump to the definition of this node (should only be called if CanJumpToDefinition() return true) | ||
| void | PinConnectionListChanged
(
UEdGraphPin* Pin |
Called when the connection list of one of the pins of this node is changed in the editor | |
| void | PinDefaultValueChanged
(
UEdGraphPin* Pin |
Called when the DefaultValue of one of the pins of this node is changed in the editor | |
| void | Perform any fixups (deep copies of associated data, etc...) necessary after a node has been pasted in the editor | ||
| void | A chance to initialize a new node; called just once when a new node is created, before AutowireNewNode or AllocateDefaultPins is called. | ||
| void | Refresh the connectors on a node, preserving as many connections as it can. | ||
| bool | Should we show the Palette Icon for this node on the node title |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | PostEditUndo () |
Called after applying a transaction to the object. | |
| void | PreEditChange
(
FProperty* PropertyAboutToChange |
This is called when a property is about to be modified externally | |
| void | Handles reading, writing, and reference collecting using FArchive. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FAnimPropertyBindingWidgetArgs | Arguments used to construct a property binding widget. | ||
| FOnNodePropertyChangedEvent | Event that observers can bind to so that they are notified about changes made to this node through the property system | ||
| FOnNodeTitleChangedEvent | Event that is broadcast to inform observers that the node title has changed The default SAnimationGraphNode uses this to invalidate cached node title text | ||
| FPinVisibilityChangedEvent | Event that observers can bind to so that they are notified about changes to pin visibility. |
Typedefs
| Name | Description |
|---|---|
| FNodeAttributeArray |