mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-05 22:09:56 +03:00
900 lines
81 KiB
ReStructuredText
900 lines
81 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. DO NOT EDIT THIS FILE!!!
|
|
.. Generated automatically from Godot engine sources.
|
|
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
|
|
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Animation.xml.
|
|
|
|
.. _class_Animation:
|
|
|
|
Animation
|
|
=========
|
|
|
|
**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
|
|
|
Contains data used to animate everything in the engine.
|
|
|
|
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.
|
|
|
|
|
|
.. tabs::
|
|
|
|
.. code-tab:: gdscript
|
|
|
|
# This creates an animation that makes the node "Enemy" move to the right by
|
|
# 100 pixels in 0.5 seconds.
|
|
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)
|
|
|
|
.. code-tab:: csharp
|
|
|
|
// This creates an animation that makes the node "Enemy" move to the right by
|
|
// 100 pixels in 0.5 seconds.
|
|
var animation = new Animation();
|
|
int trackIndex = animation.AddTrack(Animation.TrackType.Value);
|
|
animation.TrackSetPath(trackIndex, "Enemy:position:x");
|
|
animation.TrackInsertKey(trackIndex, 0.0f, 0);
|
|
animation.TrackInsertKey(trackIndex, 0.5f, 100);
|
|
|
|
|
|
|
|
Animations are just data containers, and must be added to nodes such as an :ref:`AnimationPlayer<class_AnimationPlayer>` to be played back. Animation tracks have different types, each with its own set of dedicated methods. Check :ref:`TrackType<enum_Animation_TrackType>` to see available types.
|
|
|
|
Tutorials
|
|
---------
|
|
|
|
- :doc:`Animation documentation index <../tutorials/animation/index>`
|
|
|
|
Properties
|
|
----------
|
|
|
|
+------------------------------------------+------------------------------------------------------+---------+
|
|
| :ref:`float<class_float>` | :ref:`length<class_Animation_property_length>` | ``1.0`` |
|
|
+------------------------------------------+------------------------------------------------------+---------+
|
|
| :ref:`LoopMode<enum_Animation_LoopMode>` | :ref:`loop_mode<class_Animation_property_loop_mode>` | ``0`` |
|
|
+------------------------------------------+------------------------------------------------------+---------+
|
|
| :ref:`float<class_float>` | :ref:`step<class_Animation_property_step>` | ``0.1`` |
|
|
+------------------------------------------+------------------------------------------------------+---------+
|
|
|
|
Methods
|
|
-------
|
|
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`add_track<class_Animation_method_add_track>` **(** :ref:`TrackType<enum_Animation_TrackType>` type, :ref:`int<class_int>` at_position=-1 **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`StringName<class_StringName>` | :ref:`animation_track_get_key_animation<class_Animation_method_animation_track_get_key_animation>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`animation_track_insert_key<class_Animation_method_animation_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`StringName<class_StringName>` animation **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`animation_track_set_key_animation<class_Animation_method_animation_track_set_key_animation>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`StringName<class_StringName>` animation **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`audio_track_get_key_end_offset<class_Animation_method_audio_track_get_key_end_offset>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`audio_track_get_key_start_offset<class_Animation_method_audio_track_get_key_start_offset>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Resource<class_Resource>` | :ref:`audio_track_get_key_stream<class_Animation_method_audio_track_get_key_stream>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`audio_track_insert_key<class_Animation_method_audio_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :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_method_audio_track_set_key_end_offset>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` offset **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`audio_track_set_key_start_offset<class_Animation_method_audio_track_set_key_start_offset>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` offset **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`audio_track_set_key_stream<class_Animation_method_audio_track_set_key_stream>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`Resource<class_Resource>` stream **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`bezier_track_get_key_handle_mode<class_Animation_method_bezier_track_get_key_handle_mode>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector2<class_Vector2>` | :ref:`bezier_track_get_key_in_handle<class_Animation_method_bezier_track_get_key_in_handle>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector2<class_Vector2>` | :ref:`bezier_track_get_key_out_handle<class_Animation_method_bezier_track_get_key_out_handle>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`bezier_track_get_key_value<class_Animation_method_bezier_track_get_key_value>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`bezier_track_insert_key<class_Animation_method_bezier_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :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:`HandleMode<enum_Animation_HandleMode>` handle_mode=1 **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`bezier_track_interpolate<class_Animation_method_bezier_track_interpolate>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`bezier_track_set_key_handle_mode<class_Animation_method_bezier_track_set_key_handle_mode>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`HandleMode<enum_Animation_HandleMode>` key_handle_mode, :ref:`float<class_float>` balanced_value_time_ratio=1.0 **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`bezier_track_set_key_in_handle<class_Animation_method_bezier_track_set_key_in_handle>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`Vector2<class_Vector2>` in_handle, :ref:`float<class_float>` balanced_value_time_ratio=1.0 **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`bezier_track_set_key_out_handle<class_Animation_method_bezier_track_set_key_out_handle>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`Vector2<class_Vector2>` out_handle, :ref:`float<class_float>` balanced_value_time_ratio=1.0 **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`bezier_track_set_key_value<class_Animation_method_bezier_track_set_key_value>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` value **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`blend_shape_track_insert_key<class_Animation_method_blend_shape_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`float<class_float>` amount **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`clear<class_Animation_method_clear>` **(** **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`compress<class_Animation_method_compress>` **(** :ref:`int<class_int>` page_size=8192, :ref:`int<class_int>` fps=120, :ref:`float<class_float>` split_tolerance=4.0 **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`copy_track<class_Animation_method_copy_track>` **(** :ref:`int<class_int>` track_idx, :ref:`Animation<class_Animation>` to_animation **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`find_track<class_Animation_method_find_track>` **(** :ref:`NodePath<class_NodePath>` path, :ref:`TrackType<enum_Animation_TrackType>` type **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`get_track_count<class_Animation_method_get_track_count>` **(** **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`method_track_get_key_indices<class_Animation_method_method_track_get_key_indices>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec, :ref:`float<class_float>` delta **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`StringName<class_StringName>` | :ref:`method_track_get_name<class_Animation_method_method_track_get_name>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Array<class_Array>` | :ref:`method_track_get_params<class_Animation_method_method_track_get_params>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`position_track_insert_key<class_Animation_method_position_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` position **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`remove_track<class_Animation_method_remove_track>` **(** :ref:`int<class_int>` track_idx **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`rotation_track_insert_key<class_Animation_method_rotation_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Quaternion<class_Quaternion>` rotation **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`scale_track_insert_key<class_Animation_method_scale_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` scale **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`track_find_key<class_Animation_method_track_find_key>` **(** :ref:`int<class_int>` track_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_method_track_get_interpolation_loop_wrap>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`InterpolationType<enum_Animation_InterpolationType>` | :ref:`track_get_interpolation_type<class_Animation_method_track_get_interpolation_type>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`int<class_int>` | :ref:`track_get_key_count<class_Animation_method_track_get_key_count>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`track_get_key_time<class_Animation_method_track_get_key_time>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`float<class_float>` | :ref:`track_get_key_transition<class_Animation_method_track_get_key_transition>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Variant<class_Variant>` | :ref:`track_get_key_value<class_Animation_method_track_get_key_value>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`NodePath<class_NodePath>` | :ref:`track_get_path<class_Animation_method_track_get_path>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`TrackType<enum_Animation_TrackType>` | :ref:`track_get_type<class_Animation_method_track_get_type>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_insert_key<class_Animation_method_track_insert_key>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Variant<class_Variant>` key, :ref:`float<class_float>` transition=1 **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`track_is_compressed<class_Animation_method_track_is_compressed>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`track_is_enabled<class_Animation_method_track_is_enabled>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`track_is_imported<class_Animation_method_track_is_imported>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_move_down<class_Animation_method_track_move_down>` **(** :ref:`int<class_int>` track_idx **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_move_to<class_Animation_method_track_move_to>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` to_idx **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_move_up<class_Animation_method_track_move_up>` **(** :ref:`int<class_int>` track_idx **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_remove_key<class_Animation_method_track_remove_key>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_remove_key_at_time<class_Animation_method_track_remove_key_at_time>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_enabled<class_Animation_method_track_set_enabled>` **(** :ref:`int<class_int>` track_idx, :ref:`bool<class_bool>` enabled **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_imported<class_Animation_method_track_set_imported>` **(** :ref:`int<class_int>` track_idx, :ref:`bool<class_bool>` imported **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_interpolation_loop_wrap<class_Animation_method_track_set_interpolation_loop_wrap>` **(** :ref:`int<class_int>` track_idx, :ref:`bool<class_bool>` interpolation **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_interpolation_type<class_Animation_method_track_set_interpolation_type>` **(** :ref:`int<class_int>` track_idx, :ref:`InterpolationType<enum_Animation_InterpolationType>` interpolation **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_key_time<class_Animation_method_track_set_key_time>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` time **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_key_transition<class_Animation_method_track_set_key_transition>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` transition **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_key_value<class_Animation_method_track_set_key_value>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key, :ref:`Variant<class_Variant>` value **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_set_path<class_Animation_method_track_set_path>` **(** :ref:`int<class_int>` track_idx, :ref:`NodePath<class_NodePath>` path **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`track_swap<class_Animation_method_track_swap>` **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` with_idx **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`value_track_get_key_indices<class_Animation_method_value_track_get_key_indices>` **(** :ref:`int<class_int>` track_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_method_value_track_get_update_mode>` **(** :ref:`int<class_int>` track_idx **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Variant<class_Variant>` | :ref:`value_track_interpolate<class_Animation_method_value_track_interpolate>` **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec **)** |const| |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| void | :ref:`value_track_set_update_mode<class_Animation_method_value_track_set_update_mode>` **(** :ref:`int<class_int>` track_idx, :ref:`UpdateMode<enum_Animation_UpdateMode>` mode **)** |
|
|
+------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
Signals
|
|
-------
|
|
|
|
.. _class_Animation_signal_tracks_changed:
|
|
|
|
- **tracks_changed** **(** **)**
|
|
|
|
Emitted when there's a change in the list of tracks, e.g. tracks are added, moved or have changed paths.
|
|
|
|
Enumerations
|
|
------------
|
|
|
|
.. _enum_Animation_TrackType:
|
|
|
|
.. _class_Animation_constant_TYPE_VALUE:
|
|
|
|
.. _class_Animation_constant_TYPE_POSITION_3D:
|
|
|
|
.. _class_Animation_constant_TYPE_ROTATION_3D:
|
|
|
|
.. _class_Animation_constant_TYPE_SCALE_3D:
|
|
|
|
.. _class_Animation_constant_TYPE_BLEND_SHAPE:
|
|
|
|
.. _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_POSITION_3D** = **1**
|
|
|
|
- **TYPE_ROTATION_3D** = **2**
|
|
|
|
- **TYPE_SCALE_3D** = **3**
|
|
|
|
- **TYPE_BLEND_SHAPE** = **4**
|
|
|
|
- **TYPE_METHOD** = **5** --- Method tracks call functions with given arguments per key.
|
|
|
|
- **TYPE_BEZIER** = **6** --- Bezier tracks are used to interpolate a value using custom curves. They can also be used to animate sub-properties of vectors and colors (e.g. alpha value of a :ref:`Color<class_Color>`).
|
|
|
|
- **TYPE_AUDIO** = **7** --- Audio tracks are used to play an audio stream with either type of :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`. The stream can be trimmed and previewed in the animation.
|
|
|
|
- **TYPE_ANIMATION** = **8** --- Animation tracks play animations in other :ref:`AnimationPlayer<class_AnimationPlayer>` nodes.
|
|
|
|
----
|
|
|
|
.. _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** --- Same as linear interpolation, but also interpolates from the current value (i.e. dynamically at runtime) if the first key isn't at 0 seconds.
|
|
|
|
----
|
|
|
|
.. _enum_Animation_LoopMode:
|
|
|
|
.. _class_Animation_constant_LOOP_NONE:
|
|
|
|
.. _class_Animation_constant_LOOP_LINEAR:
|
|
|
|
.. _class_Animation_constant_LOOP_PINGPONG:
|
|
|
|
enum **LoopMode**:
|
|
|
|
- **LOOP_NONE** = **0** --- At both ends of the animation, the animation will stop playing.
|
|
|
|
- **LOOP_LINEAR** = **1** --- At both ends of the animation, the animation will be repeated without changing the playback direction.
|
|
|
|
- **LOOP_PINGPONG** = **2** --- Repeats playback and reverse playback at both ends of the animation.
|
|
|
|
----
|
|
|
|
.. _enum_Animation_HandleMode:
|
|
|
|
.. _class_Animation_constant_HANDLE_MODE_FREE:
|
|
|
|
.. _class_Animation_constant_HANDLE_MODE_BALANCED:
|
|
|
|
enum **HandleMode**:
|
|
|
|
- **HANDLE_MODE_FREE** = **0** --- Assigning the free handle mode to a Bezier Track's keyframe allows you to edit the keyframe's left and right handles independently from one another.
|
|
|
|
- **HANDLE_MODE_BALANCED** = **1** --- Assigning the balanced handle mode to a Bezier Track's keyframe makes it so the two handles of the keyframe always stay aligned when changing either the keyframe's left or right handle.
|
|
|
|
Property Descriptions
|
|
---------------------
|
|
|
|
.. _class_Animation_property_length:
|
|
|
|
- :ref:`float<class_float>` **length**
|
|
|
|
+-----------+-------------------+
|
|
| *Default* | ``1.0`` |
|
|
+-----------+-------------------+
|
|
| *Setter* | set_length(value) |
|
|
+-----------+-------------------+
|
|
| *Getter* | get_length() |
|
|
+-----------+-------------------+
|
|
|
|
The total length of the animation (in seconds).
|
|
|
|
\ **Note:** 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_mode:
|
|
|
|
- :ref:`LoopMode<enum_Animation_LoopMode>` **loop_mode**
|
|
|
|
+-----------+----------------------+
|
|
| *Default* | ``0`` |
|
|
+-----------+----------------------+
|
|
| *Setter* | set_loop_mode(value) |
|
|
+-----------+----------------------+
|
|
| *Getter* | get_loop_mode() |
|
|
+-----------+----------------------+
|
|
|
|
Determines the behavior of both ends of the animation timeline during animation playback. This is used for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.
|
|
|
|
----
|
|
|
|
.. _class_Animation_property_step:
|
|
|
|
- :ref:`float<class_float>` **step**
|
|
|
|
+-----------+-----------------+
|
|
| *Default* | ``0.1`` |
|
|
+-----------+-----------------+
|
|
| *Setter* | set_step(value) |
|
|
+-----------+-----------------+
|
|
| *Getter* | get_step() |
|
|
+-----------+-----------------+
|
|
|
|
The animation step value.
|
|
|
|
Method Descriptions
|
|
-------------------
|
|
|
|
.. _class_Animation_method_add_track:
|
|
|
|
- :ref:`int<class_int>` **add_track** **(** :ref:`TrackType<enum_Animation_TrackType>` type, :ref:`int<class_int>` at_position=-1 **)**
|
|
|
|
Adds a track to the Animation.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_animation_track_get_key_animation:
|
|
|
|
- :ref:`StringName<class_StringName>` **animation_track_get_key_animation** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the animation name at the key identified by ``key_idx``. The ``track_idx`` must be the index of an Animation Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_animation_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **animation_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`StringName<class_StringName>` animation **)**
|
|
|
|
Inserts a key with value ``animation`` at the given ``time`` (in seconds). The ``track_idx`` must be the index of an Animation Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_animation_track_set_key_animation:
|
|
|
|
- void **animation_track_set_key_animation** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`StringName<class_StringName>` animation **)**
|
|
|
|
Sets the key identified by ``key_idx`` to value ``animation``. The ``track_idx`` must be the index of an Animation Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_audio_track_get_key_end_offset:
|
|
|
|
- :ref:`float<class_float>` **audio_track_get_key_end_offset** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the end offset of the key identified by ``key_idx``. The ``track_idx`` must be the index of an Audio Track.
|
|
|
|
End offset is the number of seconds cut off at the ending of the audio stream.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_audio_track_get_key_start_offset:
|
|
|
|
- :ref:`float<class_float>` **audio_track_get_key_start_offset** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the start offset of the key identified by ``key_idx``. The ``track_idx`` must be the index of an Audio Track.
|
|
|
|
Start offset is the number of seconds cut off at the beginning of the audio stream.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_audio_track_get_key_stream:
|
|
|
|
- :ref:`Resource<class_Resource>` **audio_track_get_key_stream** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the audio stream of the key identified by ``key_idx``. The ``track_idx`` must be the index of an Audio Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_audio_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **audio_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Resource<class_Resource>` stream, :ref:`float<class_float>` start_offset=0, :ref:`float<class_float>` end_offset=0 **)**
|
|
|
|
Inserts an Audio Track key at the given ``time`` in seconds. The ``track_idx`` must be the index of an Audio Track.
|
|
|
|
\ ``stream`` is the :ref:`AudioStream<class_AudioStream>` resource to play. ``start_offset`` is the number of seconds cut off at the beginning of the audio stream, while ``end_offset`` is at the ending.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_audio_track_set_key_end_offset:
|
|
|
|
- void **audio_track_set_key_end_offset** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` offset **)**
|
|
|
|
Sets the end offset of the key identified by ``key_idx`` to value ``offset``. The ``track_idx`` must be the index of an Audio Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_audio_track_set_key_start_offset:
|
|
|
|
- void **audio_track_set_key_start_offset** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` offset **)**
|
|
|
|
Sets the start offset of the key identified by ``key_idx`` to value ``offset``. The ``track_idx`` must be the index of an Audio Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_audio_track_set_key_stream:
|
|
|
|
- void **audio_track_set_key_stream** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`Resource<class_Resource>` stream **)**
|
|
|
|
Sets the stream of the key identified by ``key_idx`` to value ``stream``. The ``track_idx`` must be the index of an Audio Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_get_key_handle_mode:
|
|
|
|
- :ref:`int<class_int>` **bezier_track_get_key_handle_mode** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the handle mode of the key identified by ``index``. See :ref:`HandleMode<enum_Animation_HandleMode>` for possible values. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_get_key_in_handle:
|
|
|
|
- :ref:`Vector2<class_Vector2>` **bezier_track_get_key_in_handle** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the in handle of the key identified by ``key_idx``. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_get_key_out_handle:
|
|
|
|
- :ref:`Vector2<class_Vector2>` **bezier_track_get_key_out_handle** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the out handle of the key identified by ``key_idx``. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_get_key_value:
|
|
|
|
- :ref:`float<class_float>` **bezier_track_get_key_value** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the value of the key identified by ``key_idx``. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **bezier_track_insert_key** **(** :ref:`int<class_int>` track_idx, :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:`HandleMode<enum_Animation_HandleMode>` handle_mode=1 **)**
|
|
|
|
Inserts a Bezier Track key at the given ``time`` in seconds. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
\ ``in_handle`` is the left-side weight of the added Bezier curve point, ``out_handle`` is the right-side one, while ``value`` is the actual value at this point.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_interpolate:
|
|
|
|
- :ref:`float<class_float>` **bezier_track_interpolate** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time **)** |const|
|
|
|
|
Returns the interpolated value at the given ``time`` (in seconds). The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_set_key_handle_mode:
|
|
|
|
- void **bezier_track_set_key_handle_mode** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`HandleMode<enum_Animation_HandleMode>` key_handle_mode, :ref:`float<class_float>` balanced_value_time_ratio=1.0 **)**
|
|
|
|
Changes the handle mode of the keyframe at the given ``index``. See :ref:`HandleMode<enum_Animation_HandleMode>` for possible values. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_set_key_in_handle:
|
|
|
|
- void **bezier_track_set_key_in_handle** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`Vector2<class_Vector2>` in_handle, :ref:`float<class_float>` balanced_value_time_ratio=1.0 **)**
|
|
|
|
Sets the in handle of the key identified by ``key_idx`` to value ``in_handle``. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_set_key_out_handle:
|
|
|
|
- void **bezier_track_set_key_out_handle** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`Vector2<class_Vector2>` out_handle, :ref:`float<class_float>` balanced_value_time_ratio=1.0 **)**
|
|
|
|
Sets the out handle of the key identified by ``key_idx`` to value ``out_handle``. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_bezier_track_set_key_value:
|
|
|
|
- void **bezier_track_set_key_value** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` value **)**
|
|
|
|
Sets the value of the key identified by ``key_idx`` to the given value. The ``track_idx`` must be the index of a Bezier Track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_blend_shape_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **blend_shape_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`float<class_float>` amount **)**
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_clear:
|
|
|
|
- void **clear** **(** **)**
|
|
|
|
Clear the animation (clear all tracks and reset all).
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_compress:
|
|
|
|
- void **compress** **(** :ref:`int<class_int>` page_size=8192, :ref:`int<class_int>` fps=120, :ref:`float<class_float>` split_tolerance=4.0 **)**
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_copy_track:
|
|
|
|
- void **copy_track** **(** :ref:`int<class_int>` track_idx, :ref:`Animation<class_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<class_int>` **find_track** **(** :ref:`NodePath<class_NodePath>` path, :ref:`TrackType<enum_Animation_TrackType>` type **)** |const|
|
|
|
|
Returns the index of the specified track. If the track is not found, return -1.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_get_track_count:
|
|
|
|
- :ref:`int<class_int>` **get_track_count** **(** **)** |const|
|
|
|
|
Returns the amount of tracks in the animation.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_method_track_get_key_indices:
|
|
|
|
- :ref:`PackedInt32Array<class_PackedInt32Array>` **method_track_get_key_indices** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec, :ref:`float<class_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:`StringName<class_StringName>` **method_track_get_name** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the method name of a method track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_method_track_get_params:
|
|
|
|
- :ref:`Array<class_Array>` **method_track_get_params** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_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_position_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **position_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` position **)**
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_remove_track:
|
|
|
|
- void **remove_track** **(** :ref:`int<class_int>` track_idx **)**
|
|
|
|
Removes a track by specifying the track index.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_rotation_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **rotation_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Quaternion<class_Quaternion>` rotation **)**
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_scale_track_insert_key:
|
|
|
|
- :ref:`int<class_int>` **scale_track_insert_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`Vector3<class_Vector3>` scale **)**
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_find_key:
|
|
|
|
- :ref:`int<class_int>` **track_find_key** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time, :ref:`bool<class_bool>` exact=false **)** |const|
|
|
|
|
Finds 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<class_bool>` **track_get_interpolation_loop_wrap** **(** :ref:`int<class_int>` track_idx **)** |const|
|
|
|
|
Returns ``true`` if the track at ``idx`` wraps the interpolation loop. New tracks wrap the interpolation loop by default.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_get_interpolation_type:
|
|
|
|
- :ref:`InterpolationType<enum_Animation_InterpolationType>` **track_get_interpolation_type** **(** :ref:`int<class_int>` track_idx **)** |const|
|
|
|
|
Returns the interpolation type of a given track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_get_key_count:
|
|
|
|
- :ref:`int<class_int>` **track_get_key_count** **(** :ref:`int<class_int>` track_idx **)** |const|
|
|
|
|
Returns the amount of keys in a given track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_get_key_time:
|
|
|
|
- :ref:`float<class_float>` **track_get_key_time** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the time at which the key is located.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_get_key_transition:
|
|
|
|
- :ref:`float<class_float>` **track_get_key_transition** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the transition curve (easing) for a specific key (see the built-in math function :ref:`@GlobalScope.ease<class_@GlobalScope_method_ease>`).
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_get_key_value:
|
|
|
|
- :ref:`Variant<class_Variant>` **track_get_key_value** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)** |const|
|
|
|
|
Returns the value of a given key in a given track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_get_path:
|
|
|
|
- :ref:`NodePath<class_NodePath>` **track_get_path** **(** :ref:`int<class_int>` track_idx **)** |const|
|
|
|
|
Gets the path of a track. For more information on the path format, see :ref:`track_set_path<class_Animation_method_track_set_path>`.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_get_type:
|
|
|
|
- :ref:`TrackType<enum_Animation_TrackType>` **track_get_type** **(** :ref:`int<class_int>` track_idx **)** |const|
|
|
|
|
Gets the type of a track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_insert_key:
|
|
|
|
- void **track_insert_key** **(** :ref:`int<class_int>` track_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_method_track_is_compressed:
|
|
|
|
- :ref:`bool<class_bool>` **track_is_compressed** **(** :ref:`int<class_int>` track_idx **)** |const|
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_is_enabled:
|
|
|
|
- :ref:`bool<class_bool>` **track_is_enabled** **(** :ref:`int<class_int>` track_idx **)** |const|
|
|
|
|
Returns ``true`` if the track at index ``idx`` is enabled.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_is_imported:
|
|
|
|
- :ref:`bool<class_bool>` **track_is_imported** **(** :ref:`int<class_int>` track_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<class_int>` track_idx **)**
|
|
|
|
Moves a track down.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_move_to:
|
|
|
|
- void **track_move_to** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` to_idx **)**
|
|
|
|
Changes the index position of track ``idx`` to the one defined in ``to_idx``.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_move_up:
|
|
|
|
- void **track_move_up** **(** :ref:`int<class_int>` track_idx **)**
|
|
|
|
Moves a track up.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_remove_key:
|
|
|
|
- void **track_remove_key** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx **)**
|
|
|
|
Removes a key by index in a given track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_remove_key_at_time:
|
|
|
|
- void **track_remove_key_at_time** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time **)**
|
|
|
|
Removes a key at ``time`` in a given track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_set_enabled:
|
|
|
|
- void **track_set_enabled** **(** :ref:`int<class_int>` track_idx, :ref:`bool<class_bool>` enabled **)**
|
|
|
|
Enables/disables the given track. Tracks are enabled by default.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_set_imported:
|
|
|
|
- void **track_set_imported** **(** :ref:`int<class_int>` track_idx, :ref:`bool<class_bool>` imported **)**
|
|
|
|
Sets the given track as imported or not.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_set_interpolation_loop_wrap:
|
|
|
|
- void **track_set_interpolation_loop_wrap** **(** :ref:`int<class_int>` track_idx, :ref:`bool<class_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<class_int>` track_idx, :ref:`InterpolationType<enum_Animation_InterpolationType>` interpolation **)**
|
|
|
|
Sets the interpolation type of a given track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_set_key_time:
|
|
|
|
- void **track_set_key_time** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` time **)**
|
|
|
|
Sets the time of an existing key.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_set_key_transition:
|
|
|
|
- void **track_set_key_transition** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key_idx, :ref:`float<class_float>` transition **)**
|
|
|
|
Sets the transition curve (easing) for a specific key (see the built-in math function :ref:`@GlobalScope.ease<class_@GlobalScope_method_ease>`).
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_set_key_value:
|
|
|
|
- void **track_set_key_value** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` key, :ref:`Variant<class_Variant>` value **)**
|
|
|
|
Sets the value of an existing key.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_set_path:
|
|
|
|
- void **track_set_path** **(** :ref:`int<class_int>` track_idx, :ref:`NodePath<class_NodePath>` path **)**
|
|
|
|
Sets 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 ``":"``.
|
|
|
|
For example, ``"character/skeleton:ankle"`` or ``"character/mesh:transform/local"``.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_track_swap:
|
|
|
|
- void **track_swap** **(** :ref:`int<class_int>` track_idx, :ref:`int<class_int>` with_idx **)**
|
|
|
|
Swaps the track ``idx``'s index position with the track ``with_idx``.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_value_track_get_key_indices:
|
|
|
|
- :ref:`PackedInt32Array<class_PackedInt32Array>` **value_track_get_key_indices** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec, :ref:`float<class_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<enum_Animation_UpdateMode>` **value_track_get_update_mode** **(** :ref:`int<class_int>` track_idx **)** |const|
|
|
|
|
Returns the update mode of a value track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_value_track_interpolate:
|
|
|
|
- :ref:`Variant<class_Variant>` **value_track_interpolate** **(** :ref:`int<class_int>` track_idx, :ref:`float<class_float>` time_sec **)** |const|
|
|
|
|
Returns the interpolated value at the given time (in seconds). The ``track_idx`` must be the index of a value track.
|
|
|
|
----
|
|
|
|
.. _class_Animation_method_value_track_set_update_mode:
|
|
|
|
- void **value_track_set_update_mode** **(** :ref:`int<class_int>` track_idx, :ref:`UpdateMode<enum_Animation_UpdateMode>` mode **)**
|
|
|
|
Sets the update mode (see :ref:`UpdateMode<enum_Animation_UpdateMode>`) of a value track.
|
|
|
|
.. |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.)`
|
|
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
|
|
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
|
|
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|