AnimationTreePlayer

Inherits: Node < Object

Category: Core

Brief Description

Animation Player that uses a node graph for blending Animations.

Properties

boolactive
NodePathbase_path
NodePathmaster_player
AnimationProcessModeplayback_process_mode

Methods

voidadd_node ( NodeType type, String id )
voidadvance ( float delta )
Animationanimation_node_get_animation ( String id ) const
Stringanimation_node_get_master_animation ( String id ) const
floatanimation_node_get_position ( String id ) const
voidanimation_node_set_animation ( String id, Animation animation )
voidanimation_node_set_filter_path ( String id, NodePath path, bool enable )
voidanimation_node_set_master_animation ( String id, String source )
boolare_nodes_connected ( String id, String dst_id, int dst_input_idx ) const
floatblend2_node_get_amount ( String id ) const
voidblend2_node_set_amount ( String id, float blend )
voidblend2_node_set_filter_path ( String id, NodePath path, bool enable )
floatblend3_node_get_amount ( String id ) const
voidblend3_node_set_amount ( String id, float blend )
Vector2blend4_node_get_amount ( String id ) const
voidblend4_node_set_amount ( String id, Vector2 blend )
Errorconnect_nodes ( String id, String dst_id, int dst_input_idx )
voiddisconnect_nodes ( String id, int dst_input_idx )
PoolStringArrayget_node_list ( )
floatmix_node_get_amount ( String id ) const
voidmix_node_set_amount ( String id, float ratio )
boolnode_exists ( String node ) const
intnode_get_input_count ( String id ) const
Stringnode_get_input_source ( String id, int idx ) const
Vector2node_get_position ( String id ) const
NodeTypenode_get_type ( String id ) const
Errornode_rename ( String node, String new_name )
voidnode_set_position ( String id, Vector2 screen_position )
floatoneshot_node_get_autorestart_delay ( String id ) const
floatoneshot_node_get_autorestart_random_delay ( String id ) const
floatoneshot_node_get_fadein_time ( String id ) const
floatoneshot_node_get_fadeout_time ( String id ) const
booloneshot_node_has_autorestart ( String id ) const
booloneshot_node_is_active ( String id ) const
voidoneshot_node_set_autorestart ( String id, bool enable )
voidoneshot_node_set_autorestart_delay ( String id, float delay_sec )
voidoneshot_node_set_autorestart_random_delay ( String id, float rand_sec )
voidoneshot_node_set_fadein_time ( String id, float time_sec )
voidoneshot_node_set_fadeout_time ( String id, float time_sec )
voidoneshot_node_set_filter_path ( String id, NodePath path, bool enable )
voidoneshot_node_start ( String id )
voidoneshot_node_stop ( String id )
voidrecompute_caches ( )
voidremove_node ( String id )
voidreset ( )
floattimescale_node_get_scale ( String id ) const
voidtimescale_node_set_scale ( String id, float scale )
voidtimeseek_node_seek ( String id, float seconds )
voidtransition_node_delete_input ( String id, int input_idx )
inttransition_node_get_current ( String id ) const
inttransition_node_get_input_count ( String id ) const
floattransition_node_get_xfade_time ( String id ) const
booltransition_node_has_input_auto_advance ( String id, int input_idx ) const
voidtransition_node_set_current ( String id, int input_idx )
voidtransition_node_set_input_auto_advance ( String id, int input_idx, bool enable )
voidtransition_node_set_input_count ( String id, int count )
voidtransition_node_set_xfade_time ( String id, float time_sec )

Enumerations

enum NodeType:

  • NODE_OUTPUT = 0 — Output node.
  • NODE_ANIMATION = 1 — Animation node.
  • NODE_ONESHOT = 2 — OneShot node.
  • NODE_MIX = 3 — Mix node.
  • NODE_BLEND2 = 4 — Blend2 node.
  • NODE_BLEND3 = 5 — Blend3 node.
  • NODE_BLEND4 = 6 — Blend4 node.
  • NODE_TIMESCALE = 7 — TimeScale node.
  • NODE_TIMESEEK = 8 — TimeSeek node.
  • NODE_TRANSITION = 9 — Transition node.

enum AnimationProcessMode:

  • ANIMATION_PROCESS_PHYSICS = 0 — Process animation during the physics process. This is especially useful when animating physics bodies.
  • ANIMATION_PROCESS_IDLE = 1 — Process animation during the idle process.

Description

A node graph tool for blending multiple animations bound to an AnimationPlayer. Especially useful for animating characters or other skeleton-based rigs. It can combine several animations to form a desired pose.

It takes Animations from an AnimationPlayer node and mixes them depending on the graph.

Property Descriptions

Setterset_active(value)
Getteris_active()

If true, the AnimationTreePlayer is able to play animations. Default value: false.


Setterset_base_path(value)
Getterget_base_path()

The node from which to relatively access other nodes. Default value: "..".

It accesses the Bones, so it should point to the same Node the AnimationPlayer would point its Root Node at.


Setterset_master_player(value)
Getterget_master_player()

The path to the AnimationPlayer from which this AnimationTreePlayer binds animations to animation nodes.

Once set, Animation nodes can be added to the AnimationTreePlayer.


Setterset_animation_process_mode(value)
Getterget_animation_process_mode()

The thread in which to update animations. Default value: ANIMATION_PROCESS_IDLE.

Method Descriptions

Adds a type node to the graph with name id.


  • void advance ( float delta )

Shifts position in the animation timeline. Delta is the time in seconds to shift. Events between the current frame and delta are handled.


Returns the AnimationPlayer’s Animation bound to the AnimationTreePlayer’s animation node with name id.


  • String animation_node_get_master_animation ( String id ) const

Returns the name of the master_player’s Animation bound to this animation node.



