Files
godot-docs/classes/class_animationtreeplayer.rst
2024-09-10 13:19:38 +00:00

1088 lines
61 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/AnimationTreePlayer.xml.
.. _class_AnimationTreePlayer:
AnimationTreePlayer
===================
**Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
*Deprecated.* Animation player that uses a node graph for blending animations. Superseded by :ref:`AnimationTree<class_AnimationTree>`.
.. rst-class:: classref-introduction-group
Description
-----------
*Deprecated.* A node graph tool for blending multiple animations bound to an :ref:`AnimationPlayer<class_AnimationPlayer>`. Especially useful for animating characters or other skeleton-based rigs. It can combine several animations to form a desired pose.
It takes :ref:`Animation<class_Animation>`\ s from an :ref:`AnimationPlayer<class_AnimationPlayer>` node and mixes them depending on the graph.
See :ref:`AnimationTree<class_AnimationTree>` for a more full-featured replacement of this node.
.. rst-class:: classref-introduction-group
Tutorials
---------
- :doc:`../tutorials/animation/animation_tree`
.. rst-class:: classref-reftable-group
Properties
----------
.. table::
:widths: auto
+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+--------------------+
| :ref:`bool<class_bool>` | :ref:`active<class_AnimationTreePlayer_property_active>` | ``false`` |
+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+--------------------+
| :ref:`NodePath<class_NodePath>` | :ref:`base_path<class_AnimationTreePlayer_property_base_path>` | ``NodePath("..")`` |
+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+--------------------+
| :ref:`NodePath<class_NodePath>` | :ref:`master_player<class_AnimationTreePlayer_property_master_player>` | ``NodePath("")`` |
+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+--------------------+
| :ref:`AnimationProcessMode<enum_AnimationTreePlayer_AnimationProcessMode>` | :ref:`playback_process_mode<class_AnimationTreePlayer_property_playback_process_mode>` | ``1`` |
+----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+--------------------+
.. rst-class:: classref-reftable-group
Methods
-------
.. table::
:widths: auto
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_node<class_AnimationTreePlayer_method_add_node>` **(** :ref:`NodeType<enum_AnimationTreePlayer_NodeType>` type, :ref:`String<class_String>` id **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`advance<class_AnimationTreePlayer_method_advance>` **(** :ref:`float<class_float>` delta **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Animation<class_Animation>` | :ref:`animation_node_get_animation<class_AnimationTreePlayer_method_animation_node_get_animation>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`animation_node_get_master_animation<class_AnimationTreePlayer_method_animation_node_get_master_animation>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`animation_node_get_position<class_AnimationTreePlayer_method_animation_node_get_position>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`animation_node_set_animation<class_AnimationTreePlayer_method_animation_node_set_animation>` **(** :ref:`String<class_String>` id, :ref:`Animation<class_Animation>` animation **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`animation_node_set_filter_path<class_AnimationTreePlayer_method_animation_node_set_filter_path>` **(** :ref:`String<class_String>` id, :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enable **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`animation_node_set_master_animation<class_AnimationTreePlayer_method_animation_node_set_master_animation>` **(** :ref:`String<class_String>` id, :ref:`String<class_String>` source **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`are_nodes_connected<class_AnimationTreePlayer_method_are_nodes_connected>` **(** :ref:`String<class_String>` id, :ref:`String<class_String>` dst_id, :ref:`int<class_int>` dst_input_idx **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`blend2_node_get_amount<class_AnimationTreePlayer_method_blend2_node_get_amount>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`blend2_node_set_amount<class_AnimationTreePlayer_method_blend2_node_set_amount>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` blend **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`blend2_node_set_filter_path<class_AnimationTreePlayer_method_blend2_node_set_filter_path>` **(** :ref:`String<class_String>` id, :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enable **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`blend3_node_get_amount<class_AnimationTreePlayer_method_blend3_node_get_amount>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`blend3_node_set_amount<class_AnimationTreePlayer_method_blend3_node_set_amount>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` blend **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`blend4_node_get_amount<class_AnimationTreePlayer_method_blend4_node_get_amount>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`blend4_node_set_amount<class_AnimationTreePlayer_method_blend4_node_set_amount>` **(** :ref:`String<class_String>` id, :ref:`Vector2<class_Vector2>` blend **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`connect_nodes<class_AnimationTreePlayer_method_connect_nodes>` **(** :ref:`String<class_String>` id, :ref:`String<class_String>` dst_id, :ref:`int<class_int>` dst_input_idx **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`disconnect_nodes<class_AnimationTreePlayer_method_disconnect_nodes>` **(** :ref:`String<class_String>` id, :ref:`int<class_int>` dst_input_idx **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_node_list<class_AnimationTreePlayer_method_get_node_list>` **(** **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`mix_node_get_amount<class_AnimationTreePlayer_method_mix_node_get_amount>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`mix_node_set_amount<class_AnimationTreePlayer_method_mix_node_set_amount>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` ratio **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`node_exists<class_AnimationTreePlayer_method_node_exists>` **(** :ref:`String<class_String>` node **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`node_get_input_count<class_AnimationTreePlayer_method_node_get_input_count>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`node_get_input_source<class_AnimationTreePlayer_method_node_get_input_source>` **(** :ref:`String<class_String>` id, :ref:`int<class_int>` idx **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`node_get_position<class_AnimationTreePlayer_method_node_get_position>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`NodeType<enum_AnimationTreePlayer_NodeType>` | :ref:`node_get_type<class_AnimationTreePlayer_method_node_get_type>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`node_rename<class_AnimationTreePlayer_method_node_rename>` **(** :ref:`String<class_String>` node, :ref:`String<class_String>` new_name **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`node_set_position<class_AnimationTreePlayer_method_node_set_position>` **(** :ref:`String<class_String>` id, :ref:`Vector2<class_Vector2>` screen_position **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`oneshot_node_get_autorestart_delay<class_AnimationTreePlayer_method_oneshot_node_get_autorestart_delay>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`oneshot_node_get_autorestart_random_delay<class_AnimationTreePlayer_method_oneshot_node_get_autorestart_random_delay>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`oneshot_node_get_fadein_time<class_AnimationTreePlayer_method_oneshot_node_get_fadein_time>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`oneshot_node_get_fadeout_time<class_AnimationTreePlayer_method_oneshot_node_get_fadeout_time>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`oneshot_node_has_autorestart<class_AnimationTreePlayer_method_oneshot_node_has_autorestart>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`oneshot_node_is_active<class_AnimationTreePlayer_method_oneshot_node_is_active>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`oneshot_node_set_autorestart<class_AnimationTreePlayer_method_oneshot_node_set_autorestart>` **(** :ref:`String<class_String>` id, :ref:`bool<class_bool>` enable **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`oneshot_node_set_autorestart_delay<class_AnimationTreePlayer_method_oneshot_node_set_autorestart_delay>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` delay_sec **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`oneshot_node_set_autorestart_random_delay<class_AnimationTreePlayer_method_oneshot_node_set_autorestart_random_delay>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` rand_sec **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`oneshot_node_set_fadein_time<class_AnimationTreePlayer_method_oneshot_node_set_fadein_time>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` time_sec **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`oneshot_node_set_fadeout_time<class_AnimationTreePlayer_method_oneshot_node_set_fadeout_time>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` time_sec **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`oneshot_node_set_filter_path<class_AnimationTreePlayer_method_oneshot_node_set_filter_path>` **(** :ref:`String<class_String>` id, :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enable **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`oneshot_node_start<class_AnimationTreePlayer_method_oneshot_node_start>` **(** :ref:`String<class_String>` id **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`oneshot_node_stop<class_AnimationTreePlayer_method_oneshot_node_stop>` **(** :ref:`String<class_String>` id **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`recompute_caches<class_AnimationTreePlayer_method_recompute_caches>` **(** **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_node<class_AnimationTreePlayer_method_remove_node>` **(** :ref:`String<class_String>` id **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`reset<class_AnimationTreePlayer_method_reset>` **(** **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`timescale_node_get_scale<class_AnimationTreePlayer_method_timescale_node_get_scale>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`timescale_node_set_scale<class_AnimationTreePlayer_method_timescale_node_set_scale>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` scale **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`timeseek_node_seek<class_AnimationTreePlayer_method_timeseek_node_seek>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` seconds **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`transition_node_delete_input<class_AnimationTreePlayer_method_transition_node_delete_input>` **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`transition_node_get_current<class_AnimationTreePlayer_method_transition_node_get_current>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`transition_node_get_input_count<class_AnimationTreePlayer_method_transition_node_get_input_count>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`transition_node_get_xfade_time<class_AnimationTreePlayer_method_transition_node_get_xfade_time>` **(** :ref:`String<class_String>` id **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`transition_node_has_input_auto_advance<class_AnimationTreePlayer_method_transition_node_has_input_auto_advance>` **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx **)** |const| |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`transition_node_set_current<class_AnimationTreePlayer_method_transition_node_set_current>` **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`transition_node_set_input_auto_advance<class_AnimationTreePlayer_method_transition_node_set_input_auto_advance>` **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx, :ref:`bool<class_bool>` enable **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`transition_node_set_input_count<class_AnimationTreePlayer_method_transition_node_set_input_count>` **(** :ref:`String<class_String>` id, :ref:`int<class_int>` count **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`transition_node_set_xfade_time<class_AnimationTreePlayer_method_transition_node_set_xfade_time>` **(** :ref:`String<class_String>` id, :ref:`float<class_float>` time_sec **)** |
+----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Enumerations
------------
.. _enum_AnimationTreePlayer_NodeType:
.. rst-class:: classref-enumeration
enum **NodeType**:
.. _class_AnimationTreePlayer_constant_NODE_OUTPUT:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_OUTPUT** = ``0``
Output node.
.. _class_AnimationTreePlayer_constant_NODE_ANIMATION:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_ANIMATION** = ``1``
Animation node.
.. _class_AnimationTreePlayer_constant_NODE_ONESHOT:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_ONESHOT** = ``2``
OneShot node.
.. _class_AnimationTreePlayer_constant_NODE_MIX:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_MIX** = ``3``
Mix node.
.. _class_AnimationTreePlayer_constant_NODE_BLEND2:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_BLEND2** = ``4``
Blend2 node.
.. _class_AnimationTreePlayer_constant_NODE_BLEND3:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_BLEND3** = ``5``
Blend3 node.
.. _class_AnimationTreePlayer_constant_NODE_BLEND4:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_BLEND4** = ``6``
Blend4 node.
.. _class_AnimationTreePlayer_constant_NODE_TIMESCALE:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_TIMESCALE** = ``7``
TimeScale node.
.. _class_AnimationTreePlayer_constant_NODE_TIMESEEK:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_TIMESEEK** = ``8``
TimeSeek node.
.. _class_AnimationTreePlayer_constant_NODE_TRANSITION:
.. rst-class:: classref-enumeration-constant
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **NODE_TRANSITION** = ``9``
Transition node.
.. rst-class:: classref-item-separator
----
.. _enum_AnimationTreePlayer_AnimationProcessMode:
.. rst-class:: classref-enumeration
enum **AnimationProcessMode**:
.. _class_AnimationTreePlayer_constant_ANIMATION_PROCESS_PHYSICS:
.. rst-class:: classref-enumeration-constant
:ref:`AnimationProcessMode<enum_AnimationTreePlayer_AnimationProcessMode>` **ANIMATION_PROCESS_PHYSICS** = ``0``
Process animation during the physics process. This is especially useful when animating physics bodies.
.. _class_AnimationTreePlayer_constant_ANIMATION_PROCESS_IDLE:
.. rst-class:: classref-enumeration-constant
:ref:`AnimationProcessMode<enum_AnimationTreePlayer_AnimationProcessMode>` **ANIMATION_PROCESS_IDLE** = ``1``
Process animation during the idle process.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Property Descriptions
---------------------
.. _class_AnimationTreePlayer_property_active:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **active** = ``false``
.. rst-class:: classref-property-setget
- void **set_active** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_bool>` **is_active** **(** **)**
If ``true``, the **AnimationTreePlayer** is able to play animations.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_property_base_path:
.. rst-class:: classref-property
:ref:`NodePath<class_NodePath>` **base_path** = ``NodePath("..")``
.. rst-class:: classref-property-setget
- void **set_base_path** **(** :ref:`NodePath<class_NodePath>` value **)**
- :ref:`NodePath<class_NodePath>` **get_base_path** **(** **)**
The node from which to relatively access other nodes.
It accesses the bones, so it should point to the same node the :ref:`AnimationPlayer<class_AnimationPlayer>` would point its Root Node at.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_property_master_player:
.. rst-class:: classref-property
:ref:`NodePath<class_NodePath>` **master_player** = ``NodePath("")``
.. rst-class:: classref-property-setget
- void **set_master_player** **(** :ref:`NodePath<class_NodePath>` value **)**
- :ref:`NodePath<class_NodePath>` **get_master_player** **(** **)**
The path to the :ref:`AnimationPlayer<class_AnimationPlayer>` from which this **AnimationTreePlayer** binds animations to animation nodes.
Once set, :ref:`Animation<class_Animation>` nodes can be added to the **AnimationTreePlayer**.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_property_playback_process_mode:
.. rst-class:: classref-property
:ref:`AnimationProcessMode<enum_AnimationTreePlayer_AnimationProcessMode>` **playback_process_mode** = ``1``
.. rst-class:: classref-property-setget
- void **set_animation_process_mode** **(** :ref:`AnimationProcessMode<enum_AnimationTreePlayer_AnimationProcessMode>` value **)**
- :ref:`AnimationProcessMode<enum_AnimationTreePlayer_AnimationProcessMode>` **get_animation_process_mode** **(** **)**
The thread in which to update animations.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Method Descriptions
-------------------
.. _class_AnimationTreePlayer_method_add_node:
.. rst-class:: classref-method
void **add_node** **(** :ref:`NodeType<enum_AnimationTreePlayer_NodeType>` type, :ref:`String<class_String>` id **)**
Adds a ``type`` node to the graph with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_advance:
.. rst-class:: classref-method
void **advance** **(** :ref:`float<class_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.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_animation_node_get_animation:
.. rst-class:: classref-method
:ref:`Animation<class_Animation>` **animation_node_get_animation** **(** :ref:`String<class_String>` id **)** |const|
Returns the :ref:`AnimationPlayer<class_AnimationPlayer>`'s :ref:`Animation<class_Animation>` bound to the **AnimationTreePlayer**'s animation node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_animation_node_get_master_animation:
.. rst-class:: classref-method
:ref:`String<class_String>` **animation_node_get_master_animation** **(** :ref:`String<class_String>` id **)** |const|
Returns the name of the :ref:`master_player<class_AnimationTreePlayer_property_master_player>`'s :ref:`Animation<class_Animation>` bound to this animation node.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_animation_node_get_position:
.. rst-class:: classref-method
:ref:`float<class_float>` **animation_node_get_position** **(** :ref:`String<class_String>` id **)** |const|
Returns the absolute playback timestamp of the animation node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_animation_node_set_animation:
.. rst-class:: classref-method
void **animation_node_set_animation** **(** :ref:`String<class_String>` id, :ref:`Animation<class_Animation>` animation **)**
Binds a new :ref:`Animation<class_Animation>` from the :ref:`master_player<class_AnimationTreePlayer_property_master_player>` to the **AnimationTreePlayer**'s animation node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_animation_node_set_filter_path:
.. rst-class:: classref-method
void **animation_node_set_filter_path** **(** :ref:`String<class_String>` id, :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enable **)**
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.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_animation_node_set_master_animation:
.. rst-class:: classref-method
void **animation_node_set_master_animation** **(** :ref:`String<class_String>` id, :ref:`String<class_String>` source **)**
Binds the :ref:`Animation<class_Animation>` named ``source`` from :ref:`master_player<class_AnimationTreePlayer_property_master_player>` to the animation node ``id``. Recalculates caches.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_are_nodes_connected:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **are_nodes_connected** **(** :ref:`String<class_String>` id, :ref:`String<class_String>` dst_id, :ref:`int<class_int>` dst_input_idx **)** |const|
Returns whether node ``id`` and ``dst_id`` are connected at the specified slot.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_blend2_node_get_amount:
.. rst-class:: classref-method
:ref:`float<class_float>` **blend2_node_get_amount** **(** :ref:`String<class_String>` id **)** |const|
Returns the blend amount of a Blend2 node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_blend2_node_set_amount:
.. rst-class:: classref-method
void **blend2_node_set_amount** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` blend **)**
Sets the blend amount of a Blend2 node given its name and value.
A Blend2 node blends two animations (A and B) 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.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_blend2_node_set_filter_path:
.. rst-class:: classref-method
void **blend2_node_set_filter_path** **(** :ref:`String<class_String>` id, :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enable **)**
If ``enable`` is ``true``, the Blend2 node with name ``id`` turns off the track modifying the property at ``path``. The modified node's children continue to animate.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_blend3_node_get_amount:
.. rst-class:: classref-method
:ref:`float<class_float>` **blend3_node_get_amount** **(** :ref:`String<class_String>` id **)** |const|
Returns the blend amount of a Blend3 node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_blend3_node_set_amount:
.. rst-class:: classref-method
void **blend3_node_set_amount** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` blend **)**
Sets the blend amount of a Blend3 node given its name and value.
A Blend3 Node blends three animations (A, B-, B+) 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+.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_blend4_node_get_amount:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **blend4_node_get_amount** **(** :ref:`String<class_String>` id **)** |const|
Returns the blend amount of a Blend4 node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_blend4_node_set_amount:
.. rst-class:: classref-method
void **blend4_node_set_amount** **(** :ref:`String<class_String>` id, :ref:`Vector2<class_Vector2>` blend **)**
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.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_connect_nodes:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **connect_nodes** **(** :ref:`String<class_String>` id, :ref:`String<class_String>` dst_id, :ref:`int<class_int>` dst_input_idx **)**
Connects node ``id`` to ``dst_id`` at the specified input slot.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_disconnect_nodes:
.. rst-class:: classref-method
void **disconnect_nodes** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` dst_input_idx **)**
Disconnects nodes connected to ``id`` at the specified input slot.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_get_node_list:
.. rst-class:: classref-method
:ref:`PoolStringArray<class_PoolStringArray>` **get_node_list** **(** **)**
Returns a :ref:`PoolStringArray<class_PoolStringArray>` containing the name of all nodes.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_mix_node_get_amount:
.. rst-class:: classref-method
:ref:`float<class_float>` **mix_node_get_amount** **(** :ref:`String<class_String>` id **)** |const|
Returns the mix amount of a Mix node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_mix_node_set_amount:
.. rst-class:: classref-method
void **mix_node_set_amount** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` ratio **)**
Sets the mix amount of a Mix node given its name and value.
A Mix node adds input b to input a by the amount given by ratio.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_node_exists:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **node_exists** **(** :ref:`String<class_String>` node **)** |const|
Check if a node exists (by name).
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_node_get_input_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **node_get_input_count** **(** :ref:`String<class_String>` id **)** |const|
Returns the input count for a given node. Different types of nodes have different amount of inputs.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_node_get_input_source:
.. rst-class:: classref-method
:ref:`String<class_String>` **node_get_input_source** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` idx **)** |const|
Returns the input source for a given node input.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_node_get_position:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **node_get_position** **(** :ref:`String<class_String>` id **)** |const|
Returns position of a node in the graph given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_node_get_type:
.. rst-class:: classref-method
:ref:`NodeType<enum_AnimationTreePlayer_NodeType>` **node_get_type** **(** :ref:`String<class_String>` id **)** |const|
Gets the node type, will return from :ref:`NodeType<enum_AnimationTreePlayer_NodeType>` enum.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_node_rename:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **node_rename** **(** :ref:`String<class_String>` node, :ref:`String<class_String>` new_name **)**
Renames a node in the graph.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_node_set_position:
.. rst-class:: classref-method
void **node_set_position** **(** :ref:`String<class_String>` id, :ref:`Vector2<class_Vector2>` screen_position **)**
Sets the position of a node in the graph given its name and position.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_get_autorestart_delay:
.. rst-class:: classref-method
:ref:`float<class_float>` **oneshot_node_get_autorestart_delay** **(** :ref:`String<class_String>` id **)** |const|
Returns the autostart delay of a OneShot node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_get_autorestart_random_delay:
.. rst-class:: classref-method
:ref:`float<class_float>` **oneshot_node_get_autorestart_random_delay** **(** :ref:`String<class_String>` id **)** |const|
Returns the autostart random delay of a OneShot node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_get_fadein_time:
.. rst-class:: classref-method
:ref:`float<class_float>` **oneshot_node_get_fadein_time** **(** :ref:`String<class_String>` id **)** |const|
Returns the fade in time of a OneShot node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_get_fadeout_time:
.. rst-class:: classref-method
:ref:`float<class_float>` **oneshot_node_get_fadeout_time** **(** :ref:`String<class_String>` id **)** |const|
Returns the fade out time of a OneShot node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_has_autorestart:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **oneshot_node_has_autorestart** **(** :ref:`String<class_String>` id **)** |const|
Returns whether a OneShot node will auto restart given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_is_active:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **oneshot_node_is_active** **(** :ref:`String<class_String>` id **)** |const|
Returns whether a OneShot node is active given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_set_autorestart:
.. rst-class:: classref-method
void **oneshot_node_set_autorestart** **(** :ref:`String<class_String>` id, :ref:`bool<class_bool>` enable **)**
Sets the autorestart property of a OneShot node given its name and value.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_set_autorestart_delay:
.. rst-class:: classref-method
void **oneshot_node_set_autorestart_delay** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` delay_sec **)**
Sets the autorestart delay of a OneShot node given its name and value in seconds.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_set_autorestart_random_delay:
.. rst-class:: classref-method
void **oneshot_node_set_autorestart_random_delay** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` rand_sec **)**
Sets the autorestart random delay of a OneShot node given its name and value in seconds.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_set_fadein_time:
.. rst-class:: classref-method
void **oneshot_node_set_fadein_time** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` time_sec **)**
Sets the fade in time of a OneShot node given its name and value in seconds.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_set_fadeout_time:
.. rst-class:: classref-method
void **oneshot_node_set_fadeout_time** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` time_sec **)**
Sets the fade out time of a OneShot node given its name and value in seconds.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_set_filter_path:
.. rst-class:: classref-method
void **oneshot_node_set_filter_path** **(** :ref:`String<class_String>` id, :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enable **)**
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.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_start:
.. rst-class:: classref-method
void **oneshot_node_start** **(** :ref:`String<class_String>` id **)**
Starts a OneShot node given its name.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_oneshot_node_stop:
.. rst-class:: classref-method
void **oneshot_node_stop** **(** :ref:`String<class_String>` id **)**
Stops the OneShot node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_recompute_caches:
.. rst-class:: classref-method
void **recompute_caches** **(** **)**
Manually recalculates the cache of track information generated from animation nodes. Needed when external sources modify the animation nodes' state.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_remove_node:
.. rst-class:: classref-method
void **remove_node** **(** :ref:`String<class_String>` id **)**
Removes the animation node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_reset:
.. rst-class:: classref-method
void **reset** **(** **)**
Resets this **AnimationTreePlayer**.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_timescale_node_get_scale:
.. rst-class:: classref-method
:ref:`float<class_float>` **timescale_node_get_scale** **(** :ref:`String<class_String>` id **)** |const|
Returns the time scale value of the TimeScale node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_timescale_node_set_scale:
.. rst-class:: classref-method
void **timescale_node_set_scale** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` scale **)**
Sets the time scale of the TimeScale node with name ``id`` to ``scale``.
The TimeScale node is used to speed :ref:`Animation<class_Animation>`\ s 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.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_timeseek_node_seek:
.. rst-class:: classref-method
void **timeseek_node_seek** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` seconds **)**
Sets the time seek value of the TimeSeek node with name ``id`` to ``seconds``.
This functions as a seek in the :ref:`Animation<class_Animation>` or the blend or mix of :ref:`Animation<class_Animation>`\ s input in it.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_delete_input:
.. rst-class:: classref-method
void **transition_node_delete_input** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx **)**
Deletes the input at ``input_idx`` for the transition node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_get_current:
.. rst-class:: classref-method
:ref:`int<class_int>` **transition_node_get_current** **(** :ref:`String<class_String>` id **)** |const|
Returns the index of the currently evaluated input for the transition node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_get_input_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **transition_node_get_input_count** **(** :ref:`String<class_String>` id **)** |const|
Returns the number of inputs for the transition node with name ``id``. You can add inputs by right-clicking on the transition node.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_get_xfade_time:
.. rst-class:: classref-method
:ref:`float<class_float>` **transition_node_get_xfade_time** **(** :ref:`String<class_String>` id **)** |const|
Returns the cross fade time for the transition node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_has_input_auto_advance:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **transition_node_has_input_auto_advance** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx **)** |const|
Returns ``true`` if the input at ``input_idx`` on the transition node with name ``id`` is set to automatically advance to the next input upon completion.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_set_current:
.. rst-class:: classref-method
void **transition_node_set_current** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx **)**
The transition node with name ``id`` sets its current input at ``input_idx``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_set_input_auto_advance:
.. rst-class:: classref-method
void **transition_node_set_input_auto_advance** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` input_idx, :ref:`bool<class_bool>` enable **)**
The transition node with name ``id`` advances to its next input automatically when the input at ``input_idx`` completes.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_set_input_count:
.. rst-class:: classref-method
void **transition_node_set_input_count** **(** :ref:`String<class_String>` id, :ref:`int<class_int>` count **)**
Resizes the number of inputs available for the transition node with name ``id``.
.. rst-class:: classref-item-separator
----
.. _class_AnimationTreePlayer_method_transition_node_set_xfade_time:
.. rst-class:: classref-method
void **transition_node_set_xfade_time** **(** :ref:`String<class_String>` id, :ref:`float<class_float>` time_sec **)**
The transition node with name ``id`` sets its cross fade time to ``time_sec``.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`