Open 3D Engine EMotionFX Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
EMotionFX::AnimGraphStateCondition Class Reference

Inherits EMotionFX::AnimGraphTransitionCondition.

Classes

class  UniqueData
 

Public Types

enum  TestFunction : AZ::u8 {
  FUNCTION_EXITSTATES = 0 , FUNCTION_ENTERING = 1 , FUNCTION_ENTER = 2 , FUNCTION_EXIT = 3 ,
  FUNCTION_END = 4 , FUNCTION_PLAYTIME = 5 , FUNCTION_NONE = 6
}
 
- Public Types inherited from EMotionFX::AnimGraphObject
enum  { FLAG_DISABLED = 1 << 0 }
 
enum  ECategory {
  CATEGORY_SOURCES = 0 , CATEGORY_BLENDING = 1 , CATEGORY_CONTROLLERS = 2 , CATEGORY_PHYSICS = 3 ,
  CATEGORY_LOGIC = 4 , CATEGORY_MATH = 5 , CATEGORY_MISC = 6 , CATEGORY_TRANSITIONS = 10 ,
  CATEGORY_TRANSITIONCONDITIONS = 11 , CATEGORY_TRIGGERACTIONS = 12
}
 
enum  ESyncMode : AZ::u8 { SYNCMODE_DISABLED = 0 , SYNCMODE_TRACKBASED = 1 , SYNCMODE_CLIPBASED = 2 }
 
enum  EEventMode : AZ::u8 {
  EVENTMODE_LEADERONLY = 0 , EVENTMODE_FOLLOWERONLY = 1 , EVENTMODE_BOTHNODES = 2 , EVENTMODE_MOSTACTIVE = 3 ,
  EVENTMODE_NONE = 4
}
 
enum  EExtractionMode : AZ::u8 { EXTRACTIONMODE_BLEND = 0 , EXTRACTIONMODE_TARGETONLY = 1 , EXTRACTIONMODE_SOURCEONLY = 2 }
 

Public Member Functions

 AnimGraphStateCondition (AnimGraph *animGraph)
 
void Reinit () override
 
bool InitAfterLoading (AnimGraph *animGraph) override
 
AnimGraphObjectDataCreateUniqueData (AnimGraphInstance *animGraphInstance) override
 
void OnRemoveNode (AnimGraph *animGraph, AnimGraphNode *nodeToRemove) override
 
void Reset (AnimGraphInstance *animGraphInstance) override
 
void GetSummary (AZStd::string *outResult) const override
 
void GetTooltip (AZStd::string *outResult) const override
 
const char * GetPaletteName () const override
 
ECategory GetPaletteCategory () const override
 
bool TestCondition (AnimGraphInstance *animGraphInstance) const override
 
void SetStateId (AnimGraphNodeId stateId)
 
AnimGraphNodeId GetStateId () const
 
AnimGraphNodeGetState () const
 
void SetPlayTime (float playTime)
 
float GetPlayTime () const
 
void SetTestFunction (TestFunction testFunction)
 
TestFunction GetTestFunction () const
 
const char * GetTestFunctionString () const
 
void GetAttributeStringForAffectedNodeIds (const AZStd::unordered_map< AZ::u64, AZ::u64 > &convertedIds, AZStd::string &attributesString) const override
 
- Public Member Functions inherited from EMotionFX::AnimGraphTransitionCondition
bool InitAfterLoading (AnimGraph *animGraph) override
 
void SetTransition (AnimGraphStateTransition *transition)
 
AnimGraphStateTransitionGetTransition () const
 
virtual bool TestCondition (AnimGraphInstance *animGraphInstance) const =0
 
virtual void Reset (AnimGraphInstance *animGraphInstance)
 
ECategory GetPaletteCategory () const override
 
virtual void GetAttributeStringForAffectedNodeIds (const AZStd::unordered_map< AZ::u64, AZ::u64 > &convertedIds, AZStd::string &attributesString) const
 
- Public Member Functions inherited from EMotionFX::AnimGraphObject
 AnimGraphObject (AnimGraph *animGraph)
 
virtual void Reinit ()
 
virtual void RecursiveReinit ()
 
virtual AnimGraphObjectDataCreateUniqueData (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 AnimGraphGetAnimGraph () 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 void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from EMotionFX::AnimGraphTransitionCondition
static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from EMotionFX::AnimGraphObject
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)
 

Additional Inherited Members

- Protected Attributes inherited from EMotionFX::AnimGraphTransitionCondition
AnimGraphStateTransitionm_transition = nullptr
 
- Protected Attributes inherited from EMotionFX::AnimGraphObject
AnimGraphm_animGraph
 
size_t m_objectIndex
 

Member Function Documentation

◆ CreateUniqueData()

AnimGraphObjectData * EMotionFX::AnimGraphStateCondition::CreateUniqueData ( AnimGraphInstance animGraphInstance)
inlineoverridevirtual

Reimplemented from EMotionFX::AnimGraphObject.

◆ GetAttributeStringForAffectedNodeIds()

void EMotionFX::AnimGraphStateCondition::GetAttributeStringForAffectedNodeIds ( const AZStd::unordered_map< AZ::u64, AZ::u64 > &  convertedIds,
AZStd::string &  attributesString 
) const
overridevirtual

◆ GetPaletteCategory()

ECategory EMotionFX::AnimGraphStateCondition::GetPaletteCategory ( ) const
overridevirtual

◆ GetPaletteName()

const char * EMotionFX::AnimGraphStateCondition::GetPaletteName ( ) const
overridevirtual

◆ GetSummary()

void EMotionFX::AnimGraphStateCondition::GetSummary ( AZStd::string *  outResult) const
overridevirtual

Reimplemented from EMotionFX::AnimGraphObject.

◆ GetTooltip()

void EMotionFX::AnimGraphStateCondition::GetTooltip ( AZStd::string *  outResult) const
overridevirtual

Reimplemented from EMotionFX::AnimGraphObject.

◆ InitAfterLoading()

bool EMotionFX::AnimGraphStateCondition::InitAfterLoading ( AnimGraph animGraph)
overridevirtual

◆ OnRemoveNode()

void EMotionFX::AnimGraphStateCondition::OnRemoveNode ( AnimGraph animGraph,
AnimGraphNode nodeToRemove 
)
overridevirtual

Reimplemented from EMotionFX::AnimGraphObject.

◆ Reinit()

void EMotionFX::AnimGraphStateCondition::Reinit ( )
overridevirtual

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 from EMotionFX::AnimGraphObject.

◆ Reset()

void EMotionFX::AnimGraphStateCondition::Reset ( AnimGraphInstance animGraphInstance)
overridevirtual

◆ TestCondition()

bool EMotionFX::AnimGraphStateCondition::TestCondition ( AnimGraphInstance animGraphInstance) const
overridevirtual

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