mirror of
https://github.com/stan220/godot-docs.git
synced 2026-09-08 19:29:06 +00:00
500 lines
55 KiB
ReStructuredText
500 lines
55 KiB
ReStructuredText
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
|
|
.. DO NOT EDIT THIS FILE, but the Animation.xml source instead.
|
|
.. The source is found in doc/classes or modules/<name>/doc_classes.
|
|
|
|
.. _class_Animation:
|
|
|
|
Animation
|
|
=========
|
|
|
|
**Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
|
|
|
|
**Category:** Core
|
|
|
|
Brief Description
|
|
-----------------
|
|
|
|
Contains data used to animate everything in the engine.
|
|
|
|
Member Functions
|
|
----------------
|
|
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`add_track<class_Animation_add_track>` **(** :ref:`TrackType<enum_animation_tracktype>` type, :ref:`int<class_int>` at_position=-1 **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_string>` | :ref:`animation_track_get_key_animation<class_Animation_animation_track_get_key_animation>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`animation_track_insert_key<class_Animation_animation_track_insert_key>` **(** :ref:`int<class_int>` track, :ref:`float<class_float>` time, :ref:`String<class_string>` animation **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`animation_track_set_key_animation<class_Animation_animation_track_set_key_animation>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`String<class_string>` animation **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`audio_track_get_key_end_offset<class_Animation_audio_track_get_key_end_offset>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`audio_track_get_key_start_offset<class_Animation_audio_track_get_key_start_offset>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Resource<class_resource>` | :ref:`audio_track_get_key_stream<class_Animation_audio_track_get_key_stream>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`audio_track_insert_key<class_Animation_audio_track_insert_key>` **(** :ref:`int<class_int>` track, :ref:`float<class_float>` time, :ref:`Resource<class_resource>` stream, :ref:`float<class_float>` start_offset=0, :ref:`float<class_float>` end_offset=0 **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`audio_track_set_key_end_offset<class_Animation_audio_track_set_key_end_offset>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` offset **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`audio_track_set_key_start_offset<class_Animation_audio_track_set_key_start_offset>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` offset **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`audio_track_set_key_stream<class_Animation_audio_track_set_key_stream>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`Resource<class_resource>` stream **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector2<class_vector2>` | :ref:`bezier_track_get_key_in_handle<class_Animation_bezier_track_get_key_in_handle>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector2<class_vector2>` | :ref:`bezier_track_get_key_out_handle<class_Animation_bezier_track_get_key_out_handle>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`bezier_track_get_key_value<class_Animation_bezier_track_get_key_value>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`bezier_track_insert_key<class_Animation_bezier_track_insert_key>` **(** :ref:`int<class_int>` track, :ref:`float<class_float>` time, :ref:`float<class_float>` value, :ref:`Vector2<class_vector2>` in_handle=Vector2( 0, 0 ), :ref:`Vector2<class_vector2>` out_handle=Vector2( 0, 0 ) **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`bezier_track_interpolate<class_Animation_bezier_track_interpolate>` **(** :ref:`int<class_int>` track, :ref:`float<class_float>` time **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`bezier_track_set_key_in_handle<class_Animation_bezier_track_set_key_in_handle>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`Vector2<class_vector2>` in_handle **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`bezier_track_set_key_out_handle<class_Animation_bezier_track_set_key_out_handle>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`Vector2<class_vector2>` out_handle **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`bezier_track_set_key_value<class_Animation_bezier_track_set_key_value>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` value **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`clear<class_Animation_clear>` **(** **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`copy_track<class_Animation_copy_track>` **(** :ref:`int<class_int>` track, :ref:`Animation<class_animation>` to_animation **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`find_track<class_Animation_find_track>` **(** :ref:`NodePath<class_nodepath>` path **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_track_count<class_Animation_get_track_count>` **(** **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`PoolIntArray<class_poolintarray>` | :ref:`method_track_get_key_indices<class_Animation_method_track_get_key_indices>` **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`String<class_string>` | :ref:`method_track_get_name<class_Animation_method_track_get_name>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Array<class_array>` | :ref:`method_track_get_params<class_Animation_method_track_get_params>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`remove_track<class_Animation_remove_track>` **(** :ref:`int<class_int>` idx **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`track_find_key<class_Animation_track_find_key>` **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`bool<class_bool>` exact=false **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`track_get_interpolation_loop_wrap<class_Animation_track_get_interpolation_loop_wrap>` **(** :ref:`int<class_int>` idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`InterpolationType<enum_animation_interpolationtype>` | :ref:`track_get_interpolation_type<class_Animation_track_get_interpolation_type>` **(** :ref:`int<class_int>` idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`track_get_key_count<class_Animation_track_get_key_count>` **(** :ref:`int<class_int>` idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`track_get_key_time<class_Animation_track_get_key_time>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`track_get_key_transition<class_Animation_track_get_key_transition>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Variant<class_variant>` | :ref:`track_get_key_value<class_Animation_track_get_key_value>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`NodePath<class_nodepath>` | :ref:`track_get_path<class_Animation_track_get_path>` **(** :ref:`int<class_int>` idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`TrackType<enum_animation_tracktype>` | :ref:`track_get_type<class_Animation_track_get_type>` **(** :ref:`int<class_int>` idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_insert_key<class_Animation_track_insert_key>` **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`Variant<class_variant>` key, :ref:`float<class_float>` transition=1 **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`track_is_enabled<class_Animation_track_is_enabled>` **(** :ref:`int<class_int>` idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`track_is_imported<class_Animation_track_is_imported>` **(** :ref:`int<class_int>` idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_move_down<class_Animation_track_move_down>` **(** :ref:`int<class_int>` idx **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_move_up<class_Animation_track_move_up>` **(** :ref:`int<class_int>` idx **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_remove_key<class_Animation_track_remove_key>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_remove_key_at_position<class_Animation_track_remove_key_at_position>` **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` position **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_enabled<class_Animation_track_set_enabled>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enabled **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_imported<class_Animation_track_set_imported>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` imported **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_interpolation_loop_wrap<class_Animation_track_set_interpolation_loop_wrap>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` interpolation **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_interpolation_type<class_Animation_track_set_interpolation_type>` **(** :ref:`int<class_int>` idx, :ref:`InterpolationType<enum_animation_interpolationtype>` interpolation **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_key_transition<class_Animation_track_set_key_transition>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` transition **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_key_value<class_Animation_track_set_key_value>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key, :ref:`Variant<class_variant>` value **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_path<class_Animation_track_set_path>` **(** :ref:`int<class_int>` idx, :ref:`NodePath<class_nodepath>` path **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_swap<class_Animation_track_swap>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` with_idx **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`transform_track_insert_key<class_Animation_transform_track_insert_key>` **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`Vector3<class_vector3>` location, :ref:`Quat<class_quat>` rotation, :ref:`Vector3<class_vector3>` scale **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Array<class_array>` | :ref:`transform_track_interpolate<class_Animation_transform_track_interpolate>` **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`PoolIntArray<class_poolintarray>` | :ref:`value_track_get_key_indices<class_Animation_value_track_get_key_indices>` **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`UpdateMode<enum_animation_updatemode>` | :ref:`value_track_get_update_mode<class_Animation_value_track_get_update_mode>` **(** :ref:`int<class_int>` idx **)** const |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`value_track_set_update_mode<class_Animation_value_track_set_update_mode>` **(** :ref:`int<class_int>` idx, :ref:`UpdateMode<enum_animation_updatemode>` mode **)** |
|
|
+-------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
Member Variables
|
|
----------------
|
|
|
|
.. _class_Animation_length:
|
|
|
|
- :ref:`float<class_float>` **length** - The total length of the animation (in seconds). Note that length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
|
|
|
|
.. _class_Animation_loop:
|
|
|
|
- :ref:`bool<class_bool>` **loop** - A flag indicating that the animation must loop. This is uses for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.
|
|
|
|
.. _class_Animation_step:
|
|
|
|
- :ref:`float<class_float>` **step** - The animation step value.
|
|
|
|
|
|
Enums
|
|
-----
|
|
|
|
.. _enum_Animation_UpdateMode:
|
|
|
|
enum **UpdateMode**
|
|
|
|
- **UPDATE_CONTINUOUS** = **0** --- Update between keyframes.
|
|
- **UPDATE_DISCRETE** = **1** --- Update at the keyframes and hold the value.
|
|
- **UPDATE_TRIGGER** = **2** --- Update at the keyframes.
|
|
- **UPDATE_CAPTURE** = **3**
|
|
|
|
.. _enum_Animation_InterpolationType:
|
|
|
|
enum **InterpolationType**
|
|
|
|
- **INTERPOLATION_NEAREST** = **0** --- No interpolation (nearest value).
|
|
- **INTERPOLATION_LINEAR** = **1** --- Linear interpolation.
|
|
- **INTERPOLATION_CUBIC** = **2** --- Cubic interpolation.
|
|
|
|
.. _enum_Animation_TrackType:
|
|
|
|
enum **TrackType**
|
|
|
|
- **TYPE_VALUE** = **0** --- Value tracks set values in node properties, but only those which can be Interpolated.
|
|
- **TYPE_TRANSFORM** = **1** --- Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are Interpolated.
|
|
- **TYPE_METHOD** = **2** --- Method tracks call functions with given arguments per key.
|
|
- **TYPE_BEZIER** = **3**
|
|
- **TYPE_AUDIO** = **4**
|
|
- **TYPE_ANIMATION** = **5**
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks, and each track must be linked to a node. The state of that node can be changed through time, by adding timed keys (events) to the track.
|
|
|
|
Animations are just data containers, and must be added to odes such as an :ref:`AnimationPlayer<class_animationplayer>` or :ref:`AnimationTreePlayer<class_animationtreeplayer>` to be played back.
|
|
|
|
Tutorials
|
|
---------
|
|
|
|
- :doc:`../tutorials/animation/index`
|
|
|
|
Member Function Description
|
|
---------------------------
|
|
|
|
.. _class_Animation_add_track:
|
|
|
|
- :ref:`int<class_int>` **add_track** **(** :ref:`TrackType<enum_animation_tracktype>` type, :ref:`int<class_int>` at_position=-1 **)**
|
|
|
|
Add a track to the Animation. The track type must be specified as any of the values in the TYPE\_\* enumeration.
|
|
|
|
.. _class_Animation_animation_track_get_key_animation:
|
|
|
|
- :ref:`String<class_string>` **animation_track_get_key_animation** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
.. _class_Animation_animation_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **animation_track_insert_key** **(** :ref:`int<class_int>` track, :ref:`float<class_float>` time, :ref:`String<class_string>` animation **)**
|
|
|
|
.. _class_Animation_animation_track_set_key_animation:
|
|
|
|
- void **animation_track_set_key_animation** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`String<class_string>` animation **)**
|
|
|
|
.. _class_Animation_audio_track_get_key_end_offset:
|
|
|
|
- :ref:`float<class_float>` **audio_track_get_key_end_offset** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
.. _class_Animation_audio_track_get_key_start_offset:
|
|
|
|
- :ref:`float<class_float>` **audio_track_get_key_start_offset** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
.. _class_Animation_audio_track_get_key_stream:
|
|
|
|
- :ref:`Resource<class_resource>` **audio_track_get_key_stream** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
.. _class_Animation_audio_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **audio_track_insert_key** **(** :ref:`int<class_int>` track, :ref:`float<class_float>` time, :ref:`Resource<class_resource>` stream, :ref:`float<class_float>` start_offset=0, :ref:`float<class_float>` end_offset=0 **)**
|
|
|
|
.. _class_Animation_audio_track_set_key_end_offset:
|
|
|
|
- void **audio_track_set_key_end_offset** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` offset **)**
|
|
|
|
.. _class_Animation_audio_track_set_key_start_offset:
|
|
|
|
- void **audio_track_set_key_start_offset** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` offset **)**
|
|
|
|
.. _class_Animation_audio_track_set_key_stream:
|
|
|
|
- void **audio_track_set_key_stream** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`Resource<class_resource>` stream **)**
|
|
|
|
.. _class_Animation_bezier_track_get_key_in_handle:
|
|
|
|
- :ref:`Vector2<class_vector2>` **bezier_track_get_key_in_handle** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
.. _class_Animation_bezier_track_get_key_out_handle:
|
|
|
|
- :ref:`Vector2<class_vector2>` **bezier_track_get_key_out_handle** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
.. _class_Animation_bezier_track_get_key_value:
|
|
|
|
- :ref:`float<class_float>` **bezier_track_get_key_value** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
.. _class_Animation_bezier_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **bezier_track_insert_key** **(** :ref:`int<class_int>` track, :ref:`float<class_float>` time, :ref:`float<class_float>` value, :ref:`Vector2<class_vector2>` in_handle=Vector2( 0, 0 ), :ref:`Vector2<class_vector2>` out_handle=Vector2( 0, 0 ) **)**
|
|
|
|
.. _class_Animation_bezier_track_interpolate:
|
|
|
|
- :ref:`float<class_float>` **bezier_track_interpolate** **(** :ref:`int<class_int>` track, :ref:`float<class_float>` time **)** const
|
|
|
|
.. _class_Animation_bezier_track_set_key_in_handle:
|
|
|
|
- void **bezier_track_set_key_in_handle** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`Vector2<class_vector2>` in_handle **)**
|
|
|
|
.. _class_Animation_bezier_track_set_key_out_handle:
|
|
|
|
- void **bezier_track_set_key_out_handle** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`Vector2<class_vector2>` out_handle **)**
|
|
|
|
.. _class_Animation_bezier_track_set_key_value:
|
|
|
|
- void **bezier_track_set_key_value** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` value **)**
|
|
|
|
.. _class_Animation_clear:
|
|
|
|
- void **clear** **(** **)**
|
|
|
|
Clear the animation (clear all tracks and reset all).
|
|
|
|
.. _class_Animation_copy_track:
|
|
|
|
- void **copy_track** **(** :ref:`int<class_int>` track, :ref:`Animation<class_animation>` to_animation **)**
|
|
|
|
Adds a new track that is a copy of the given track from ``to_animation``.
|
|
|
|
.. _class_Animation_find_track:
|
|
|
|
- :ref:`int<class_int>` **find_track** **(** :ref:`NodePath<class_nodepath>` path **)** const
|
|
|
|
Return the index of the specified track. If the track is not found, return -1.
|
|
|
|
.. _class_Animation_get_track_count:
|
|
|
|
- :ref:`int<class_int>` **get_track_count** **(** **)** const
|
|
|
|
Return the amount of tracks in the animation.
|
|
|
|
.. _class_Animation_method_track_get_key_indices:
|
|
|
|
- :ref:`PoolIntArray<class_poolintarray>` **method_track_get_key_indices** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** const
|
|
|
|
Return all the key indices of a method track, given a position and delta time.
|
|
|
|
.. _class_Animation_method_track_get_name:
|
|
|
|
- :ref:`String<class_string>` **method_track_get_name** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
Return the method name of a method track.
|
|
|
|
.. _class_Animation_method_track_get_params:
|
|
|
|
- :ref:`Array<class_array>` **method_track_get_params** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
Return the arguments values to be called on a method track for a given key in a given track.
|
|
|
|
.. _class_Animation_remove_track:
|
|
|
|
- void **remove_track** **(** :ref:`int<class_int>` idx **)**
|
|
|
|
Remove a track by specifying the track index.
|
|
|
|
.. _class_Animation_track_find_key:
|
|
|
|
- :ref:`int<class_int>` **track_find_key** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`bool<class_bool>` exact=false **)** const
|
|
|
|
Find the key index by time in a given track. Optionally, only find it if the exact time is given.
|
|
|
|
.. _class_Animation_track_get_interpolation_loop_wrap:
|
|
|
|
- :ref:`bool<class_bool>` **track_get_interpolation_loop_wrap** **(** :ref:`int<class_int>` idx **)** const
|
|
|
|
Returns ``true`` if the track at ``idx`` wraps the interpolation loop. Default value: ``true``.
|
|
|
|
.. _class_Animation_track_get_interpolation_type:
|
|
|
|
- :ref:`InterpolationType<enum_animation_interpolationtype>` **track_get_interpolation_type** **(** :ref:`int<class_int>` idx **)** const
|
|
|
|
Return the interpolation type of a given track, from the INTERPOLATION\_\* enum.
|
|
|
|
.. _class_Animation_track_get_key_count:
|
|
|
|
- :ref:`int<class_int>` **track_get_key_count** **(** :ref:`int<class_int>` idx **)** const
|
|
|
|
Return the amount of keys in a given track.
|
|
|
|
.. _class_Animation_track_get_key_time:
|
|
|
|
- :ref:`float<class_float>` **track_get_key_time** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
Return the time at which the key is located.
|
|
|
|
.. _class_Animation_track_get_key_transition:
|
|
|
|
- :ref:`float<class_float>` **track_get_key_transition** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
Return the transition curve (easing) for a specific key (see built-in math function "ease").
|
|
|
|
.. _class_Animation_track_get_key_value:
|
|
|
|
- :ref:`Variant<class_variant>` **track_get_key_value** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)** const
|
|
|
|
Return the value of a given key in a given track.
|
|
|
|
.. _class_Animation_track_get_path:
|
|
|
|
- :ref:`NodePath<class_nodepath>` **track_get_path** **(** :ref:`int<class_int>` idx **)** const
|
|
|
|
Get the path of a track. for more information on the path format, see :ref:`track_set_path<class_Animation_track_set_path>`
|
|
|
|
.. _class_Animation_track_get_type:
|
|
|
|
- :ref:`TrackType<enum_animation_tracktype>` **track_get_type** **(** :ref:`int<class_int>` idx **)** const
|
|
|
|
Get the type of a track.
|
|
|
|
.. _class_Animation_track_insert_key:
|
|
|
|
- void **track_insert_key** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`Variant<class_variant>` key, :ref:`float<class_float>` transition=1 **)**
|
|
|
|
Insert a generic key in a given track.
|
|
|
|
.. _class_Animation_track_is_enabled:
|
|
|
|
- :ref:`bool<class_bool>` **track_is_enabled** **(** :ref:`int<class_int>` idx **)** const
|
|
|
|
Returns ``true`` if the track at index ``idx`` is enabled.
|
|
|
|
.. _class_Animation_track_is_imported:
|
|
|
|
- :ref:`bool<class_bool>` **track_is_imported** **(** :ref:`int<class_int>` idx **)** const
|
|
|
|
Return true if the given track is imported. Else, return false.
|
|
|
|
.. _class_Animation_track_move_down:
|
|
|
|
- void **track_move_down** **(** :ref:`int<class_int>` idx **)**
|
|
|
|
Move a track down.
|
|
|
|
.. _class_Animation_track_move_up:
|
|
|
|
- void **track_move_up** **(** :ref:`int<class_int>` idx **)**
|
|
|
|
Move a track up.
|
|
|
|
.. _class_Animation_track_remove_key:
|
|
|
|
- void **track_remove_key** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx **)**
|
|
|
|
Remove a key by index in a given track.
|
|
|
|
.. _class_Animation_track_remove_key_at_position:
|
|
|
|
- void **track_remove_key_at_position** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` position **)**
|
|
|
|
Remove a key by position (seconds) in a given track.
|
|
|
|
.. _class_Animation_track_set_enabled:
|
|
|
|
- void **track_set_enabled** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enabled **)**
|
|
|
|
Enables/disables the given track. Tracks are enabled by default.
|
|
|
|
.. _class_Animation_track_set_imported:
|
|
|
|
- void **track_set_imported** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` imported **)**
|
|
|
|
Set the given track as imported or not.
|
|
|
|
.. _class_Animation_track_set_interpolation_loop_wrap:
|
|
|
|
- void **track_set_interpolation_loop_wrap** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` interpolation **)**
|
|
|
|
If ``true`` the track at ``idx`` wraps the interpolation loop.
|
|
|
|
.. _class_Animation_track_set_interpolation_type:
|
|
|
|
- void **track_set_interpolation_type** **(** :ref:`int<class_int>` idx, :ref:`InterpolationType<enum_animation_interpolationtype>` interpolation **)**
|
|
|
|
Set the interpolation type of a given track, from the INTERPOLATION\_\* enum.
|
|
|
|
.. _class_Animation_track_set_key_transition:
|
|
|
|
- void **track_set_key_transition** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` transition **)**
|
|
|
|
Set the transition curve (easing) for a specific key (see built-in math function "ease").
|
|
|
|
.. _class_Animation_track_set_key_value:
|
|
|
|
- void **track_set_key_value** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` key, :ref:`Variant<class_variant>` value **)**
|
|
|
|
Set the value of an existing key.
|
|
|
|
.. _class_Animation_track_set_path:
|
|
|
|
- void **track_set_path** **(** :ref:`int<class_int>` idx, :ref:`NodePath<class_nodepath>` path **)**
|
|
|
|
Set the path of a track. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by ":".
|
|
|
|
**Example:** "character/skeleton:ankle" or "character/mesh:transform/local".
|
|
|
|
.. _class_Animation_track_swap:
|
|
|
|
- void **track_swap** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` with_idx **)**
|
|
|
|
.. _class_Animation_transform_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **transform_track_insert_key** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time, :ref:`Vector3<class_vector3>` location, :ref:`Quat<class_quat>` rotation, :ref:`Vector3<class_vector3>` scale **)**
|
|
|
|
Insert a transform key for a transform track.
|
|
|
|
.. _class_Animation_transform_track_interpolate:
|
|
|
|
- :ref:`Array<class_array>` **transform_track_interpolate** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec **)** const
|
|
|
|
Return the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position (:ref:`Vector3<class_vector3>`), rotation (:ref:`Quat<class_quat>`) and scale (:ref:`Vector3<class_vector3>`).
|
|
|
|
.. _class_Animation_value_track_get_key_indices:
|
|
|
|
- :ref:`PoolIntArray<class_poolintarray>` **value_track_get_key_indices** **(** :ref:`int<class_int>` idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** const
|
|
|
|
Return all the key indices of a value track, given a position and delta time.
|
|
|
|
.. _class_Animation_value_track_get_update_mode:
|
|
|
|
- :ref:`UpdateMode<enum_animation_updatemode>` **value_track_get_update_mode** **(** :ref:`int<class_int>` idx **)** const
|
|
|
|
Return the update mode of a value track.
|
|
|
|
.. _class_Animation_value_track_set_update_mode:
|
|
|
|
- void **value_track_set_update_mode** **(** :ref:`int<class_int>` idx, :ref:`UpdateMode<enum_animation_updatemode>` mode **)**
|
|
|
|
Set the update mode (UPDATE\_\*) of a value track.
|
|
|
|
|