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

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

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


void add_transition ( String from, String to, AnimationNodeStateMachineTransition transition )

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.


AnimationNode get_node ( String name ) const

Returns the animation node with the given name.


String get_node_name ( AnimationNode node ) const

Returns the given animation node's name.


Vector2 get_node_position ( String name ) const

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


String get_start_node ( ) const

Returns the graph's end node.


AnimationNodeStateMachineTransition get_transition ( int idx ) const

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.


String get_transition_to ( int idx ) const

Returns the given transition's end node.


bool has_node ( String name ) const

Returns true if the graph contains the given node.


bool has_transition ( String from, String to ) const

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


void remove_node ( String name )

Deletes the given node from the graph.


void remove_transition ( String from, String to )

Deletes the transition between the two specified nodes.


void remove_transition_by_index ( int idx )

Deletes the given transition by index.


void rename_node ( String name, String new_name )

Renames the given node.


void replace_node ( String name, AnimationNode 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.


void set_node_position ( String name, Vector2 position )

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.