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 ) |
get_end_node ( ) const |
|
get_graph_offset ( ) const |
|
get_node_name ( AnimationNode node ) const |
|
get_node_position ( String name ) const |
|
get_start_node ( ) const |
|
get_transition ( int idx ) const |
|
get_transition_count ( ) const |
|
get_transition_from ( int idx ) const |
|
get_transition_to ( int idx ) const |
|
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.