ezEngine Release 26.3
Loading...
Searching...
No Matches
ezAnimGraphNode Class Referenceabstract

#include <AnimGraphNode.h>

Inheritance diagram for ezAnimGraphNode:

Public Member Functions

const char * GetCustomNodeTitle () const
 
void SetCustomNodeTitle (const char *szSz)
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Protected Member Functions

virtual ezResult SerializeNode (ezStreamWriter &stream) const =0
 
virtual ezResult DeserializeNode (ezStreamReader &stream)=0
 
virtual void Step (ezAnimController &ref_controller, ezAnimGraphInstance &ref_graph, ezTime tDiff, const ezSkeletonResource *pSkeleton, ezGameObject *pTarget) const =0
 
virtual bool GetInstanceDataDesc (ezInstanceDataDesc &out_desc) const
 

Protected Attributes

ezHashedString m_sCustomNodeTitle
 
ezUInt32 m_uiInstanceDataOffset = ezInvalidIndex
 

Friends

class ezAnimGraphInstance
 
class ezAnimGraph
 
class ezAnimGraphResource
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 

Detailed Description

Base class for all nodes in an ezAnimGraph

Animation graph nodes implement different operations in the animation system such as sampling clips, blending poses, logic operations, or even outputting debug information.

Nodes define:

  • Input and output pins (typed connections to other nodes)
  • Behavior in the Step() method (called each frame during graph evaluation)
  • Optional per-instance state data (playback time, blend weights, etc.)

Nodes that need to store state across frames (like playback time or transition progress) should use the instance data pattern. This allows one graph definition (ezAnimGraph) to be shared by many runtime instances (ezAnimGraphInstance), where each instance has its own state data.

The same ezAnimGraph can be used by hundreds of characters, each with their own ezAnimGraphInstance and instance data. The graph definition (nodes, connections, pins) is shared to minimize memory overhead.


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