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.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_animationnodestatemachine.html