AnimationNodeStateMachine

Inherits: AnimationRootNode < AnimationNode < Resource < Reference < Object

State machine for control of animations.

Description

Contains multiple nodes representing animation states, connected in a graph. Node transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the AnimationNodeStateMachinePlayback object from the AnimationTree node to control it programmatically.

Example:

var state_machine = $AnimationTree.get("parameters/playback")
state_machine.travel("some_state")

Tutorials

Methods

void

add_node ( String name, AnimationNode node, Vector2 position=Vector2( 0, 0 ) )

void

add_transition ( String from, String to, AnimationNodeStateMachineTransition transition )

String

get_end_node ( ) const

Vector2

get_graph_offset ( ) const

AnimationNode

get_node ( String name ) const

String

get_node_name ( AnimationNode node ) const

Vector2

get_node_position ( String name ) const

String

get_start_node ( ) const

AnimationNodeStateMachineTransition

get_transition ( int idx ) const

int

get_transition_count ( ) const

String

get_transition_from ( int idx ) const

String

get_transition_to ( int idx ) const

bool

has_node ( String name ) const

bool

has_transition ( String from, String to ) const

void

remove_node ( String name )

void

remove_transition ( String from, String to )

void

remove_transition_by_index ( int idx )

void

rename_node ( String name, String new_name )

void

replace_node ( String name, AnimationNode node )

void

set_end_node ( String name )

void

set_graph_offset ( Vector2 offset )

void

set_node_position ( String name, Vector2 position )

void

set_start_node ( String name )

Method Descriptions

Adds a new node to the graph. The position is used for display in the editor.


Adds a transition between the given nodes.


  • String get_end_node ( ) const

Returns the graph's end node.


  • Vector2 get_graph_offset ( ) const

Returns the draw offset of the graph. Used for display in the editor.


Returns the animation node with the given name.


Returns the given animation node's name.


Returns the given node's coordinates. Used for display in the editor.


  • String get_start_node ( ) const

Returns the graph's end node.


Returns the given transition.


  • int get_transition_count ( ) const

Returns the number of connections in the graph.


  • String get_transition_from ( int idx ) const

Returns the given transition's start node.


Returns the given transition's end node.


Returns true if the graph contains the given node.


Returns true if there is a transition between the given nodes.


  • void remove_node ( String name )

Deletes the given node from the graph.


Deletes the transition between the two specified nodes.


  • void remove_transition_by_index ( int idx )

Deletes the given transition by index.


Renames the given node.


Replaces the node and keeps its transitions unchanged.


  • void set_end_node ( String name )

Sets the given node as the graph end point.


  • void set_graph_offset ( Vector2 offset )

Sets the draw offset of the graph. Used for display in the editor.


Sets the node's coordinates. Used for display in the editor.


  • void set_start_node ( String name )

Sets the given node as the graph start point.