:github_url: hide .. 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//doc_classes. .. _class_Animation: Animation ========= **Inherits:** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` **Category:** Core Brief Description ----------------- Contains data used to animate everything in the engine. Properties ---------- +---------------------------+------------------------------------------------+ | :ref:`float` | :ref:`length` | +---------------------------+------------------------------------------------+ | :ref:`bool` | :ref:`loop` | +---------------------------+------------------------------------------------+ | :ref:`float` | :ref:`step` | +---------------------------+------------------------------------------------+ Methods ------- +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_track` **(** :ref:`TrackType` type, :ref:`int` at_position=-1 **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`animation_track_get_key_animation` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`animation_track_insert_key` **(** :ref:`int` track, :ref:`float` time, :ref:`String` animation **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`animation_track_set_key_animation` **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`String` animation **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`audio_track_get_key_end_offset` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`audio_track_get_key_start_offset` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Resource` | :ref:`audio_track_get_key_stream` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`audio_track_insert_key` **(** :ref:`int` track, :ref:`float` time, :ref:`Resource` stream, :ref:`float` start_offset=0, :ref:`float` end_offset=0 **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`audio_track_set_key_end_offset` **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`float` offset **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`audio_track_set_key_start_offset` **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`float` offset **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`audio_track_set_key_stream` **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`Resource` stream **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`bezier_track_get_key_in_handle` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`bezier_track_get_key_out_handle` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`bezier_track_get_key_value` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`bezier_track_insert_key` **(** :ref:`int` track, :ref:`float` time, :ref:`float` value, :ref:`Vector2` in_handle=Vector2( 0, 0 ), :ref:`Vector2` out_handle=Vector2( 0, 0 ) **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`bezier_track_interpolate` **(** :ref:`int` track, :ref:`float` time **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`bezier_track_set_key_in_handle` **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`Vector2` in_handle **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`bezier_track_set_key_out_handle` **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`Vector2` out_handle **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`bezier_track_set_key_value` **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`float` value **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`copy_track` **(** :ref:`int` track, :ref:`Animation` to_animation **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_track` **(** :ref:`NodePath` path **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_track_count` **(** **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolIntArray` | :ref:`method_track_get_key_indices` **(** :ref:`int` idx, :ref:`float` time_sec, :ref:`float` delta **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`method_track_get_name` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`method_track_get_params` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_track` **(** :ref:`int` idx **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`track_find_key` **(** :ref:`int` idx, :ref:`float` time, :ref:`bool` exact=false **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_get_interpolation_loop_wrap` **(** :ref:`int` idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`InterpolationType` | :ref:`track_get_interpolation_type` **(** :ref:`int` idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`track_get_key_count` **(** :ref:`int` idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`track_get_key_time` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`track_get_key_transition` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`track_get_key_value` **(** :ref:`int` idx, :ref:`int` key_idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`NodePath` | :ref:`track_get_path` **(** :ref:`int` idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`TrackType` | :ref:`track_get_type` **(** :ref:`int` idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_insert_key` **(** :ref:`int` idx, :ref:`float` time, :ref:`Variant` key, :ref:`float` transition=1 **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_is_enabled` **(** :ref:`int` idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_is_imported` **(** :ref:`int` idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_move_down` **(** :ref:`int` idx **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_move_up` **(** :ref:`int` idx **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_remove_key` **(** :ref:`int` idx, :ref:`int` key_idx **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_remove_key_at_position` **(** :ref:`int` idx, :ref:`float` position **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_set_enabled` **(** :ref:`int` idx, :ref:`bool` enabled **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_set_imported` **(** :ref:`int` idx, :ref:`bool` imported **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_set_interpolation_loop_wrap` **(** :ref:`int` idx, :ref:`bool` interpolation **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_set_interpolation_type` **(** :ref:`int` idx, :ref:`InterpolationType` interpolation **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_set_key_transition` **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`float` transition **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_set_key_value` **(** :ref:`int` idx, :ref:`int` key, :ref:`Variant` value **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_set_path` **(** :ref:`int` idx, :ref:`NodePath` path **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`track_swap` **(** :ref:`int` idx, :ref:`int` with_idx **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`transform_track_insert_key` **(** :ref:`int` idx, :ref:`float` time, :ref:`Vector3` location, :ref:`Quat` rotation, :ref:`Vector3` scale **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`transform_track_interpolate` **(** :ref:`int` idx, :ref:`float` time_sec **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolIntArray` | :ref:`value_track_get_key_indices` **(** :ref:`int` idx, :ref:`float` time_sec, :ref:`float` delta **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`UpdateMode` | :ref:`value_track_get_update_mode` **(** :ref:`int` idx **)** const | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`value_track_set_update_mode` **(** :ref:`int` idx, :ref:`UpdateMode` mode **)** | +------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Signals ------- .. _class_Animation_signal_tracks_changed: - **tracks_changed** **(** **)** Enumerations ------------ .. _enum_Animation_TrackType: .. _class_Animation_constant_TYPE_VALUE: .. _class_Animation_constant_TYPE_TRANSFORM: .. _class_Animation_constant_TYPE_METHOD: .. _class_Animation_constant_TYPE_BEZIER: .. _class_Animation_constant_TYPE_AUDIO: .. _class_Animation_constant_TYPE_ANIMATION: 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** ---- .. _enum_Animation_InterpolationType: .. _class_Animation_constant_INTERPOLATION_NEAREST: .. _class_Animation_constant_INTERPOLATION_LINEAR: .. _class_Animation_constant_INTERPOLATION_CUBIC: enum **InterpolationType**: - **INTERPOLATION_NEAREST** = **0** --- No interpolation (nearest value). - **INTERPOLATION_LINEAR** = **1** --- Linear interpolation. - **INTERPOLATION_CUBIC** = **2** --- Cubic interpolation. ---- .. _enum_Animation_UpdateMode: .. _class_Animation_constant_UPDATE_CONTINUOUS: .. _class_Animation_constant_UPDATE_DISCRETE: .. _class_Animation_constant_UPDATE_TRIGGER: .. _class_Animation_constant_UPDATE_CAPTURE: 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** 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. :: # This creates an animation that makes the node "Enemy" move to the right by # 100 pixels in 1 second. var animation = Animation.new() var track_index = animation.add_track(Animation.TYPE_VALUE) animation.track_set_path(track_index, "Enemy:position.x") animation.track_insert_key(track_index, 0.0, 0) animation.track_insert_key(track_index, 0.5, 100) Animations are just data containers, and must be added to nodes such as an :ref:`AnimationPlayer` or :ref:`AnimationTreePlayer` to be played back. Tutorials --------- - :doc:`../tutorials/animation/index` Property Descriptions --------------------- .. _class_Animation_property_length: - :ref:`float` **length** +----------+-------------------+ | *Setter* | set_length(value) | +----------+-------------------+ | *Getter* | get_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_property_loop: - :ref:`bool` **loop** +----------+-----------------+ | *Setter* | set_loop(value) | +----------+-----------------+ | *Getter* | has_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_property_step: - :ref:`float` **step** +----------+-----------------+ | *Setter* | set_step(value) | +----------+-----------------+ | *Getter* | get_step() | +----------+-----------------+ The animation step value. Method Descriptions ------------------- .. _class_Animation_method_add_track: - :ref:`int` **add_track** **(** :ref:`TrackType` type, :ref:`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_method_animation_track_get_key_animation: - :ref:`String` **animation_track_get_key_animation** **(** :ref:`int` idx, :ref:`int` key_idx **)** const ---- .. _class_Animation_method_animation_track_insert_key: - :ref:`int` **animation_track_insert_key** **(** :ref:`int` track, :ref:`float` time, :ref:`String` animation **)** ---- .. _class_Animation_method_animation_track_set_key_animation: - void **animation_track_set_key_animation** **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`String` animation **)** ---- .. _class_Animation_method_audio_track_get_key_end_offset: - :ref:`float` **audio_track_get_key_end_offset** **(** :ref:`int` idx, :ref:`int` key_idx **)** const ---- .. _class_Animation_method_audio_track_get_key_start_offset: - :ref:`float` **audio_track_get_key_start_offset** **(** :ref:`int` idx, :ref:`int` key_idx **)** const ---- .. _class_Animation_method_audio_track_get_key_stream: - :ref:`Resource` **audio_track_get_key_stream** **(** :ref:`int` idx, :ref:`int` key_idx **)** const ---- .. _class_Animation_method_audio_track_insert_key: - :ref:`int` **audio_track_insert_key** **(** :ref:`int` track, :ref:`float` time, :ref:`Resource` stream, :ref:`float` start_offset=0, :ref:`float` end_offset=0 **)** ---- .. _class_Animation_method_audio_track_set_key_end_offset: - void **audio_track_set_key_end_offset** **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`float` offset **)** ---- .. _class_Animation_method_audio_track_set_key_start_offset: - void **audio_track_set_key_start_offset** **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`float` offset **)** ---- .. _class_Animation_method_audio_track_set_key_stream: - void **audio_track_set_key_stream** **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`Resource` stream **)** ---- .. _class_Animation_method_bezier_track_get_key_in_handle: - :ref:`Vector2` **bezier_track_get_key_in_handle** **(** :ref:`int` idx, :ref:`int` key_idx **)** const ---- .. _class_Animation_method_bezier_track_get_key_out_handle: - :ref:`Vector2` **bezier_track_get_key_out_handle** **(** :ref:`int` idx, :ref:`int` key_idx **)** const ---- .. _class_Animation_method_bezier_track_get_key_value: - :ref:`float` **bezier_track_get_key_value** **(** :ref:`int` idx, :ref:`int` key_idx **)** const ---- .. _class_Animation_method_bezier_track_insert_key: - :ref:`int` **bezier_track_insert_key** **(** :ref:`int` track, :ref:`float` time, :ref:`float` value, :ref:`Vector2` in_handle=Vector2( 0, 0 ), :ref:`Vector2` out_handle=Vector2( 0, 0 ) **)** ---- .. _class_Animation_method_bezier_track_interpolate: - :ref:`float` **bezier_track_interpolate** **(** :ref:`int` track, :ref:`float` time **)** const ---- .. _class_Animation_method_bezier_track_set_key_in_handle: - void **bezier_track_set_key_in_handle** **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`Vector2` in_handle **)** ---- .. _class_Animation_method_bezier_track_set_key_out_handle: - void **bezier_track_set_key_out_handle** **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`Vector2` out_handle **)** ---- .. _class_Animation_method_bezier_track_set_key_value: - void **bezier_track_set_key_value** **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`float` value **)** ---- .. _class_Animation_method_clear: - void **clear** **(** **)** Clear the animation (clear all tracks and reset all). ---- .. _class_Animation_method_copy_track: - void **copy_track** **(** :ref:`int` track, :ref:`Animation` to_animation **)** Adds a new track that is a copy of the given track from ``to_animation``. ---- .. _class_Animation_method_find_track: - :ref:`int` **find_track** **(** :ref:`NodePath` path **)** const Returns the index of the specified track. If the track is not found, return -1. ---- .. _class_Animation_method_get_track_count: - :ref:`int` **get_track_count** **(** **)** const Returns the amount of tracks in the animation. ---- .. _class_Animation_method_method_track_get_key_indices: - :ref:`PoolIntArray` **method_track_get_key_indices** **(** :ref:`int` idx, :ref:`float` time_sec, :ref:`float` delta **)** const Returns all the key indices of a method track, given a position and delta time. ---- .. _class_Animation_method_method_track_get_name: - :ref:`String` **method_track_get_name** **(** :ref:`int` idx, :ref:`int` key_idx **)** const Returns the method name of a method track. ---- .. _class_Animation_method_method_track_get_params: - :ref:`Array` **method_track_get_params** **(** :ref:`int` idx, :ref:`int` key_idx **)** const Returns the arguments values to be called on a method track for a given key in a given track. ---- .. _class_Animation_method_remove_track: - void **remove_track** **(** :ref:`int` idx **)** Remove a track by specifying the track index. ---- .. _class_Animation_method_track_find_key: - :ref:`int` **track_find_key** **(** :ref:`int` idx, :ref:`float` time, :ref:`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_method_track_get_interpolation_loop_wrap: - :ref:`bool` **track_get_interpolation_loop_wrap** **(** :ref:`int` idx **)** const Returns ``true`` if the track at ``idx`` wraps the interpolation loop. Default value: ``true``. ---- .. _class_Animation_method_track_get_interpolation_type: - :ref:`InterpolationType` **track_get_interpolation_type** **(** :ref:`int` idx **)** const Returns the interpolation type of a given track, from the INTERPOLATION\_\* enum. ---- .. _class_Animation_method_track_get_key_count: - :ref:`int` **track_get_key_count** **(** :ref:`int` idx **)** const Returns the amount of keys in a given track. ---- .. _class_Animation_method_track_get_key_time: - :ref:`float` **track_get_key_time** **(** :ref:`int` idx, :ref:`int` key_idx **)** const Returns the time at which the key is located. ---- .. _class_Animation_method_track_get_key_transition: - :ref:`float` **track_get_key_transition** **(** :ref:`int` idx, :ref:`int` key_idx **)** const Returns the transition curve (easing) for a specific key (see built-in math function "ease"). ---- .. _class_Animation_method_track_get_key_value: - :ref:`Variant` **track_get_key_value** **(** :ref:`int` idx, :ref:`int` key_idx **)** const Returns the value of a given key in a given track. ---- .. _class_Animation_method_track_get_path: - :ref:`NodePath` **track_get_path** **(** :ref:`int` idx **)** const Get the path of a track. for more information on the path format, see :ref:`track_set_path` ---- .. _class_Animation_method_track_get_type: - :ref:`TrackType` **track_get_type** **(** :ref:`int` idx **)** const Get the type of a track. ---- .. _class_Animation_method_track_insert_key: - void **track_insert_key** **(** :ref:`int` idx, :ref:`float` time, :ref:`Variant` key, :ref:`float` transition=1 **)** Insert a generic key in a given track. ---- .. _class_Animation_method_track_is_enabled: - :ref:`bool` **track_is_enabled** **(** :ref:`int` idx **)** const Returns ``true`` if the track at index ``idx`` is enabled. ---- .. _class_Animation_method_track_is_imported: - :ref:`bool` **track_is_imported** **(** :ref:`int` idx **)** const Returns ``true`` if the given track is imported. Else, return ``false``. ---- .. _class_Animation_method_track_move_down: - void **track_move_down** **(** :ref:`int` idx **)** Move a track down. ---- .. _class_Animation_method_track_move_up: - void **track_move_up** **(** :ref:`int` idx **)** Move a track up. ---- .. _class_Animation_method_track_remove_key: - void **track_remove_key** **(** :ref:`int` idx, :ref:`int` key_idx **)** Remove a key by index in a given track. ---- .. _class_Animation_method_track_remove_key_at_position: - void **track_remove_key_at_position** **(** :ref:`int` idx, :ref:`float` position **)** Remove a key by position (seconds) in a given track. ---- .. _class_Animation_method_track_set_enabled: - void **track_set_enabled** **(** :ref:`int` idx, :ref:`bool` enabled **)** Enables/disables the given track. Tracks are enabled by default. ---- .. _class_Animation_method_track_set_imported: - void **track_set_imported** **(** :ref:`int` idx, :ref:`bool` imported **)** Set the given track as imported or not. ---- .. _class_Animation_method_track_set_interpolation_loop_wrap: - void **track_set_interpolation_loop_wrap** **(** :ref:`int` idx, :ref:`bool` interpolation **)** If ``true``, the track at ``idx`` wraps the interpolation loop. ---- .. _class_Animation_method_track_set_interpolation_type: - void **track_set_interpolation_type** **(** :ref:`int` idx, :ref:`InterpolationType` interpolation **)** Set the interpolation type of a given track, from the INTERPOLATION\_\* enum. ---- .. _class_Animation_method_track_set_key_transition: - void **track_set_key_transition** **(** :ref:`int` idx, :ref:`int` key_idx, :ref:`float` transition **)** Set the transition curve (easing) for a specific key (see built-in math function "ease"). ---- .. _class_Animation_method_track_set_key_value: - void **track_set_key_value** **(** :ref:`int` idx, :ref:`int` key, :ref:`Variant` value **)** Set the value of an existing key. ---- .. _class_Animation_method_track_set_path: - void **track_set_path** **(** :ref:`int` idx, :ref:`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_method_track_swap: - void **track_swap** **(** :ref:`int` idx, :ref:`int` with_idx **)** ---- .. _class_Animation_method_transform_track_insert_key: - :ref:`int` **transform_track_insert_key** **(** :ref:`int` idx, :ref:`float` time, :ref:`Vector3` location, :ref:`Quat` rotation, :ref:`Vector3` scale **)** Insert a transform key for a transform track. ---- .. _class_Animation_method_transform_track_interpolate: - :ref:`Array` **transform_track_interpolate** **(** :ref:`int` idx, :ref:`float` time_sec **)** const Returns the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position (:ref:`Vector3`), rotation (:ref:`Quat`) and scale (:ref:`Vector3`). ---- .. _class_Animation_method_value_track_get_key_indices: - :ref:`PoolIntArray` **value_track_get_key_indices** **(** :ref:`int` idx, :ref:`float` time_sec, :ref:`float` delta **)** const Returns all the key indices of a value track, given a position and delta time. ---- .. _class_Animation_method_value_track_get_update_mode: - :ref:`UpdateMode` **value_track_get_update_mode** **(** :ref:`int` idx **)** const Returns the update mode of a value track. ---- .. _class_Animation_method_value_track_set_update_mode: - void **value_track_set_update_mode** **(** :ref:`int` idx, :ref:`UpdateMode` mode **)** Set the update mode (UPDATE\_\*) of a value track.