Binds a new Animation from the master_player to the AnimationTreePlayer’s animation node with name id.


If enable is true, the animation node with ID id turns off the track modifying the property at path. The modified node’s children continue to animate.


  • void animation_node_set_master_animation ( String id, String source )

Binds the Animation named source from master_player to the animation node id. Recalculates caches.


Returns whether node id and dst_id are connected at the specified slot.


Returns the blend amount of a Blend2 node given its name.


  • void blend2_node_set_amount ( String id, float blend )

Sets the blend amount of a Blend2 node given its name and value.

A Blend2 Node blends two animations with the amount between 0 and 1.

At 0, Output is input a.

Towards 1, the influence of a gets lessened, the influence of b gets raised.

At 1, Output is input b.


If enable is true, the blend2 node with ID id turns off the track modifying the property at path. The modified node’s children continue to animate.


Returns the blend amount of a Blend3 node given its name.


  • void blend3_node_set_amount ( String id, float blend )

Sets the blend amount of a Blend3 node given its name and value.

A Blend3 Node blends three animations with the amount between -1 and 1.

At -1, Output is input b-.

From -1 to 0, the influence of b- gets lessened, the influence of a gets raised and the influence of b+ is 0.

At 0, Output is input a.

From 0 to 1, the influence of a gets lessened, the influence of b+ gets raised and the influence of b+ is 0.

At 1, Output is input b+.


Returns the blend amount of a Blend4 node given its name.


Sets the blend amount of a Blend4 node given its name and value.

A Blend4 Node blends two pairs of animations.

The two pairs are blended like blend2 and then added together.


Connects node id to dst_id at the specified input slot.


  • void disconnect_nodes ( String id, int dst_input_idx )

Disconnects nodes connected to id at the specified input slot.


Returns a PoolStringArray containing the name of all nodes.


Returns mix amount of a Mix node given its name.


Sets mix amount of a Mix node given its name and value.

A Mix node adds input b to input a by a the amount given by ratio.


Check if a node exists (by name).


  • int node_get_input_count ( String id ) const

Returns the input count for a given node. Different types of nodes have different amount of inputs.


Returns the input source for a given node input.


Returns position of a node in the graph given its name.


Get the node type, will return from NODE_* enum.


Rename a node in the graph.


Sets position of a node in the graph given its name and position.


  • float oneshot_node_get_autorestart_delay ( String id ) const

Returns autostart delay of a OneShot node given its name.


  • float oneshot_node_get_autorestart_random_delay ( String id ) const

Returns autostart random delay of a OneShot node given its name.


  • float oneshot_node_get_fadein_time ( String id ) const

Returns fade in time of a OneShot node given its name.


  • float oneshot_node_get_fadeout_time ( String id ) const

Returns fade out time of a OneShot node given its name.


  • bool oneshot_node_has_autorestart ( String id ) const

Returns whether a OneShot node will auto restart given its name.


Returns whether a OneShot node is active given its name.


  • void oneshot_node_set_autorestart ( String id, bool enable )

Sets autorestart property of a OneShot node given its name and value.


  • void oneshot_node_set_autorestart_delay ( String id, float delay_sec )

Sets autorestart delay of a OneShot node given its name and value in seconds.


  • void oneshot_node_set_autorestart_random_delay ( String id, float rand_sec )

Sets autorestart random delay of a OneShot node given its name and value in seconds.


  • void oneshot_node_set_fadein_time ( String id, float time_sec )

Sets fade in time of a OneShot node given its name and value in seconds.


  • void oneshot_node_set_fadeout_time ( String id, float time_sec )

Sets fade out time of a OneShot node given its name and value in seconds.


If enable is true, the oneshot node with ID id turns off the track modifying the property at path. The modified node’s children continue to animate.


  • void oneshot_node_start ( String id )

Starts a OneShot node given its name.


  • void oneshot_node_stop ( String id )

Stops the OneShot node with name id.


  • void recompute_caches ( )

Manually recalculates the cache of track information generated from animation nodes. Needed when external sources modify the animation nodes’ state.


  • void remove_node ( String id )

Removes the animation node with name id.


  • void reset ( )

Resets this AnimationTreePlayer.


Returns time scale value of the TimeScale node with name id.


  • void timescale_node_set_scale ( String id, float scale )

Sets the time scale of the TimeScale node with name id to scale.

The timescale node is used to speed Animations up if the scale is above 1 or slow them down if it is below 1.

If applied after a blend or mix, affects all input animations to that blend or mix.


Sets the time seek value of the TimeSeek node with name id to seconds

This functions as a seek in the Animation or the blend or mix of Animations input in it.


  • void transition_node_delete_input ( String id, int input_idx )

Deletes the input at input_idx for the transition node with name id.


  • int transition_node_get_current ( String id ) const

Returns the index of the currently evaluated input for the transition node with name id.


  • int transition_node_get_input_count ( String id ) const

Returns the number of inputs for the transition node with name id. You can add inputs by rightclicking on the transition node.


  • float transition_node_get_xfade_time ( String id ) const

Returns the cross fade time for the transition node with name id.


  • bool transition_node_has_input_auto_advance ( String id, int input_idx ) const

Returns true if the input at input_idx on transition node with name id is set to automatically advance to the next input upon completion.


  • void transition_node_set_current ( String id, int input_idx )

The transition node with name id sets its current input at input_idx.


  • void transition_node_set_input_auto_advance ( String id, int input_idx, bool enable )

The transition node with name id advances to its next input automatically when the input at input_idx completes.


  • void transition_node_set_input_count ( String id, int count )

Resizes the number of inputs available for the transition node with name id.


  • void transition_node_set_xfade_time ( String id, float time_sec )

The transition node with name id sets its cross fade time to time_sec.