Open 3D Engine EMotionFX Gem API Reference 24.09.2
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Inherited by EMotionFX::AnimGraphNode, EMotionFX::AnimGraphStateTransition, EMotionFX::AnimGraphTransitionCondition, and EMotionFX::AnimGraphTriggerAction.
Public Member Functions | |
AnimGraphObject (AnimGraph *animGraph) | |
virtual void | Reinit () |
virtual void | RecursiveReinit () |
virtual AnimGraphObjectData * | CreateUniqueData (AnimGraphInstance *animGraphInstance) |
void | InvalidateUniqueDatas () |
Calls InvalidateUniqueData() for the given object for all anim graph instances. (Used by reflection context) | |
virtual void | InvalidateUniqueData (AnimGraphInstance *animGraphInstance) |
virtual void | RecursiveInvalidateUniqueDatas (AnimGraphInstance *animGraphInstance) |
void | ResetUniqueDatas () |
void | ResetUniqueData (AnimGraphInstance *animGraphInstance) |
virtual bool | InitAfterLoading (AnimGraph *animGraph)=0 |
virtual void | RegisterAttributes () |
virtual void | Unregister () |
virtual const char * | GetPaletteName () const =0 |
virtual void | GetSummary (AZStd::string *outResult) const |
virtual void | GetTooltip (AZStd::string *outResult) const |
virtual const char * | GetHelpUrl () const |
virtual ECategory | GetPaletteCategory () const =0 |
virtual void | Update (AnimGraphInstance *animGraphInstance, float timePassedInSeconds) |
virtual void | OnChangeMotionSet (AnimGraphInstance *animGraphInstance, MotionSet *newMotionSet) |
virtual void | OnRemoveNode (AnimGraph *animGraph, AnimGraphNode *nodeToRemove) |
virtual void | RecursiveOnChangeMotionSet (AnimGraphInstance *animGraphInstance, MotionSet *newMotionSet) |
virtual void | OnActorMotionExtractionNodeChanged () |
MCORE_INLINE size_t | GetObjectIndex () const |
MCORE_INLINE void | SetObjectIndex (size_t index) |
MCORE_INLINE AnimGraph * | GetAnimGraph () const |
MCORE_INLINE void | SetAnimGraph (AnimGraph *animGraph) |
size_t | SaveUniqueData (AnimGraphInstance *animGraphInstance, uint8 *outputBuffer) const |
size_t | LoadUniqueData (AnimGraphInstance *animGraphInstance, const uint8 *dataBuffer) |
virtual void | RecursiveCollectObjects (AZStd::vector< AnimGraphObject * > &outObjects) const |
bool | GetHasErrorFlag (AnimGraphInstance *animGraphInstance) const |
void | SetHasErrorFlag (AnimGraphInstance *animGraphInstance, bool hasError) |
void | SyncVisualObject () |
Static Public Member Functions | |
static const char * | GetCategoryName (ECategory category) |
static void | CalculateMotionExtractionDelta (EExtractionMode extractionMode, AnimGraphRefCountedData *sourceRefData, AnimGraphRefCountedData *targetRefData, float weight, bool hasMotionExtractionNodeInMask, Transform &outTransform, Transform &outTransformMirrored) |
static void | CalculateMotionExtractionDeltaAdditive (EExtractionMode extractionMode, AnimGraphRefCountedData *sourceRefData, AnimGraphRefCountedData *targetRefData, const Transform &basePoseTransform, float weight, bool hasMotionExtractionNodeInMask, Transform &outTransform, Transform &outTransformMirrored) |
static void | Reflect (AZ::ReflectContext *context) |
Protected Attributes | |
AnimGraph * | m_animGraph |
size_t | m_objectIndex |
|
virtual |
Reinitialize the object. Some anim graph objects might have additional member variables which are not reflected. These are mostly used for optimizations, e.g. a condition that stores a parameter name which is reflected but the runtime uses a cached parameter index to prevent runtime lookups. These cached values need to be updated on given events like when e.g. a parameter gets removed or changed or the whole anim graph object gets constructed by a copy and paste operation.
Reimplemented in EMotionFX::AnimGraphMotionCondition, EMotionFX::AnimGraphMotionNode, EMotionFX::AnimGraphParameterAction, EMotionFX::AnimGraphParameterCondition, EMotionFX::AnimGraphPlayTimeCondition, EMotionFX::AnimGraphReferenceNode, EMotionFX::AnimGraphStateCondition, EMotionFX::AnimGraphStateTransition, EMotionFX::AnimGraphTagCondition, EMotionFX::AnimGraphVector2Condition, EMotionFX::BlendSpace1DNode, EMotionFX::BlendSpace2DNode, EMotionFX::BlendTree, EMotionFX::BlendTreeBoolLogicNode, EMotionFX::BlendTreeFloatConditionNode, EMotionFX::BlendTreeFloatConstantNode, EMotionFX::BlendTreeFloatMath1Node, EMotionFX::BlendTreeFloatMath2Node, EMotionFX::BlendTreeMaskNode, EMotionFX::BlendTreeMorphTargetNode, EMotionFX::BlendTreeParameterNode, EMotionFX::BlendTreeRotationMath2Node, EMotionFX::BlendTreeSimulatedObjectNode, EMotionFX::BlendTreeVector3Math1Node, and EMotionFX::BlendTreeVector3Math2Node.