Open 3D Engine EMotionFX Gem API Reference
23.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Inherits EMotionFX::AnimGraphObject.
Inherited by EMotionFX::AnimGraphBindPoseNode, EMotionFX::AnimGraphEntryNode, EMotionFX::AnimGraphExitNode, EMotionFX::AnimGraphHubNode, EMotionFX::AnimGraphMotionNode, EMotionFX::AnimGraphReferenceNode, EMotionFX::AnimGraphStateMachine, EMotionFX::BlendSpaceNode, EMotionFX::BlendTree, EMotionFX::BlendTreeAccumTransformNode, EMotionFX::BlendTreeBlend2NodeBase, EMotionFX::BlendTreeBlendNNode, EMotionFX::BlendTreeBoolLogicNode, EMotionFX::BlendTreeDirectionToWeightNode, EMotionFX::BlendTreeFinalNode, EMotionFX::BlendTreeFloatConditionNode, EMotionFX::BlendTreeFloatConstantNode, EMotionFX::BlendTreeFloatMath1Node, EMotionFX::BlendTreeFloatMath2Node, EMotionFX::BlendTreeFloatSwitchNode, EMotionFX::BlendTreeFootIKNode, EMotionFX::BlendTreeGetTransformNode, EMotionFX::BlendTreeLookAtNode, EMotionFX::BlendTreeMaskLegacyNode, EMotionFX::BlendTreeMaskNode, EMotionFX::BlendTreeMirrorPoseNode, EMotionFX::BlendTreeMorphTargetNode, EMotionFX::BlendTreeMotionFrameNode, EMotionFX::BlendTreeParameterNode, EMotionFX::BlendTreePoseSubtractNode, EMotionFX::BlendTreePoseSwitchNode, EMotionFX::BlendTreeRagdollNode, EMotionFX::BlendTreeRagdollStrenghModifierNode, EMotionFX::BlendTreeRangeRemapperNode, EMotionFX::BlendTreeRaycastNode, EMotionFX::BlendTreeRotationLimitNode, EMotionFX::BlendTreeRotationMath2Node, EMotionFX::BlendTreeSetTransformNode, EMotionFX::BlendTreeSimulatedObjectNode, EMotionFX::BlendTreeSmoothingNode, EMotionFX::BlendTreeTransformNode, EMotionFX::BlendTreeTwoLinkIKNode, EMotionFX::BlendTreeVector2ComposeNode, EMotionFX::BlendTreeVector2DecomposeNode, EMotionFX::BlendTreeVector3ComposeNode, EMotionFX::BlendTreeVector3DecomposeNode, EMotionFX::BlendTreeVector3Math1Node, EMotionFX::BlendTreeVector3Math2Node, EMotionFX::BlendTreeVector4ComposeNode, and EMotionFX::BlendTreeVector4DecomposeNode.
Classes | |
struct | Port |
Public Member Functions | |
AnimGraphNode (AnimGraph *animGraph, const char *name) | |
virtual void | RecursiveReinit () override |
bool | InitAfterLoading (AnimGraph *animGraph) override |
void | InitTriggerActions () |
virtual bool | GetSupportsVisualization () const |
virtual bool | GetSupportsPreviewMotion () const |
virtual bool | GetSupportsDisable () const |
virtual bool | GetHasVisualOutputPorts () const |
virtual bool | GetCanHaveOnlyOneInsideParent () const |
virtual bool | GetIsDeletable () const |
virtual bool | GetIsLastInstanceDeletable () const |
virtual bool | GetCanActAsState () const |
virtual bool | GetHasVisualGraph () const |
virtual bool | GetCanHaveChildren () const |
virtual bool | GetHasOutputPose () const |
virtual bool | GetCanBeInsideStateMachineOnly () const |
virtual bool | GetCanBeInsideChildStateMachineOnly () const |
virtual bool | GetNeedsNetTimeSync () const |
virtual bool | GetCanBeEntryNode () const |
virtual AZ::Color | GetVisualColor () const |
virtual AZ::Color | GetHasChildIndicatorColor () const |
void | OutputAllIncomingNodes (AnimGraphInstance *animGraphInstance) |
void | UpdateAllIncomingNodes (AnimGraphInstance *animGraphInstance, float timePassedInSeconds) |
void | UpdateIncomingNode (AnimGraphInstance *animGraphInstance, AnimGraphNode *node, float timePassedInSeconds) |
AnimGraphObjectData * | CreateUniqueData (AnimGraphInstance *animGraphInstance) override |
virtual void | RecursiveResetUniqueDatas (AnimGraphInstance *animGraphInstance) |
void | InvalidateUniqueData (AnimGraphInstance *animGraphInstance) override |
void | RecursiveInvalidateUniqueDatas (AnimGraphInstance *animGraphInstance) override |
void | OnRemoveNode (AnimGraph *animGraph, AnimGraphNode *nodeToRemove) override |
void | PerformOutput (AnimGraphInstance *animGraphInstance) |
void | PerformTopDownUpdate (AnimGraphInstance *animGraphInstance, float timePassedInSeconds) |
void | PerformUpdate (AnimGraphInstance *animGraphInstance, float timePassedInSeconds) |
void | PerformPostUpdate (AnimGraphInstance *animGraphInstance, float timePassedInSeconds) |
virtual void | SkipPostUpdate ([[maybe_unused]] AnimGraphInstance *animGraphInstance) |
virtual void | SkipOutput ([[maybe_unused]] AnimGraphInstance *animGraphInstance) |
float | GetDuration (AnimGraphInstance *animGraphInstance) const |
virtual void | SetCurrentPlayTime (AnimGraphInstance *animGraphInstance, float timeInSeconds) |
virtual float | GetCurrentPlayTime (AnimGraphInstance *animGraphInstance) const |
size_t | GetSyncIndex (AnimGraphInstance *animGraphInstance) const |
void | SetSyncIndex (AnimGraphInstance *animGraphInstance, size_t syncIndex) |
virtual void | SetPlaySpeed (AnimGraphInstance *animGraphInstance, float speedFactor) |
virtual float | GetPlaySpeed (AnimGraphInstance *animGraphInstance) const |
virtual void | SetCurrentPlayTimeNormalized (AnimGraphInstance *animGraphInstance, float normalizedTime) |
virtual void | Rewind (AnimGraphInstance *animGraphInstance) |
void | AutoSync (AnimGraphInstance *animGraphInstance, AnimGraphNode *leaderNode, float weight, ESyncMode syncMode, bool resync) |
void | SyncFullNode (AnimGraphInstance *animGraphInstance, AnimGraphNode *leaderNode, float weight, bool modifyLeaderSpeed=true) |
void | SyncPlayTime (AnimGraphInstance *animGraphInstance, AnimGraphNode *leaderNode) |
void | SyncUsingSyncTracks (AnimGraphInstance *animGraphInstance, AnimGraphNode *syncWithNode, const AnimGraphSyncTrack *syncTrackA, const AnimGraphSyncTrack *syncTrackB, float weight, bool resync, bool modifyLeaderSpeed=true) |
void | SyncPlaySpeeds (AnimGraphInstance *animGraphInstance, AnimGraphNode *leaderNode, float weight, bool modifyLeaderSpeed=true) |
virtual void | HierarchicalSyncInputNode (AnimGraphInstance *animGraphInstance, AnimGraphNode *inputNode, AnimGraphNodeData *uniqueDataOfThisNode) |
void | HierarchicalSyncAllInputNodes (AnimGraphInstance *animGraphInstance, AnimGraphNodeData *uniqueDataOfThisNode) |
void | RequestPoses (AnimGraphInstance *animGraphInstance) |
void | FreeIncomingPoses (AnimGraphInstance *animGraphInstance) |
void | IncreaseInputRefCounts (AnimGraphInstance *animGraphInstance) |
void | DecreaseRef (AnimGraphInstance *animGraphInstance) |
void | RequestRefDatas (AnimGraphInstance *animGraphInstance) |
void | FreeIncomingRefDatas (AnimGraphInstance *animGraphInstance) |
void | IncreaseInputRefDataRefCounts (AnimGraphInstance *animGraphInstance) |
void | DecreaseRefDataRef (AnimGraphInstance *animGraphInstance) |
void * | GetCustomData () const |
void | SetCustomData (void *dataPointer) |
virtual AnimGraphPose * | GetMainOutputPose (AnimGraphInstance *animGraphInstance) const |
virtual void | RecursiveCollectActiveNodes (AnimGraphInstance *animGraphInstance, AZStd::vector< AnimGraphNode * > *outNodes, const AZ::TypeId &nodeType=AZ::TypeId::CreateNull()) const |
virtual void | RecursiveCollectActiveNetTimeSyncNodes (AnimGraphInstance *animGraphInstance, AZStd::vector< AnimGraphNode * > *outNodes) const |
virtual bool | RecursiveDetectCycles (AZStd::unordered_set< const AnimGraphNode * > &nodes) const |
void | CollectChildNodesOfType (const AZ::TypeId &nodeType, AZStd::vector< AnimGraphNode * > *outNodes) const |
void | CollectChildNodesOfType (const AZ::TypeId &nodeType, AZStd::vector< AnimGraphNode * > &outNodes) const |
void | RecursiveCollectNodesOfType (const AZ::TypeId &nodeType, AZStd::vector< AnimGraphNode * > *outNodes) const |
void | RecursiveCollectTransitionConditionsOfType (const AZ::TypeId &conditionType, AZStd::vector< AnimGraphTransitionCondition * > *outConditions) const |
virtual void | RecursiveCollectObjectsOfType (const AZ::TypeId &objectType, AZStd::vector< AnimGraphObject * > &outObjects) const |
virtual void | RecursiveCollectObjectsAffectedBy (AnimGraph *animGraph, AZStd::vector< AnimGraphObject * > &outObjects) const |
virtual void | OnStateEntering (AnimGraphInstance *animGraphInstance, AnimGraphNode *previousState, AnimGraphStateTransition *usedTransition) |
virtual void | OnStateEnter (AnimGraphInstance *animGraphInstance, AnimGraphNode *previousState, AnimGraphStateTransition *usedTransition) |
virtual void | OnStateExit (AnimGraphInstance *animGraphInstance, AnimGraphNode *targetState, AnimGraphStateTransition *usedTransition) |
virtual void | OnStateEnd (AnimGraphInstance *animGraphInstance, AnimGraphNode *newState, AnimGraphStateTransition *usedTransition) |
void | RecursiveOnChangeMotionSet (AnimGraphInstance *animGraphInstance, MotionSet *newMotionSet) override |
const char * | GetName () const |
const AZStd::string & | GetNameString () const |
void | SetName (const char *name) |
MCORE_INLINE AnimGraphNodeId | GetId () const |
void | SetId (AnimGraphNodeId id) |
const MCore::Attribute * | GetInputValue (AnimGraphInstance *instance, size_t inputPort) const |
size_t | FindInputPortByID (uint32 portID) const |
size_t | FindOutputPortByID (uint32 portID) const |
Port * | FindInputPortByName (const AZStd::string &portName) |
Port * | FindOutputPortByName (const AZStd::string &portName) |
bool | ValidateConnections () const |
BlendTreeConnection * | AddConnection (AnimGraphNode *sourceNode, uint16 sourcePort, uint16 targetPort) |
BlendTreeConnection * | AddUnitializedConnection (AnimGraphNode *sourceNode, uint16 sourcePort, uint16 targetPort) |
void | RemoveConnection (BlendTreeConnection *connection, bool delFromMem=true) |
void | RemoveConnection (AnimGraphNode *sourceNode, uint16 sourcePort, uint16 targetPort) |
bool | RemoveConnectionById (AnimGraphConnectionId connectionId, bool delFromMem=true) |
void | RemoveAllConnections () |
TriggerActionSetup & | GetTriggerActionSetup () |
const TriggerActionSetup & | GetTriggerActionSetup () const |
void | CollectOutgoingConnections (AZStd::vector< AZStd::pair< BlendTreeConnection *, AnimGraphNode * >> &outConnections) const |
void | CollectOutgoingConnections (AZStd::vector< AZStd::pair< BlendTreeConnection *, AnimGraphNode * >> &outConnections, const size_t portIndex) const |
MCORE_INLINE bool | GetInputNumberAsBool (AnimGraphInstance *animGraphInstance, size_t inputPortNr) const |
MCORE_INLINE float | GetInputNumberAsFloat (AnimGraphInstance *animGraphInstance, size_t inputPortNr) const |
MCORE_INLINE int32 | GetInputNumberAsInt32 (AnimGraphInstance *animGraphInstance, size_t inputPortNr) const |
MCORE_INLINE uint32 | GetInputNumberAsUint32 (AnimGraphInstance *animGraphInstance, size_t inputPortNr) const |
MCORE_INLINE AnimGraphNode * | GetInputNode (size_t portNr) |
MCORE_INLINE MCore::Attribute * | GetInputAttribute (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE MCore::AttributeFloat * | GetInputFloat (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE MCore::AttributeInt32 * | GetInputInt32 (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE MCore::AttributeString * | GetInputString (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE MCore::AttributeBool * | GetInputBool (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE bool | TryGetInputVector4 (AnimGraphInstance *animGraphInstance, size_t portNr, AZ::Vector4 &outResult) const |
MCORE_INLINE bool | TryGetInputVector2 (AnimGraphInstance *animGraphInstance, size_t portNr, AZ::Vector2 &outResult) const |
MCORE_INLINE bool | TryGetInputVector3 (AnimGraphInstance *animGraphInstance, size_t portNr, AZ::Vector3 &outResult) const |
MCORE_INLINE MCore::AttributeQuaternion * | GetInputQuaternion (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE MCore::AttributeColor * | GetInputColor (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE AttributeMotionInstance * | GetInputMotionInstance (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE AttributePose * | GetInputPose (AnimGraphInstance *animGraphInstance, size_t portNr) const |
MCORE_INLINE MCore::Attribute * | GetOutputAttribute (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeFloat * | GetOutputNumber (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeFloat * | GetOutputFloat (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeInt32 * | GetOutputInt32 (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeString * | GetOutputString (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeBool * | GetOutputBool (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeVector2 * | GetOutputVector2 (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeVector3 * | GetOutputVector3 (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeVector4 * | GetOutputVector4 (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeQuaternion * | GetOutputQuaternion (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE MCore::AttributeColor * | GetOutputColor (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE AttributePose * | GetOutputPose (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
MCORE_INLINE AttributeMotionInstance * | GetOutputMotionInstance (AnimGraphInstance *animGraphInstance, size_t outputPortIndex) const |
void | SetupInputPortAsNumber (const char *name, size_t inputPortNr, uint32 portID) |
void | SetupInputPortAsBool (const char *name, size_t inputPortNr, uint32 portID) |
void | SetupInputPort (const char *name, size_t inputPortNr, uint32 attributeTypeID, uint32 portID) |
void | SetupInputPortAsVector3 (const char *name, size_t inputPortNr, uint32 portID) |
void | SetupInputPortAsVector2 (const char *name, size_t inputPortNr, uint32 portID) |
void | SetupInputPortAsVector4 (const char *name, size_t inputPortNr, uint32 portID) |
void | SetupInputPort (const char *name, size_t inputPortNr, const AZStd::vector< uint32 > &attributeTypeIDs, uint32 portID) |
void | SetupOutputPort (const char *name, size_t portIndex, uint32 attributeTypeID, uint32 portID) |
void | SetupOutputPortAsPose (const char *name, size_t outputPortNr, uint32 portID) |
void | SetupOutputPortAsMotionInstance (const char *name, size_t outputPortNr, uint32 portID) |
bool | GetHasConnection (AnimGraphNode *sourceNode, uint16 sourcePort, uint16 targetPort) const |
BlendTreeConnection * | FindConnection (const AnimGraphNode *sourceNode, uint16 sourcePort, uint16 targetPort) const |
bool | HasConnectionAtInputPort (AZ::u32 inputPortNr) const |
BlendTreeConnection * | FindConnection (uint16 port) const |
BlendTreeConnection * | FindConnectionById (AnimGraphConnectionId connectionId) const |
bool | CheckIfIsInputPortConnected (uint16 inputPort) const |
AnimGraphNode * | RecursiveFindNodeByName (const char *nodeName) const |
bool | RecursiveIsNodeNameUnique (const AZStd::string &newNameCandidate, const AnimGraphNode *forNode) const |
AnimGraphNode * | RecursiveFindNodeById (AnimGraphNodeId nodeId) const |
virtual void | RecursiveResetFlags (AnimGraphInstance *animGraphInstance, uint32 flagsToReset=0xffffffff) |
const AZStd::vector < AnimGraphNode::Port > & | GetInputPorts () const |
const AZStd::vector < AnimGraphNode::Port > & | GetOutputPorts () const |
void | SetInputPorts (const AZStd::vector< AnimGraphNode::Port > &inputPorts) |
void | SetOutputPorts (const AZStd::vector< AnimGraphNode::Port > &outputPorts) |
void | InitInputPorts (size_t numPorts) |
void | InitOutputPorts (size_t numPorts) |
void | SetInputPortName (size_t portIndex, const char *name) |
void | SetOutputPortName (size_t portIndex, const char *name) |
size_t | FindOutputPortIndex (const AZStd::string &name) const |
size_t | FindInputPortIndex (const AZStd::string &name) const |
size_t | AddOutputPort () |
size_t | AddInputPort () |
virtual bool | GetIsStateTransitionNode () const |
MCORE_INLINE MCore::Attribute * | GetOutputValue (AnimGraphInstance *animGraphInstance, size_t portIndex) const |
MCORE_INLINE Port & | GetInputPort (size_t index) |
MCORE_INLINE Port & | GetOutputPort (size_t index) |
MCORE_INLINE const Port & | GetInputPort (size_t index) const |
MCORE_INLINE const Port & | GetOutputPort (size_t index) const |
void | RelinkPortConnections () |
MCORE_INLINE size_t | GetNumConnections () const |
MCORE_INLINE BlendTreeConnection * | GetConnection (size_t index) const |
const AZStd::vector < BlendTreeConnection * > & | GetConnections () const |
AZ_FORCE_INLINE AnimGraphNode * | GetParentNode () const |
AZ_FORCE_INLINE void | SetParentNode (AnimGraphNode *node) |
virtual bool | RecursiveIsParentNode (const AnimGraphNode *node) const |
bool | RecursiveIsChildNode (AnimGraphNode *node) const |
AnimGraphNode * | FindChildNode (const char *name) const |
AnimGraphNode * | FindChildNodeById (AnimGraphNodeId childId) const |
size_t | FindChildNodeIndex (const char *name) const |
size_t | FindChildNodeIndex (AnimGraphNode *node) const |
AnimGraphNode * | FindFirstChildNodeOfType (const AZ::TypeId &nodeType) const |
bool | HasChildNodeOfType (const AZ::TypeId &nodeType) const |
size_t | RecursiveCalcNumNodes () const |
size_t | RecursiveCalcNumNodeConnections () const |
void | CopyBaseNodeTo (AnimGraphNode *node) const |
MCORE_INLINE size_t | GetNumChildNodes () const |
MCORE_INLINE AnimGraphNode * | GetChildNode (size_t index) const |
const AZStd::vector < AnimGraphNode * > & | GetChildNodes () const |
void | SetNodeInfo (const AZStd::string &info) |
const AZStd::string & | GetNodeInfo () const |
void | AddChildNode (AnimGraphNode *node) |
void | ReserveChildNodes (size_t numChildNodes) |
void | RemoveChildNode (size_t index, bool delFromMem=true) |
void | RemoveChildNodeByPointer (AnimGraphNode *node, bool delFromMem=true) |
void | RemoveAllChildNodes (bool delFromMem=true) |
bool | CheckIfHasChildOfType (const AZ::TypeId &nodeType) const |
void | MarkConnectionVisited (AnimGraphNode *sourceNode) |
void | OutputIncomingNode (AnimGraphInstance *animGraphInstance, AnimGraphNode *nodeToOutput) |
MCORE_INLINE AnimGraphNodeData * | FindOrCreateUniqueNodeData (AnimGraphInstance *animGraphInstance) const |
bool | GetIsEnabled () const |
void | SetIsEnabled (bool enabled) |
bool | GetIsCollapsed () const |
void | SetIsCollapsed (bool collapsed) |
void | SetVisualizeColor (const AZ::Color &color) |
const AZ::Color & | GetVisualizeColor () const |
void | SetVisualPos (int32 x, int32 y) |
int32 | GetVisualPosX () const |
int32 | GetVisualPosY () const |
bool | GetIsVisualizationEnabled () const |
void | SetVisualization (bool enabled) |
bool | HierarchicalHasError (AnimGraphObjectData *uniqueData, bool onlyCheckChildNodes=false) const |
void | SetHasError (AnimGraphObjectData *uniqueData, bool hasError) |
void | RecursiveCollectObjects (AZStd::vector< AnimGraphObject * > &outObjects) const override |
virtual void | RecursiveSetUniqueDataFlag (AnimGraphInstance *animGraphInstance, uint32 flag, bool enabled) |
void | FilterEvents (AnimGraphInstance *animGraphInstance, EEventMode eventMode, AnimGraphNode *nodeA, AnimGraphNode *nodeB, float localWeight, AnimGraphRefCountedData *refData) |
void | FilterEvents (AnimGraphInstance *animGraphInstance, EEventMode eventMode, AnimGraphRefCountedData *refDataNodeA, AnimGraphNode *nodeB, float localWeight, AnimGraphRefCountedData *refData) |
bool | GetCanVisualize (AnimGraphInstance *animGraphInstance) const |
MCORE_INLINE size_t | GetNodeIndex () const |
MCORE_INLINE void | SetNodeIndex (size_t index) |
void | ResetPoseRefCount (AnimGraphInstance *animGraphInstance) |
MCORE_INLINE void | IncreasePoseRefCount (AnimGraphInstance *animGraphInstance) |
MCORE_INLINE void | DecreasePoseRefCount (AnimGraphInstance *animGraphInstance) |
MCORE_INLINE uint32 | GetPoseRefCount (AnimGraphInstance *animGraphInstance) const |
void | ResetRefDataRefCount (AnimGraphInstance *animGraphInstance) |
MCORE_INLINE void | IncreaseRefDataRefCount (AnimGraphInstance *animGraphInstance) |
MCORE_INLINE void | DecreaseRefDataRefCount (AnimGraphInstance *animGraphInstance) |
MCORE_INLINE uint32 | GetRefDataRefCount (AnimGraphInstance *animGraphInstance) const |
virtual void | GetAttributeStringForAffectedNodeIds (const AZStd::unordered_map< AZ::u64, AZ::u64 > &convertedIds, AZStd::string &attributesString) const |
![]() | |
AnimGraphObject (AnimGraph *animGraph) | |
virtual void | Reinit () |
void | InvalidateUniqueDatas () |
Calls InvalidateUniqueData() for the given object for all anim graph instances. (Used by reflection context) | |
void | ResetUniqueDatas () |
void | ResetUniqueData (AnimGraphInstance *animGraphInstance) |
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 | OnChangeMotionSet (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) |
bool | GetHasErrorFlag (AnimGraphInstance *animGraphInstance) const |
void | SetHasErrorFlag (AnimGraphInstance *animGraphInstance, bool hasError) |
void | SyncVisualObject () |
Static Public Member Functions | |
static AZStd::tuple< float, float, float > | SyncPlaySpeeds (float playSpeedA, float durationA, float playSpeedB, float durationB, float weight) |
static void | CalcSyncFactors (AnimGraphInstance *animGraphInstance, const AnimGraphNode *leaderNode, const AnimGraphNode *followerNode, ESyncMode syncMode, float weight, float *outLeaderFactor, float *outFollowerFactor, float *outPlaySpeed) |
static void | CalcSyncFactors (float leaderPlaySpeed, const AnimGraphSyncTrack *leaderSyncTrack, size_t leaderSyncTrackIndex, float leaderDuration, float followerPlaySpeed, const AnimGraphSyncTrack *followerSyncTrack, size_t followerSyncTrackIndex, float followerDuration, ESyncMode syncMode, float weight, float *outLeaderFactor, float *outFollowerFactor, float *outPlaySpeed) |
static bool | VersionConverter (AZ::SerializeContext &context, AZ::SerializeContext::DataElementNode &classElement) |
static void | Reflect (AZ::ReflectContext *context) |
![]() | |
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 Member Functions | |
void | PostUpdateIncomingNode (AnimGraphInstance *animGraphInstance, AnimGraphNode *node, float timePassedInSeconds) |
void | TopDownUpdateIncomingNode (AnimGraphInstance *animGraphInstance, AnimGraphNode *node, float timePassedInSeconds) |
virtual void | Output (AnimGraphInstance *animGraphInstance) |
virtual void | TopDownUpdate (AnimGraphInstance *animGraphInstance, float timePassedInSeconds) |
virtual void | PostUpdate (AnimGraphInstance *animGraphInstance, float timePassedInSeconds) |
void | Update (AnimGraphInstance *animGraphInstance, float timePassedInSeconds) override |
void | RecursiveCountChildNodes (size_t &numNodes) const |
void | RecursiveCountNodeConnections (size_t &numConnections) const |
Protected Attributes | |
size_t | m_nodeIndex |
AZ::u64 | m_id |
AZStd::vector < BlendTreeConnection * > | m_connections |
AZStd::vector< Port > | m_inputPorts |
AZStd::vector< Port > | m_outputPorts |
AZStd::vector< AnimGraphNode * > | m_childNodes |
TriggerActionSetup | m_actionSetup |
AnimGraphNode * | m_parentNode |
void * | m_customData |
AZ::Color | m_visualizeColor |
AZStd::string | m_name |
AZStd::string | m_nodeInfo |
int32 | m_posX |
int32 | m_posY |
bool | m_disabled |
bool | m_visEnabled |
bool | m_isCollapsed |
![]() | |
AnimGraph * | m_animGraph |
size_t | m_objectIndex |
Additional Inherited Members | |
![]() | |
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 } |
bool EMotionFX::AnimGraphNode::CheckIfIsInputPortConnected | ( | uint16 | inputPort | ) | const |
Check if a connection is connected to the given input port.
[in] | inputPort | The input port id to check. |
void EMotionFX::AnimGraphNode::CollectChildNodesOfType | ( | const AZ::TypeId & | nodeType, |
AZStd::vector< AnimGraphNode * > & | outNodes | ||
) | const |
Collect child nodes of the given type. This will only iterate through the child nodes and isn't a recursive process.
[in] | nodeType | The rtti type id of the node to check for. |
void EMotionFX::AnimGraphNode::CollectOutgoingConnections | ( | AZStd::vector< AZStd::pair< BlendTreeConnection *, AnimGraphNode * >> & | outConnections | ) | const |
Collect all outgoing connections. As the nodes only store the incoming connections getting access to the outgoing connections is a bit harder. For that we need to process all nodes in the graph where our node is located, iterate over all connections and check if they are coming from our node. Don't call this function at runtime.
[out] | outConnections | This will hold all output connections of our node. The second attribute of the pair is the target node of the outgoing connection. The BlendTreeConnection itself contains the pointer to the source node. The vector will be cleared upfront. |
void EMotionFX::AnimGraphNode::CollectOutgoingConnections | ( | AZStd::vector< AZStd::pair< BlendTreeConnection *, AnimGraphNode * >> & | outConnections, |
const size_t | portIndex | ||
) | const |
Collect outgoing connections that are connected to port portIndex
. As the nodes only store the incoming connections getting access to the outgoing connections is a bit harder. For that we need to process all nodes in the graph where our node is located, iterate over all connections and check if they are coming from our node. Don't call this function at runtime.
[out] | outConnections | This will hold all output connections of our node. The second attribute of the pair is the target node of the outgoing connection. The BlendTreeConnection itself contains the pointer to the source node. The vector will be cleared upfront. |
AnimGraphNode* EMotionFX::AnimGraphNode::FindChildNode | ( | const char * | name | ) | const |
Find child node by name. This will only iterate through the child nodes and isn't a recursive process.
[in] | name | The name of the node to search. |
AnimGraphNode* EMotionFX::AnimGraphNode::FindChildNodeById | ( | AnimGraphNodeId | childId | ) | const |
Find child node by id. This will only iterate through the child nodes and isn't a recursive process.
[in] | childId | The id of the node to search. |
size_t EMotionFX::AnimGraphNode::FindChildNodeIndex | ( | const char * | name | ) | const |
Find child node index by name. This will only iterate through the child nodes and isn't a recursive process.
[in] | name | The name of the node to search. |
size_t EMotionFX::AnimGraphNode::FindChildNodeIndex | ( | AnimGraphNode * | node | ) | const |
Find child node index. This will only iterate through the child nodes and isn't a recursive process.
[in] | node | A pointer to the node for which we want to find the child node index. |
BlendTreeConnection* EMotionFX::AnimGraphNode::FindConnection | ( | uint16 | port | ) | const |
Find the connection at the given port. Search over the incoming connections that are stored within this node and check if they are connected at the given port.
[in] | port | The port inside this node of connection to search for. |
void* EMotionFX::AnimGraphNode::GetCustomData | ( | ) | const |
Get a pointer to the custom data you stored. Custom data can for example link a game or engine object. The pointer that you specify will not be deleted when the object is being destructed.
bool EMotionFX::AnimGraphNode::HasChildNodeOfType | ( | const AZ::TypeId & | nodeType | ) | const |
Check if a child node of the given type exists. This will only iterate through the child nodes and isn't a recursive process.
[in] | nodeType | The rtti type id of the node to check for. |
bool EMotionFX::AnimGraphNode::RecursiveIsChildNode | ( | AnimGraphNode * | node | ) | const |
Check if the given node is a child or a child of a child etc. of the node.
[in] | node | The child node we try to search. |
|
virtual |
Check if the given node is the parent or the parent of the parent etc. of the node.
[in] | node | The parent node we try to search. |
void EMotionFX::AnimGraphNode::SetCustomData | ( | void * | dataPointer | ) |
Set a pointer to the custom data you stored. Custom data can for example link a game or engine object. The pointer that you specify will not be deleted when the object is being destructed.
dataPointer | A void pointer to the custom data, which could for example be your engine or game object. |
|
inlinevirtual |
Inform a node that Output will not be called for the current evaluation cycle
Some node types allocate data in Update and expect to release that data in Output. However, Output is not always called (like when a character is not visible). This method allows the node to perform the necessary cleanup.
|
inlinevirtual |
Inform a node that PostUpdate will not be called for the current evaluation cycle
Some node types allocate data in Update and expect to release that data in PostUpdate. However, PostUpdate is not always called (like when transitioning out of a node). This method allows the node to perform the necessary cleanup.