:github_url: hide .. _class_Animation: Animation ========= **Eredita:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Contiene dati che possono essere usati per animare qualsiasi cosa nel motore. .. rst-class:: classref-introduction-group Descrizione ---------------------- Questa risorsa contiene dati che possono essere usati per animare qualsiasi cosa nel motore. Le animazioni sono divise in tracce e ogni traccia deve essere abbinata a un nodo. Lo stato di quel nodo può essere cambiato col tempo, aggiungendo chiavi temporizzate (eventi) alla traccia. .. tabs:: .. code-tab:: gdscript # Questo crea un'animazione che fa muovere il nodo "Enemy" a destra di # 100 pixel in 2.0 secondi. 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, 2.0, 100) animation.length = 2.0 .. code-tab:: csharp // Questo crea un'animazione che fa muovere il nodo "Enemy" a destra di // 100 pixel in 2.0 secondi. 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, 2.0f, 100); animation.Length = 2.0f; Le animazioni sono solo contenitori di dati, e devono essere aggiunte a nodi come un :ref:`AnimationPlayer` per essere riprodotte. Le tracce dell'animazione hanno diversi tipi, ognuno con la propria serie di metodi dedicati. Controlla :ref:`TrackType` per vedere i tipi disponibili. \ **Nota:** Per la posizione, rotazione, o scala 3D, è consigliato utilizzare i tipi di traccia dedicati :ref:`TYPE_POSITION_3D`, :ref:`TYPE_ROTATION_3D` e :ref:`TYPE_SCALE_3D` invece di :ref:`TYPE_VALUE` per motivi di prestazioni. .. rst-class:: classref-introduction-group Tutorial ---------------- - :doc:`Indice di documentazione di animazione <../tutorials/animation/index>` .. rst-class:: classref-reftable-group Proprietà ------------------ .. table:: :widths: auto +------------------------------------------+--------------------------------------------------------------------+-----------------+ | :ref:`bool` | :ref:`capture_included` | ``false`` | +------------------------------------------+--------------------------------------------------------------------+-----------------+ | :ref:`float` | :ref:`length` | ``1.0`` | +------------------------------------------+--------------------------------------------------------------------+-----------------+ | :ref:`LoopMode` | :ref:`loop_mode` | ``0`` | +------------------------------------------+--------------------------------------------------------------------+-----------------+ | :ref:`float` | :ref:`step` | ``0.033333335`` | +------------------------------------------+--------------------------------------------------------------------+-----------------+ .. rst-class:: classref-reftable-group Metodi ------------ .. table:: :widths: auto +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_marker`\ (\ name\: :ref:`StringName`, time\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_track`\ (\ type\: :ref:`TrackType`, at_position\: :ref:`int` = -1\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`animation_track_get_key_animation`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`animation_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, animation\: :ref:`StringName`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`animation_track_set_key_animation`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, animation\: :ref:`StringName`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`audio_track_get_key_end_offset`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`audio_track_get_key_start_offset`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Resource` | :ref:`audio_track_get_key_stream`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`audio_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, stream\: :ref:`Resource`, start_offset\: :ref:`float` = 0, end_offset\: :ref:`float` = 0\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`audio_track_is_use_blend`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`audio_track_set_key_end_offset`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, offset\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`audio_track_set_key_start_offset`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, offset\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`audio_track_set_key_stream`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, stream\: :ref:`Resource`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`audio_track_set_use_blend`\ (\ track_idx\: :ref:`int`, enable\: :ref:`bool`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`bezier_track_get_key_in_handle`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`bezier_track_get_key_out_handle`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`bezier_track_get_key_value`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`bezier_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, value\: :ref:`float`, in_handle\: :ref:`Vector2` = Vector2(0, 0), out_handle\: :ref:`Vector2` = Vector2(0, 0)\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`bezier_track_interpolate`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`bezier_track_set_key_in_handle`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, in_handle\: :ref:`Vector2`, balanced_value_time_ratio\: :ref:`float` = 1.0\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`bezier_track_set_key_out_handle`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, out_handle\: :ref:`Vector2`, balanced_value_time_ratio\: :ref:`float` = 1.0\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`bezier_track_set_key_value`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, value\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`blend_shape_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, amount\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`blend_shape_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear`\ (\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`compress`\ (\ page_size\: :ref:`int` = 8192, fps\: :ref:`int` = 120, split_tolerance\: :ref:`float` = 4.0\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`copy_track`\ (\ track_idx\: :ref:`int`, to_animation\: :ref:`Animation`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_track`\ (\ path\: :ref:`NodePath`, type\: :ref:`TrackType`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_marker_at_time`\ (\ time\: :ref:`float`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`get_marker_color`\ (\ name\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_marker_names`\ (\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_marker_time`\ (\ name\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_next_marker`\ (\ time\: :ref:`float`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_prev_marker`\ (\ time\: :ref:`float`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_track_count`\ (\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_marker`\ (\ name\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`method_track_get_name`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`method_track_get_params`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`optimize`\ (\ allowed_velocity_err\: :ref:`float` = 0.01, allowed_angular_err\: :ref:`float` = 0.01, precision\: :ref:`int` = 3\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`position_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, position\: :ref:`Vector3`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`position_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_marker`\ (\ name\: :ref:`StringName`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_track`\ (\ track_idx\: :ref:`int`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rotation_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, rotation\: :ref:`Quaternion`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Quaternion` | :ref:`rotation_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`scale_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, scale\: :ref:`Vector3`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`scale_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_marker_color`\ (\ name\: :ref:`StringName`, color\: :ref:`Color`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`track_find_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, find_mode\: :ref:`FindMode` = 0, limit\: :ref:`bool` = false, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_get_interpolation_loop_wrap`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`InterpolationType` | :ref:`track_get_interpolation_type`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`track_get_key_count`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`track_get_key_time`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`track_get_key_transition`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`track_get_key_value`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`NodePath` | :ref:`track_get_path`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`TrackType` | :ref:`track_get_type`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, key\: :ref:`Variant`, transition\: :ref:`float` = 1\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_is_compressed`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_is_enabled`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_is_imported`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_move_down`\ (\ track_idx\: :ref:`int`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_move_to`\ (\ track_idx\: :ref:`int`, to_idx\: :ref:`int`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_move_up`\ (\ track_idx\: :ref:`int`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_remove_key`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_remove_key_at_time`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_set_enabled`\ (\ track_idx\: :ref:`int`, enabled\: :ref:`bool`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_set_imported`\ (\ track_idx\: :ref:`int`, imported\: :ref:`bool`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_set_interpolation_loop_wrap`\ (\ track_idx\: :ref:`int`, interpolation\: :ref:`bool`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_set_interpolation_type`\ (\ track_idx\: :ref:`int`, interpolation\: :ref:`InterpolationType`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_set_key_time`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, time\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_set_key_transition`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, transition\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_set_key_value`\ (\ track_idx\: :ref:`int`, key\: :ref:`int`, value\: :ref:`Variant`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_set_path`\ (\ track_idx\: :ref:`int`, path\: :ref:`NodePath`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`track_swap`\ (\ track_idx\: :ref:`int`, with_idx\: :ref:`int`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`UpdateMode` | :ref:`value_track_get_update_mode`\ (\ track_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`value_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`value_track_set_update_mode`\ (\ track_idx\: :ref:`int`, mode\: :ref:`UpdateMode`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerazioni ------------------------ .. _enum_Animation_TrackType: .. rst-class:: classref-enumeration enum **TrackType**: :ref:`🔗` .. _class_Animation_constant_TYPE_VALUE: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_VALUE** = ``0`` Le tracce di valori impostano valori in proprietà di nodi, ma solo quelli che possono essere interpolati. Per la posizione, rotazione, o scala 3D, è consigliato utilizzare i tipi di traccia dedicati :ref:`TYPE_POSITION_3D`, :ref:`TYPE_ROTATION_3D` e :ref:`TYPE_SCALE_3D` invece di :ref:`TYPE_VALUE` per motivi di prestazioni. .. _class_Animation_constant_TYPE_POSITION_3D: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_POSITION_3D** = ``1`` Traccia di posizione 3D (i valori sono memorizzati in :ref:`Vector3`). .. _class_Animation_constant_TYPE_ROTATION_3D: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_ROTATION_3D** = ``2`` Traccia di rotazione 3D (i valori sono memorizzati in :ref:`Quaternion`). .. _class_Animation_constant_TYPE_SCALE_3D: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_SCALE_3D** = ``3`` Traccia di scala 3D (i valori sono memorizzati in :ref:`Vector3`). .. _class_Animation_constant_TYPE_BLEND_SHAPE: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_BLEND_SHAPE** = ``4`` Traccia di forme di fusione. .. _class_Animation_constant_TYPE_METHOD: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_METHOD** = ``5`` Le tracce di metodi chiamano le funzioni con gli argomenti forniti per ogni chiave. .. _class_Animation_constant_TYPE_BEZIER: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_BEZIER** = ``6`` Le tracce Bézier sono utilizzate per interpolare un valore attraverso curve personalizzate. È possibile anche utilizzarle per animare sotto-proprietà di vettori e di colori (ad esempio, il valore alfa di un :ref:`Color`). .. _class_Animation_constant_TYPE_AUDIO: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_AUDIO** = ``7`` Le tracce audio sono utilizzate per riprodurre un flusso audio con ogni tipo di :ref:`AudioStreamPlayer`. È possibile ritagliare e vedere in anteprima il flusso nell'animazione. .. _class_Animation_constant_TYPE_ANIMATION: .. rst-class:: classref-enumeration-constant :ref:`TrackType` **TYPE_ANIMATION** = ``8`` Le tracce di animazione riproducono le animazioni da altri nodi :ref:`AnimationPlayer`. .. rst-class:: classref-item-separator ---- .. _enum_Animation_InterpolationType: .. rst-class:: classref-enumeration enum **InterpolationType**: :ref:`🔗` .. _class_Animation_constant_INTERPOLATION_NEAREST: .. rst-class:: classref-enumeration-constant :ref:`InterpolationType` **INTERPOLATION_NEAREST** = ``0`` Nessuna interpolazione (valore più vicino). .. _class_Animation_constant_INTERPOLATION_LINEAR: .. rst-class:: classref-enumeration-constant :ref:`InterpolationType` **INTERPOLATION_LINEAR** = ``1`` Interpolazione lineare. .. _class_Animation_constant_INTERPOLATION_CUBIC: .. rst-class:: classref-enumeration-constant :ref:`InterpolationType` **INTERPOLATION_CUBIC** = ``2`` Interpolazione cubica. Questa appare più fluida dell'interpolazione lineare, ma è più costosa da interpolare. Rimani a :ref:`INTERPOLATION_LINEAR` per le animazioni 3D complesse importate dal software esterni, anche se richiede una frequenza fotogrammi di animazione più alta in cambio. .. _class_Animation_constant_INTERPOLATION_LINEAR_ANGLE: .. rst-class:: classref-enumeration-constant :ref:`InterpolationType` **INTERPOLATION_LINEAR_ANGLE** = ``3`` Interpolazione lineare con rotazione del percorso più breve. \ **Nota:** Il valore del risultato è sempre normalizzato e potrebbe non corrispondere al valore chiave. .. _class_Animation_constant_INTERPOLATION_CUBIC_ANGLE: .. rst-class:: classref-enumeration-constant :ref:`InterpolationType` **INTERPOLATION_CUBIC_ANGLE** = ``4`` Interpolazione cubica con rotazione del percorso più breve. \ **Nota:** Il valore del risultato è sempre normalizzato e potrebbe non corrispondere al valore chiave. .. rst-class:: classref-item-separator ---- .. _enum_Animation_UpdateMode: .. rst-class:: classref-enumeration enum **UpdateMode**: :ref:`🔗` .. _class_Animation_constant_UPDATE_CONTINUOUS: .. rst-class:: classref-enumeration-constant :ref:`UpdateMode` **UPDATE_CONTINUOUS** = ``0`` Aggiorna tra i fotogrammi chiavi e mantieni il valore. .. _class_Animation_constant_UPDATE_DISCRETE: .. rst-class:: classref-enumeration-constant :ref:`UpdateMode` **UPDATE_DISCRETE** = ``1`` Aggiorna ai fotogrammi chiave. .. _class_Animation_constant_UPDATE_CAPTURE: .. rst-class:: classref-enumeration-constant :ref:`UpdateMode` **UPDATE_CAPTURE** = ``2`` Uguale a :ref:`UPDATE_CONTINUOUS` ma funziona come un flag per catturare il valore dell'oggetto attuale ed eseguire l'interpolazione in alcuni metodi. Vedi anche :ref:`AnimationMixer.capture()`, :ref:`AnimationPlayer.playback_auto_capture`, e :ref:`AnimationPlayer.play_with_capture()`. .. rst-class:: classref-item-separator ---- .. _enum_Animation_LoopMode: .. rst-class:: classref-enumeration enum **LoopMode**: :ref:`🔗` .. _class_Animation_constant_LOOP_NONE: .. rst-class:: classref-enumeration-constant :ref:`LoopMode` **LOOP_NONE** = ``0`` A entrambe le estremità dell'animazione, l'animazione fermerà la riproduzione. .. _class_Animation_constant_LOOP_LINEAR: .. rst-class:: classref-enumeration-constant :ref:`LoopMode` **LOOP_LINEAR** = ``1`` A entrambe le estremità dell'animazione, l'animazione sarà ripetuta senza cambiare la direzione di riproduzione. .. _class_Animation_constant_LOOP_PINGPONG: .. rst-class:: classref-enumeration-constant :ref:`LoopMode` **LOOP_PINGPONG** = ``2`` Ripete la riproduzione e la riproduzione inversa a entrambe le estremità dell'animazione. .. rst-class:: classref-item-separator ---- .. _enum_Animation_LoopedFlag: .. rst-class:: classref-enumeration enum **LoopedFlag**: :ref:`🔗` .. _class_Animation_constant_LOOPED_FLAG_NONE: .. rst-class:: classref-enumeration-constant :ref:`LoopedFlag` **LOOPED_FLAG_NONE** = ``0`` Questo flag indica che l'animazione procede senza alcun looping. .. _class_Animation_constant_LOOPED_FLAG_END: .. rst-class:: classref-enumeration-constant :ref:`LoopedFlag` **LOOPED_FLAG_END** = ``1`` Questo flag indica che l'animazione ha raggiunto la fine dell'animazione e subito dopo che il ciclo ha elaborato. .. _class_Animation_constant_LOOPED_FLAG_START: .. rst-class:: classref-enumeration-constant :ref:`LoopedFlag` **LOOPED_FLAG_START** = ``2`` Questo flag indica che l'animazione ha raggiunto l'inizio dell'animazione e subito dopo il loop elaborato. .. rst-class:: classref-item-separator ---- .. _enum_Animation_FindMode: .. rst-class:: classref-enumeration enum **FindMode**: :ref:`🔗` .. _class_Animation_constant_FIND_MODE_NEAREST: .. rst-class:: classref-enumeration-constant :ref:`FindMode` **FIND_MODE_NEAREST** = ``0`` Trova la chiave temporale più vicina. .. _class_Animation_constant_FIND_MODE_APPROX: .. rst-class:: classref-enumeration-constant :ref:`FindMode` **FIND_MODE_APPROX** = ``1`` Trova solo la chiave con approssimazione del tempo. .. _class_Animation_constant_FIND_MODE_EXACT: .. rst-class:: classref-enumeration-constant :ref:`FindMode` **FIND_MODE_EXACT** = ``2`` Trova solo la chiave con il tempo corrispondente. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni delle proprietà ------------------------------------------------------ .. _class_Animation_property_capture_included: .. rst-class:: classref-property :ref:`bool` **capture_included** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - :ref:`bool` **is_capture_included**\ (\ ) Restituisce ``true`` se la traccia di cattura è inclusa. Questo è un valore di sola lettura, memorizzato nella cache per le prestazioni. .. rst-class:: classref-item-separator ---- .. _class_Animation_property_length: .. rst-class:: classref-property :ref:`float` **length** = ``1.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_length**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_length**\ (\ ) La lunghezza totale dell'animazione (in secondi). \ **Nota:** La lunghezza non è delimitata dall'ultima chiave, in quanto questa potrebbe essere prima o dopo la fine per garantire una corretta interpolazione e ripetizione. .. rst-class:: classref-item-separator ---- .. _class_Animation_property_loop_mode: .. rst-class:: classref-property :ref:`LoopMode` **loop_mode** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_loop_mode**\ (\ value\: :ref:`LoopMode`\ ) - :ref:`LoopMode` **get_loop_mode**\ (\ ) Determina il comportamento di entrambe le estremità della timeline dell'animazione durante la riproduzione. Indica se e come riavviare l'animazione e serve anche per interpolare correttamente i cicli di animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_property_step: .. rst-class:: classref-property :ref:`float` **step** = ``0.033333335`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_step**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_step**\ (\ ) Il valore del passo dell'animazione. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni dei metodi -------------------------------------------- .. _class_Animation_method_add_marker: .. rst-class:: classref-method |void| **add_marker**\ (\ name\: :ref:`StringName`, time\: :ref:`float`\ ) :ref:`🔗` Aggiunge un marcatore a questa animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_add_track: .. rst-class:: classref-method :ref:`int` **add_track**\ (\ type\: :ref:`TrackType`, at_position\: :ref:`int` = -1\ ) :ref:`🔗` Aggiunge una traccia all'animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_animation_track_get_key_animation: .. rst-class:: classref-method :ref:`StringName` **animation_track_get_key_animation**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il nome dell'animazione nella chiave identificata da ``key_idx``. Il ``track_idx`` deve essere l'indice di una traccia di animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_animation_track_insert_key: .. rst-class:: classref-method :ref:`int` **animation_track_insert_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, animation\: :ref:`StringName`\ ) :ref:`🔗` Inserisce una chiave con valore ``animation`` al momento fornito (``time``) in secondi. Il ``track_idx`` deve essere l'indice di una traccia di animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_animation_track_set_key_animation: .. rst-class:: classref-method |void| **animation_track_set_key_animation**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, animation\: :ref:`StringName`\ ) :ref:`🔗` Imposta la chiave identificata da ``key_idx`` al valore ``animation``. Il ``track_idx`` deve essere l'indice di una traccia di animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_get_key_end_offset: .. rst-class:: classref-method :ref:`float` **audio_track_get_key_end_offset**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce l'offset finale della chiave identificata da ``key_idx``. Il ``track_idx`` deve essere l'indice di una traccia audio. L'offset finale è il numero di secondi troncati alla fine del flusso audio. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_get_key_start_offset: .. rst-class:: classref-method :ref:`float` **audio_track_get_key_start_offset**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce l'offset iniziale della chiave identificata da ``key_idx``. Il ``track_idx`` deve essere l'indice di una traccia audio. L'offset iniziale è il numero di secondi troncati all'inizio del flusso audio. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_get_key_stream: .. rst-class:: classref-method :ref:`Resource` **audio_track_get_key_stream**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il flusso audio della chiave identificata da ``key_idx``. Il ``track_idx`` deve essere l'indice di una traccia audio. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_insert_key: .. rst-class:: classref-method :ref:`int` **audio_track_insert_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, stream\: :ref:`Resource`, start_offset\: :ref:`float` = 0, end_offset\: :ref:`float` = 0\ ) :ref:`🔗` Inserisce una chiave di traccia audio al momento fornito (``time``) in secondi. Il ``track_idx`` deve essere l'indice di una traccia audio. \ ``stream`` è la risorsa :ref:`AudioStream` da riprodurre. ``start_offset`` è il numero di secondi troncati all'inizio del flusso audio, mentre ``end_offset`` è alla fine. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_is_use_blend: .. rst-class:: classref-method :ref:`bool` **audio_track_is_use_blend**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce ``true`` se la traccia a ``track_idx`` sarà fusa con altre animazioni. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_set_key_end_offset: .. rst-class:: classref-method |void| **audio_track_set_key_end_offset**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, offset\: :ref:`float`\ ) :ref:`🔗` Imposta l'offset finale della chiave identificata da ``key_idx`` al valore ``offset``. Il ``track_idx`` deve essere l'indice di una traccia audio. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_set_key_start_offset: .. rst-class:: classref-method |void| **audio_track_set_key_start_offset**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, offset\: :ref:`float`\ ) :ref:`🔗` Imposta l'offset iniziale della chiave identificata da ``key_idx`` al valore ``offset``. Il ``track_idx`` deve essere l'indice di una traccia audio. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_set_key_stream: .. rst-class:: classref-method |void| **audio_track_set_key_stream**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, stream\: :ref:`Resource`\ ) :ref:`🔗` Imposta il flusso della chiave identificata da ``key_idx`` al valore ``stream``. Il ``track_idx`` deve essere l'indice di una traccia audio. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_audio_track_set_use_blend: .. rst-class:: classref-method |void| **audio_track_set_use_blend**\ (\ track_idx\: :ref:`int`, enable\: :ref:`bool`\ ) :ref:`🔗` Imposta se la traccia sarà fusa con altre animazioni. Se ``true``, il volume di riproduzione dell'audio cambia a seconda del valore di fusione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_bezier_track_get_key_in_handle: .. rst-class:: classref-method :ref:`Vector2` **bezier_track_get_key_in_handle**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce la maniglia di ingresso della chiave identificata da ``key_idx``. Il ``track_idx`` deve essere l'indice di una traccia Bezier. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_bezier_track_get_key_out_handle: .. rst-class:: classref-method :ref:`Vector2` **bezier_track_get_key_out_handle**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce la maniglia di uscita della chiave identificata da ``key_idx``. Il ``track_idx`` deve essere l'indice di una traccia Bezier. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_bezier_track_get_key_value: .. rst-class:: classref-method :ref:`float` **bezier_track_get_key_value**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il valore della chiave identificata da ``key_idx``. Il ``track_idx`` deve essere l'indice di una traccia Bezier. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_bezier_track_insert_key: .. rst-class:: classref-method :ref:`int` **bezier_track_insert_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, value\: :ref:`float`, in_handle\: :ref:`Vector2` = Vector2(0, 0), out_handle\: :ref:`Vector2` = Vector2(0, 0)\ ) :ref:`🔗` Inserisce una chiave di traccia Bezier al momento fornito (``time``) in secondi. Il ``track_idx`` deve essere l'indice di una traccia Bezier. \ ``in_handle`` è il peso al lato sinistro del punto aggiunto nella curva di Bezier, ``out_handle`` è quello al lato destro, mentre ``value`` è il valore effettivo a questo punto. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_bezier_track_interpolate: .. rst-class:: classref-method :ref:`float` **bezier_track_interpolate**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il valore interpolato al momento fornito (``time``) in secondi. Il ``track_idx`` deve essere l'indice di una traccia Bezier. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_bezier_track_set_key_in_handle: .. rst-class:: classref-method |void| **bezier_track_set_key_in_handle**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, in_handle\: :ref:`Vector2`, balanced_value_time_ratio\: :ref:`float` = 1.0\ ) :ref:`🔗` Imposta la maniglia di ingresso della chiave identificata da ``key_idx`` al valore ``in_handle``. Il ``track_idx`` deve essere l'indice di una traccia Bezier. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_bezier_track_set_key_out_handle: .. rst-class:: classref-method |void| **bezier_track_set_key_out_handle**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, out_handle\: :ref:`Vector2`, balanced_value_time_ratio\: :ref:`float` = 1.0\ ) :ref:`🔗` Imposta la maniglia di uscita della chiave identificata da ``key_idx`` al valore ``out_handle``. Il ``track_idx`` deve essere l'indice di una traccia Bezier. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_bezier_track_set_key_value: .. rst-class:: classref-method |void| **bezier_track_set_key_value**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, value\: :ref:`float`\ ) :ref:`🔗` Imposta il valore della chiave identificata da ``key_idx`` al valore fornito. Il ``track_idx`` deve essere l'indice di una traccia Bezier. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_blend_shape_track_insert_key: .. rst-class:: classref-method :ref:`int` **blend_shape_track_insert_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, amount\: :ref:`float`\ ) :ref:`🔗` Inserisce una chiave in una determinata traccia di forma di fusione. Restituisce l'indice chiave. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_blend_shape_track_interpolate: .. rst-class:: classref-method :ref:`float` **blend_shape_track_interpolate**\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| :ref:`🔗` Restituisce il valore di forma di fusione interpolato al momento indicato (in secondi). Il ``track_idx`` deve essere l'indice di una traccia di forma di fusione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_clear: .. rst-class:: classref-method |void| **clear**\ (\ ) :ref:`🔗` Pulisce l'animazione (cancella tutte le tracce e resetta tutto). .. rst-class:: classref-item-separator ---- .. _class_Animation_method_compress: .. rst-class:: classref-method |void| **compress**\ (\ page_size\: :ref:`int` = 8192, fps\: :ref:`int` = 120, split_tolerance\: :ref:`float` = 4.0\ ) :ref:`🔗` Comprime l'animazione e tutte le sue tracce sul posto. Questo farà sì che :ref:`track_is_compressed()` restituisca ``true`` una volta chiamato su questa **Animation**. Le tracce compresse richiedono meno memoria per essere riprodotte, e sono progettate per essere utilizzate per le animazioni 3D complesse (come cutscene) importate da software 3D esterni. La compressione è con perdita, ma la differenza di solito non è notevole in condizioni del mondo reale. \ **Nota:** Le tracce compresse hanno varie limitazioni (tra le quali non sono modificabili dall'editor), quindi utilizza le animazioni compresse solo se ne hai effettivamente bisogno. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_copy_track: .. rst-class:: classref-method |void| **copy_track**\ (\ track_idx\: :ref:`int`, to_animation\: :ref:`Animation`\ ) :ref:`🔗` Aggiunge una nuova traccia a ``to_animation`` che è una copia della determinata traccia da questa animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_find_track: .. rst-class:: classref-method :ref:`int` **find_track**\ (\ path\: :ref:`NodePath`, type\: :ref:`TrackType`\ ) |const| :ref:`🔗` Restituisce l'indice della traccia specificata. Se la traccia non è trovata, restituisce -1. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_get_marker_at_time: .. rst-class:: classref-method :ref:`StringName` **get_marker_at_time**\ (\ time\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il nome del marcatore situato al tempo fornito. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_get_marker_color: .. rst-class:: classref-method :ref:`Color` **get_marker_color**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`🔗` Restituisce il colore del marcatore specificato. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_get_marker_names: .. rst-class:: classref-method :ref:`PackedStringArray` **get_marker_names**\ (\ ) |const| :ref:`🔗` Restituisce ogni marcatore in questa animazione, ordinati in ordine crescente di tempo. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_get_marker_time: .. rst-class:: classref-method :ref:`float` **get_marker_time**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`🔗` Restituisce il tempo del marcatore specificato. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_get_next_marker: .. rst-class:: classref-method :ref:`StringName` **get_next_marker**\ (\ time\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il marcatore più vicino che viene dopo il tempo specificato. Se tale marcatore non esiste, viene restituita una stringa vuota. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_get_prev_marker: .. rst-class:: classref-method :ref:`StringName` **get_prev_marker**\ (\ time\: :ref:`float`\ ) |const| :ref:`🔗` Restituisce il marcatore più vicino che viene prima del tempo specificato. Se tale marcatore non esiste, viene restituita una stringa vuota. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_get_track_count: .. rst-class:: classref-method :ref:`int` **get_track_count**\ (\ ) |const| :ref:`🔗` Restituisce la quantità di tracce nell'animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_has_marker: .. rst-class:: classref-method :ref:`bool` **has_marker**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`🔗` Restituisce ``true`` se questa animazione contiene un marcatore con il nome specificato. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_method_track_get_name: .. rst-class:: classref-method :ref:`StringName` **method_track_get_name**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il nome del metodo di una traccia di metodi. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_method_track_get_params: .. rst-class:: classref-method :ref:`Array` **method_track_get_params**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce i valori degli argomenti da chiamare su una traccia di metodi per una determinata chiave in una determinata traccia. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_optimize: .. rst-class:: classref-method |void| **optimize**\ (\ allowed_velocity_err\: :ref:`float` = 0.01, allowed_angular_err\: :ref:`float` = 0.01, precision\: :ref:`int` = 3\ ) :ref:`🔗` Ottimizza l'animazione e tutte le sue tracce sul posto. Ciò preserverà solo le chiavi necessarie per mantenere l'animazione entro i limiti specificati. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_position_track_insert_key: .. rst-class:: classref-method :ref:`int` **position_track_insert_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, position\: :ref:`Vector3`\ ) :ref:`🔗` Inserire una chiave in una determinata traccia di posizione 3D. Restituisce l'indice chiave. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_position_track_interpolate: .. rst-class:: classref-method :ref:`Vector3` **position_track_interpolate**\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| :ref:`🔗` Restituisce il valore di posizione interpolato al momento indicato (in secondi). Il ``track_idx`` deve essere l'indice di una traccia di posizione 3D. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_remove_marker: .. rst-class:: classref-method |void| **remove_marker**\ (\ name\: :ref:`StringName`\ ) :ref:`🔗` Rimuove il marcatore con il nome specificato da questa animazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_remove_track: .. rst-class:: classref-method |void| **remove_track**\ (\ track_idx\: :ref:`int`\ ) :ref:`🔗` Rimuove una traccia specificando l'indice della traccia. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_rotation_track_insert_key: .. rst-class:: classref-method :ref:`int` **rotation_track_insert_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, rotation\: :ref:`Quaternion`\ ) :ref:`🔗` Inserire una chiave in una determinata traccia di rotazione 3D. Restituisce l'indice chiave. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_rotation_track_interpolate: .. rst-class:: classref-method :ref:`Quaternion` **rotation_track_interpolate**\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| :ref:`🔗` Restituisce il valore di rotazione interpolato al momento indicato (in secondi). Il ``track_idx`` deve essere l'indice di una traccia di rotazione 3D. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_scale_track_insert_key: .. rst-class:: classref-method :ref:`int` **scale_track_insert_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, scale\: :ref:`Vector3`\ ) :ref:`🔗` Inserire una chiave in una determinata traccia di scala 3D. Restituisce l'indice chiave. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_scale_track_interpolate: .. rst-class:: classref-method :ref:`Vector3` **scale_track_interpolate**\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| :ref:`🔗` Restituisce il valore della scala interpolata al momento indicato (in secondi). Il ``track_idx`` deve essere l'indice di una traccia di scala 3D. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_set_marker_color: .. rst-class:: classref-method |void| **set_marker_color**\ (\ name\: :ref:`StringName`, color\: :ref:`Color`\ ) :ref:`🔗` Imposta il colore del marcatore specificato. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_find_key: .. rst-class:: classref-method :ref:`int` **track_find_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, find_mode\: :ref:`FindMode` = 0, limit\: :ref:`bool` = false, backward\: :ref:`bool` = false\ ) |const| :ref:`🔗` Trova l'indice chiave dal tempo in una determinata traccia. Opzionalmente, lo trova solo se il tempo approssimato o esatto è fornito. Se ``limit`` è ``true``, non restituisce le chiavi al di fuori dell'intervallo di animazione. Se ``backward`` è ``true``, la direzione è invertita in metodi che si basano su un'elaborazione unidirezionale. Ad esempio, nel caso in cui ``find_mode`` sia :ref:`FIND_MODE_NEAREST`, se non vi è alcuna chiave nella posizione corrente subito dopo la ricerca, la prima chiave trovata viene recuperata da prima della posizione, ma se ``backward`` è ``true``, la prima chiave trovata è recuperata dopo la posizione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_get_interpolation_loop_wrap: .. rst-class:: classref-method :ref:`bool` **track_get_interpolation_loop_wrap**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce ``true`` se la traccia a ``track_idx`` avvolge il ciclo di interpolazione. Le nuove tracce avvolgono il ciclo di interpolazione per impostazione predefinita. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_get_interpolation_type: .. rst-class:: classref-method :ref:`InterpolationType` **track_get_interpolation_type**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il tipo di interpolazione di una determinata traccia. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_get_key_count: .. rst-class:: classref-method :ref:`int` **track_get_key_count**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il numero di chiavi nella traccia fornita. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_get_key_time: .. rst-class:: classref-method :ref:`float` **track_get_key_time**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il tempo in cui si trova la chiave. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_get_key_transition: .. rst-class:: classref-method :ref:`float` **track_get_key_transition**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce la curva di transizione (allentamento) per una chiave specifica (vedi la funzione incorporata di matematica :ref:`@GlobalScope.ease()`). .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_get_key_value: .. rst-class:: classref-method :ref:`Variant` **track_get_key_value**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce il valore di una determinata chiave in una determinata traccia. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_get_path: .. rst-class:: classref-method :ref:`NodePath` **track_get_path**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Ottiene il percorso di una traccia. Per ulteriori informazioni sul formato del percorso, vedi :ref:`track_set_path()`. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_get_type: .. rst-class:: classref-method :ref:`TrackType` **track_get_type**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Ottiene il tipo di traccia. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_insert_key: .. rst-class:: classref-method :ref:`int` **track_insert_key**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, key\: :ref:`Variant`, transition\: :ref:`float` = 1\ ) :ref:`🔗` Inserire una chiave generica in una determinata traccia. Restituisce l'indice chiave. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_is_compressed: .. rst-class:: classref-method :ref:`bool` **track_is_compressed**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce ``true`` se la traccia è compressa, altrimenti ``false``. Vedi anche :ref:`compress()`. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_is_enabled: .. rst-class:: classref-method :ref:`bool` **track_is_enabled**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce ``true`` se la traccia all'indice ``track_idx`` è abilitata. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_is_imported: .. rst-class:: classref-method :ref:`bool` **track_is_imported**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce ``true`` se la determinata traccia è importata. Altrimenti, restituisce ``false``. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_move_down: .. rst-class:: classref-method |void| **track_move_down**\ (\ track_idx\: :ref:`int`\ ) :ref:`🔗` Sposta una traccia verso il basso. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_move_to: .. rst-class:: classref-method |void| **track_move_to**\ (\ track_idx\: :ref:`int`, to_idx\: :ref:`int`\ ) :ref:`🔗` Modifica la posizione dell'indice della traccia ``track_idx`` a quella definita in ``to_idx``. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_move_up: .. rst-class:: classref-method |void| **track_move_up**\ (\ track_idx\: :ref:`int`\ ) :ref:`🔗` Sposta una traccia verso l'alto. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_remove_key: .. rst-class:: classref-method |void| **track_remove_key**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) :ref:`🔗` Rimuove una chiave per indice in una determinata traccia. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_remove_key_at_time: .. rst-class:: classref-method |void| **track_remove_key_at_time**\ (\ track_idx\: :ref:`int`, time\: :ref:`float`\ ) :ref:`🔗` Rimuove una chiave al tempo ``time`` in una determinata traccia. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_set_enabled: .. rst-class:: classref-method |void| **track_set_enabled**\ (\ track_idx\: :ref:`int`, enabled\: :ref:`bool`\ ) :ref:`🔗` Abilita o disabilita la traccia specificata. Le tracce sono abilitate per impostazione predefinita. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_set_imported: .. rst-class:: classref-method |void| **track_set_imported**\ (\ track_idx\: :ref:`int`, imported\: :ref:`bool`\ ) :ref:`🔗` Imposta la traccia indicata come importata o no. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_set_interpolation_loop_wrap: .. rst-class:: classref-method |void| **track_set_interpolation_loop_wrap**\ (\ track_idx\: :ref:`int`, interpolation\: :ref:`bool`\ ) :ref:`🔗` Se ``true``, la traccia all'indice ``track_idx`` avvolge il ciclo d'interpolazione. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_set_interpolation_type: .. rst-class:: classref-method |void| **track_set_interpolation_type**\ (\ track_idx\: :ref:`int`, interpolation\: :ref:`InterpolationType`\ ) :ref:`🔗` Imposta il tipo di interpolazione di una determinata traccia. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_set_key_time: .. rst-class:: classref-method |void| **track_set_key_time**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, time\: :ref:`float`\ ) :ref:`🔗` Imposta il tempo di una chiave esistente. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_set_key_transition: .. rst-class:: classref-method |void| **track_set_key_transition**\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`, transition\: :ref:`float`\ ) :ref:`🔗` Imposta la curva di transizione (allentamento) per una chiave specifica (vedi la funzione incorporata di matematica :ref:`@GlobalScope.ease()`). .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_set_key_value: .. rst-class:: classref-method |void| **track_set_key_value**\ (\ track_idx\: :ref:`int`, key\: :ref:`int`, value\: :ref:`Variant`\ ) :ref:`🔗` Imposta il valore di una chiave esistente. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_set_path: .. rst-class:: classref-method |void| **track_set_path**\ (\ track_idx\: :ref:`int`, path\: :ref:`NodePath`\ ) :ref:`🔗` Imposta il percorso di una traccia. I percorsi devono essere validi percorsi di albero di scena a un nodo e devono essere specificati a partire da :ref:`AnimationMixer.root_node` che riprodurrà l'animazione. Le tracce che controllano le proprietà o le ossa devono aggiungere il loro nome dopo il percorso, separato da ``":"``. Ad esempio, ``"character/skeleton:ankle"`` o ``"character/mesh:transform/local"``. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_track_swap: .. rst-class:: classref-method |void| **track_swap**\ (\ track_idx\: :ref:`int`, with_idx\: :ref:`int`\ ) :ref:`🔗` Scambia la posizione dell'indice ``track_idx`` con la traccia all'indice ``with_idx``. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_value_track_get_update_mode: .. rst-class:: classref-method :ref:`UpdateMode` **value_track_get_update_mode**\ (\ track_idx\: :ref:`int`\ ) |const| :ref:`🔗` Restituisce la modalità di aggiornamento di una traccia di valore. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_value_track_interpolate: .. rst-class:: classref-method :ref:`Variant` **value_track_interpolate**\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| :ref:`🔗` Restituisce il valore interpolato al momento indicato (in secondi). Il ``track_idx`` deve essere l'indice di una traccia di valore. A ``backward`` influenza principalmente la direzione del recupero chiavi della pista con :ref:`UPDATE_DISCRETE` convertita da :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS` per abbinare il risultato a :ref:`track_find_key()`. .. rst-class:: classref-item-separator ---- .. _class_Animation_method_value_track_set_update_mode: .. rst-class:: classref-method |void| **value_track_set_update_mode**\ (\ track_idx\: :ref:`int`, mode\: :ref:`UpdateMode`\ ) :ref:`🔗` Imposta la modalità di aggiornamento di una traccia di valore. .. |virtual| replace:: :abbr:`virtual (Questo metodo dovrebbe solitamente essere sovrascritto dall'utente per aver un effetto.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Questo metodo non ha effetti collaterali. Non modifica alcuna variabile appartenente all'istanza.)` .. |vararg| replace:: :abbr:`vararg (Questo metodo accetta qualsiasi numero di argomenti oltre a quelli descritti qui.)` .. |constructor| replace:: :abbr:`constructor (Questo metodo è utilizzato per creare un tipo.)` .. |static| replace:: :abbr:`static (Questo metodo non necessita di alcun'istanza per essere chiamato, quindi può essere chiamato direttamente usando il nome della classe.)` .. |operator| replace:: :abbr:`operator (Questo metodo descrive un operatore valido da usare con questo tipo come operando di sinistra.)` .. |bitfield| replace:: :abbr:`BitField (Questo valore è un intero composto da una maschera di bit dei seguenti flag.)` .. |void| replace:: :abbr:`void (Nessun valore restituito.)`