Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Animation
Eredita: Resource < RefCounted < Object
Contiene dati che possono essere usati per animare qualsiasi cosa nel motore.
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.
# 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
// 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 AnimationPlayer per essere riprodotte. Le tracce dell'animazione hanno diversi tipi, ognuno con la propria serie di metodi dedicati. Controlla TrackType per vedere i tipi disponibili.
Nota: Per la posizione, rotazione, o scala 3D, è consigliato utilizzare i tipi di traccia dedicati TYPE_POSITION_3D, TYPE_ROTATION_3D e TYPE_SCALE_3D invece di TYPE_VALUE per motivi di prestazioni.
Tutorial
Proprietà
|
||
|
||
|
||
|
Metodi
void |
add_marker(name: StringName, time: float) |
animation_track_get_key_animation(track_idx: int, key_idx: int) const |
|
animation_track_insert_key(track_idx: int, time: float, animation: StringName) |
|
void |
animation_track_set_key_animation(track_idx: int, key_idx: int, animation: StringName) |
audio_track_get_key_end_offset(track_idx: int, key_idx: int) const |
|
audio_track_get_key_start_offset(track_idx: int, key_idx: int) const |
|
audio_track_get_key_stream(track_idx: int, key_idx: int) const |
|
audio_track_insert_key(track_idx: int, time: float, stream: Resource, start_offset: float = 0, end_offset: float = 0) |
|
audio_track_is_use_blend(track_idx: int) const |
|
void |
audio_track_set_key_end_offset(track_idx: int, key_idx: int, offset: float) |
void |
audio_track_set_key_start_offset(track_idx: int, key_idx: int, offset: float) |
void |
audio_track_set_key_stream(track_idx: int, key_idx: int, stream: Resource) |
void |
audio_track_set_use_blend(track_idx: int, enable: bool) |
bezier_track_get_key_in_handle(track_idx: int, key_idx: int) const |
|
bezier_track_get_key_out_handle(track_idx: int, key_idx: int) const |
|
bezier_track_get_key_value(track_idx: int, key_idx: int) const |
|
bezier_track_insert_key(track_idx: int, time: float, value: float, in_handle: Vector2 = Vector2(0, 0), out_handle: Vector2 = Vector2(0, 0)) |
|
bezier_track_interpolate(track_idx: int, time: float) const |
|
void |
bezier_track_set_key_in_handle(track_idx: int, key_idx: int, in_handle: Vector2, balanced_value_time_ratio: float = 1.0) |
void |
bezier_track_set_key_out_handle(track_idx: int, key_idx: int, out_handle: Vector2, balanced_value_time_ratio: float = 1.0) |
void |
bezier_track_set_key_value(track_idx: int, key_idx: int, value: float) |
blend_shape_track_insert_key(track_idx: int, time: float, amount: float) |
|
blend_shape_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const |
|
void |
clear() |
void |
compress(page_size: int = 8192, fps: int = 120, split_tolerance: float = 4.0) |
void |
copy_track(track_idx: int, to_animation: Animation) |
find_track(path: NodePath, type: TrackType) const |
|
get_marker_at_time(time: float) const |
|
get_marker_color(name: StringName) const |
|
get_marker_names() const |
|
get_marker_time(name: StringName) const |
|
get_next_marker(time: float) const |
|
get_prev_marker(time: float) const |
|
get_track_count() const |
|
has_marker(name: StringName) const |
|
method_track_get_name(track_idx: int, key_idx: int) const |
|
method_track_get_params(track_idx: int, key_idx: int) const |
|
void |
optimize(allowed_velocity_err: float = 0.01, allowed_angular_err: float = 0.01, precision: int = 3) |
position_track_insert_key(track_idx: int, time: float, position: Vector3) |
|
position_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const |
|
void |
remove_marker(name: StringName) |
void |
remove_track(track_idx: int) |
rotation_track_insert_key(track_idx: int, time: float, rotation: Quaternion) |
|
rotation_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const |
|
scale_track_insert_key(track_idx: int, time: float, scale: Vector3) |
|
scale_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const |
|
void |
set_marker_color(name: StringName, color: Color) |
track_find_key(track_idx: int, time: float, find_mode: FindMode = 0, limit: bool = false, backward: bool = false) const |
|
track_get_interpolation_loop_wrap(track_idx: int) const |
|
track_get_interpolation_type(track_idx: int) const |
|
track_get_key_count(track_idx: int) const |
|
track_get_key_time(track_idx: int, key_idx: int) const |
|
track_get_key_transition(track_idx: int, key_idx: int) const |
|
track_get_key_value(track_idx: int, key_idx: int) const |
|
track_get_path(track_idx: int) const |
|
track_get_type(track_idx: int) const |
|
track_insert_key(track_idx: int, time: float, key: Variant, transition: float = 1) |
|
track_is_compressed(track_idx: int) const |
|
track_is_enabled(track_idx: int) const |
|
track_is_imported(track_idx: int) const |
|
void |
track_move_down(track_idx: int) |
void |
track_move_to(track_idx: int, to_idx: int) |
void |
track_move_up(track_idx: int) |
void |
track_remove_key(track_idx: int, key_idx: int) |
void |
track_remove_key_at_time(track_idx: int, time: float) |
void |
track_set_enabled(track_idx: int, enabled: bool) |
void |
track_set_imported(track_idx: int, imported: bool) |
void |
track_set_interpolation_loop_wrap(track_idx: int, interpolation: bool) |
void |
track_set_interpolation_type(track_idx: int, interpolation: InterpolationType) |
void |
track_set_key_time(track_idx: int, key_idx: int, time: float) |
void |
track_set_key_transition(track_idx: int, key_idx: int, transition: float) |
void |
track_set_key_value(track_idx: int, key: int, value: Variant) |
void |
track_set_path(track_idx: int, path: NodePath) |
void |
track_swap(track_idx: int, with_idx: int) |
value_track_get_update_mode(track_idx: int) const |
|
value_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const |
|
void |
value_track_set_update_mode(track_idx: int, mode: UpdateMode) |
Enumerazioni
enum TrackType: 🔗
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 TYPE_POSITION_3D, TYPE_ROTATION_3D e TYPE_SCALE_3D invece di TYPE_VALUE per motivi di prestazioni.
TrackType TYPE_POSITION_3D = 1
Traccia di posizione 3D (i valori sono memorizzati in Vector3).
TrackType TYPE_ROTATION_3D = 2
Traccia di rotazione 3D (i valori sono memorizzati in Quaternion).
TrackType TYPE_SCALE_3D = 3
Traccia di scala 3D (i valori sono memorizzati in Vector3).
TrackType TYPE_BLEND_SHAPE = 4
Traccia di forme di fusione.
TrackType TYPE_METHOD = 5
Le tracce di metodi chiamano le funzioni con gli argomenti forniti per ogni chiave.
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 Color).
TrackType TYPE_AUDIO = 7
Le tracce audio sono utilizzate per riprodurre un flusso audio con ogni tipo di AudioStreamPlayer. È possibile ritagliare e vedere in anteprima il flusso nell'animazione.
TrackType TYPE_ANIMATION = 8
Le tracce di animazione riproducono le animazioni da altri nodi AnimationPlayer.
enum InterpolationType: 🔗
InterpolationType INTERPOLATION_NEAREST = 0
Nessuna interpolazione (valore più vicino).
InterpolationType INTERPOLATION_LINEAR = 1
Interpolazione lineare.
InterpolationType INTERPOLATION_CUBIC = 2
Interpolazione cubica. Questa appare più fluida dell'interpolazione lineare, ma è più costosa da interpolare. Rimani a INTERPOLATION_LINEAR per le animazioni 3D complesse importate dal software esterni, anche se richiede una frequenza fotogrammi di animazione più alta in cambio.
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.
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.
enum UpdateMode: 🔗
UpdateMode UPDATE_CONTINUOUS = 0
Aggiorna tra i fotogrammi chiavi e mantieni il valore.
UpdateMode UPDATE_DISCRETE = 1
Aggiorna ai fotogrammi chiave.
UpdateMode UPDATE_CAPTURE = 2
Uguale a UPDATE_CONTINUOUS ma funziona come un flag per catturare il valore dell'oggetto attuale ed eseguire l'interpolazione in alcuni metodi. Vedi anche AnimationMixer.capture(), AnimationPlayer.playback_auto_capture, e AnimationPlayer.play_with_capture().
enum LoopMode: 🔗
LoopMode LOOP_NONE = 0
A entrambe le estremità dell'animazione, l'animazione fermerà la riproduzione.
LoopMode LOOP_LINEAR = 1
A entrambe le estremità dell'animazione, l'animazione sarà ripetuta senza cambiare la direzione di riproduzione.
LoopMode LOOP_PINGPONG = 2
Ripete la riproduzione e la riproduzione inversa a entrambe le estremità dell'animazione.
enum LoopedFlag: 🔗
LoopedFlag LOOPED_FLAG_NONE = 0
Questo flag indica che l'animazione procede senza alcun looping.
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.
LoopedFlag LOOPED_FLAG_START = 2
Questo flag indica che l'animazione ha raggiunto l'inizio dell'animazione e subito dopo il loop elaborato.
enum FindMode: 🔗
FindMode FIND_MODE_NEAREST = 0
Trova la chiave temporale più vicina.
FindMode FIND_MODE_APPROX = 1
Trova solo la chiave con approssimazione del tempo.
FindMode FIND_MODE_EXACT = 2
Trova solo la chiave con il tempo corrispondente.
Descrizioni delle proprietà
bool capture_included = false 🔗
bool is_capture_included()
Restituisce true se la traccia di cattura è inclusa. Questo è un valore di sola lettura, memorizzato nella cache per le prestazioni.
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.
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.
Il valore del passo dell'animazione.
Descrizioni dei metodi
void add_marker(name: StringName, time: float) 🔗
Aggiunge un marcatore a questa animazione.
int add_track(type: TrackType, at_position: int = -1) 🔗
Aggiunge una traccia all'animazione.
StringName animation_track_get_key_animation(track_idx: int, key_idx: int) const 🔗
Restituisce il nome dell'animazione nella chiave identificata da key_idx. Il track_idx deve essere l'indice di una traccia di animazione.
int animation_track_insert_key(track_idx: int, time: float, animation: StringName) 🔗
Inserisce una chiave con valore animation al momento fornito (time) in secondi. Il track_idx deve essere l'indice di una traccia di animazione.
void animation_track_set_key_animation(track_idx: int, key_idx: int, animation: StringName) 🔗
Imposta la chiave identificata da key_idx al valore animation. Il track_idx deve essere l'indice di una traccia di animazione.
float audio_track_get_key_end_offset(track_idx: int, key_idx: int) const 🔗
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.
float audio_track_get_key_start_offset(track_idx: int, key_idx: int) const 🔗
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.
Resource audio_track_get_key_stream(track_idx: int, key_idx: int) const 🔗
Restituisce il flusso audio della chiave identificata da key_idx. Il track_idx deve essere l'indice di una traccia audio.
int audio_track_insert_key(track_idx: int, time: float, stream: Resource, start_offset: float = 0, end_offset: float = 0) 🔗
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 AudioStream da riprodurre. start_offset è il numero di secondi troncati all'inizio del flusso audio, mentre end_offset è alla fine.
bool audio_track_is_use_blend(track_idx: int) const 🔗
Restituisce true se la traccia a track_idx sarà fusa con altre animazioni.
void audio_track_set_key_end_offset(track_idx: int, key_idx: int, offset: float) 🔗
Imposta l'offset finale della chiave identificata da key_idx al valore offset. Il track_idx deve essere l'indice di una traccia audio.
void audio_track_set_key_start_offset(track_idx: int, key_idx: int, offset: float) 🔗
Imposta l'offset iniziale della chiave identificata da key_idx al valore offset. Il track_idx deve essere l'indice di una traccia audio.
void audio_track_set_key_stream(track_idx: int, key_idx: int, stream: Resource) 🔗
Imposta il flusso della chiave identificata da key_idx al valore stream. Il track_idx deve essere l'indice di una traccia audio.
void audio_track_set_use_blend(track_idx: int, enable: bool) 🔗
Imposta se la traccia sarà fusa con altre animazioni. Se true, il volume di riproduzione dell'audio cambia a seconda del valore di fusione.
Vector2 bezier_track_get_key_in_handle(track_idx: int, key_idx: int) const 🔗
Restituisce la maniglia di ingresso della chiave identificata da key_idx. Il track_idx deve essere l'indice di una traccia Bezier.
Vector2 bezier_track_get_key_out_handle(track_idx: int, key_idx: int) const 🔗
Restituisce la maniglia di uscita della chiave identificata da key_idx. Il track_idx deve essere l'indice di una traccia Bezier.
float bezier_track_get_key_value(track_idx: int, key_idx: int) const 🔗
Restituisce il valore della chiave identificata da key_idx. Il track_idx deve essere l'indice di una traccia Bezier.
int bezier_track_insert_key(track_idx: int, time: float, value: float, in_handle: Vector2 = Vector2(0, 0), out_handle: Vector2 = Vector2(0, 0)) 🔗
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.
float bezier_track_interpolate(track_idx: int, time: float) const 🔗
Restituisce il valore interpolato al momento fornito (time) in secondi. Il track_idx deve essere l'indice di una traccia Bezier.
void bezier_track_set_key_in_handle(track_idx: int, key_idx: int, in_handle: Vector2, balanced_value_time_ratio: float = 1.0) 🔗
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.
void bezier_track_set_key_out_handle(track_idx: int, key_idx: int, out_handle: Vector2, balanced_value_time_ratio: float = 1.0) 🔗
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.
void bezier_track_set_key_value(track_idx: int, key_idx: int, value: float) 🔗
Imposta il valore della chiave identificata da key_idx al valore fornito. Il track_idx deve essere l'indice di una traccia Bezier.
int blend_shape_track_insert_key(track_idx: int, time: float, amount: float) 🔗
Inserisce una chiave in una determinata traccia di forma di fusione. Restituisce l'indice chiave.
float blend_shape_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗
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.
void clear() 🔗
Pulisce l'animazione (cancella tutte le tracce e resetta tutto).
void compress(page_size: int = 8192, fps: int = 120, split_tolerance: float = 4.0) 🔗
Comprime l'animazione e tutte le sue tracce sul posto. Questo farà sì che 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.
void copy_track(track_idx: int, to_animation: Animation) 🔗
Aggiunge una nuova traccia a to_animation che è una copia della determinata traccia da questa animazione.
int find_track(path: NodePath, type: TrackType) const 🔗
Restituisce l'indice della traccia specificata. Se la traccia non è trovata, restituisce -1.
StringName get_marker_at_time(time: float) const 🔗
Restituisce il nome del marcatore situato al tempo fornito.
Color get_marker_color(name: StringName) const 🔗
Restituisce il colore del marcatore specificato.
PackedStringArray get_marker_names() const 🔗
Restituisce ogni marcatore in questa animazione, ordinati in ordine crescente di tempo.
float get_marker_time(name: StringName) const 🔗
Restituisce il tempo del marcatore specificato.
StringName get_next_marker(time: float) const 🔗
Restituisce il marcatore più vicino che viene dopo il tempo specificato. Se tale marcatore non esiste, viene restituita una stringa vuota.
StringName get_prev_marker(time: float) const 🔗
Restituisce il marcatore più vicino che viene prima del tempo specificato. Se tale marcatore non esiste, viene restituita una stringa vuota.
Restituisce la quantità di tracce nell'animazione.
bool has_marker(name: StringName) const 🔗
Restituisce true se questa animazione contiene un marcatore con il nome specificato.
StringName method_track_get_name(track_idx: int, key_idx: int) const 🔗
Restituisce il nome del metodo di una traccia di metodi.
Array method_track_get_params(track_idx: int, key_idx: int) const 🔗
Restituisce i valori degli argomenti da chiamare su una traccia di metodi per una determinata chiave in una determinata traccia.
void optimize(allowed_velocity_err: float = 0.01, allowed_angular_err: float = 0.01, precision: int = 3) 🔗
Ottimizza l'animazione e tutte le sue tracce sul posto. Ciò preserverà solo le chiavi necessarie per mantenere l'animazione entro i limiti specificati.
int position_track_insert_key(track_idx: int, time: float, position: Vector3) 🔗
Inserire una chiave in una determinata traccia di posizione 3D. Restituisce l'indice chiave.
Vector3 position_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗
Restituisce il valore di posizione interpolato al momento indicato (in secondi). Il track_idx deve essere l'indice di una traccia di posizione 3D.
void remove_marker(name: StringName) 🔗
Rimuove il marcatore con il nome specificato da questa animazione.
void remove_track(track_idx: int) 🔗
Rimuove una traccia specificando l'indice della traccia.
int rotation_track_insert_key(track_idx: int, time: float, rotation: Quaternion) 🔗
Inserire una chiave in una determinata traccia di rotazione 3D. Restituisce l'indice chiave.
Quaternion rotation_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗
Restituisce il valore di rotazione interpolato al momento indicato (in secondi). Il track_idx deve essere l'indice di una traccia di rotazione 3D.
int scale_track_insert_key(track_idx: int, time: float, scale: Vector3) 🔗
Inserire una chiave in una determinata traccia di scala 3D. Restituisce l'indice chiave.
Vector3 scale_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗
Restituisce il valore della scala interpolata al momento indicato (in secondi). Il track_idx deve essere l'indice di una traccia di scala 3D.
void set_marker_color(name: StringName, color: Color) 🔗
Imposta il colore del marcatore specificato.
int track_find_key(track_idx: int, time: float, find_mode: FindMode = 0, limit: bool = false, backward: bool = false) const 🔗
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 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.
bool track_get_interpolation_loop_wrap(track_idx: int) const 🔗
Restituisce true se la traccia a track_idx avvolge il ciclo di interpolazione. Le nuove tracce avvolgono il ciclo di interpolazione per impostazione predefinita.
InterpolationType track_get_interpolation_type(track_idx: int) const 🔗
Restituisce il tipo di interpolazione di una determinata traccia.
int track_get_key_count(track_idx: int) const 🔗
Restituisce il numero di chiavi nella traccia fornita.
float track_get_key_time(track_idx: int, key_idx: int) const 🔗
Restituisce il tempo in cui si trova la chiave.
float track_get_key_transition(track_idx: int, key_idx: int) const 🔗
Restituisce la curva di transizione (allentamento) per una chiave specifica (vedi la funzione incorporata di matematica @GlobalScope.ease()).
Variant track_get_key_value(track_idx: int, key_idx: int) const 🔗
Restituisce il valore di una determinata chiave in una determinata traccia.
NodePath track_get_path(track_idx: int) const 🔗
Ottiene il percorso di una traccia. Per ulteriori informazioni sul formato del percorso, vedi track_set_path().
TrackType track_get_type(track_idx: int) const 🔗
Ottiene il tipo di traccia.
int track_insert_key(track_idx: int, time: float, key: Variant, transition: float = 1) 🔗
Inserire una chiave generica in una determinata traccia. Restituisce l'indice chiave.
bool track_is_compressed(track_idx: int) const 🔗
Restituisce true se la traccia è compressa, altrimenti false. Vedi anche compress().
bool track_is_enabled(track_idx: int) const 🔗
Restituisce true se la traccia all'indice track_idx è abilitata.
bool track_is_imported(track_idx: int) const 🔗
Restituisce true se la determinata traccia è importata. Altrimenti, restituisce false.
void track_move_down(track_idx: int) 🔗
Sposta una traccia verso il basso.
void track_move_to(track_idx: int, to_idx: int) 🔗
Modifica la posizione dell'indice della traccia track_idx a quella definita in to_idx.
void track_move_up(track_idx: int) 🔗
Sposta una traccia verso l'alto.
void track_remove_key(track_idx: int, key_idx: int) 🔗
Rimuove una chiave per indice in una determinata traccia.
void track_remove_key_at_time(track_idx: int, time: float) 🔗
Rimuove una chiave al tempo time in una determinata traccia.
void track_set_enabled(track_idx: int, enabled: bool) 🔗
Abilita o disabilita la traccia specificata. Le tracce sono abilitate per impostazione predefinita.
void track_set_imported(track_idx: int, imported: bool) 🔗
Imposta la traccia indicata come importata o no.
void track_set_interpolation_loop_wrap(track_idx: int, interpolation: bool) 🔗
Se true, la traccia all'indice track_idx avvolge il ciclo d'interpolazione.
void track_set_interpolation_type(track_idx: int, interpolation: InterpolationType) 🔗
Imposta il tipo di interpolazione di una determinata traccia.
void track_set_key_time(track_idx: int, key_idx: int, time: float) 🔗
Imposta il tempo di una chiave esistente.
void track_set_key_transition(track_idx: int, key_idx: int, transition: float) 🔗
Imposta la curva di transizione (allentamento) per una chiave specifica (vedi la funzione incorporata di matematica @GlobalScope.ease()).
void track_set_key_value(track_idx: int, key: int, value: Variant) 🔗
Imposta il valore di una chiave esistente.
void track_set_path(track_idx: int, path: NodePath) 🔗
Imposta il percorso di una traccia. I percorsi devono essere validi percorsi di albero di scene a un nodo e devono essere specificati a partire da 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".
void track_swap(track_idx: int, with_idx: int) 🔗
Scambia la posizione dell'indice track_idx con la traccia all'indice with_idx.
UpdateMode value_track_get_update_mode(track_idx: int) const 🔗
Restituisce la modalità di aggiornamento di una traccia di valore.
Variant value_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗
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 UPDATE_DISCRETE convertita da AnimationMixer.ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS per abbinare il risultato a track_find_key().
void value_track_set_update_mode(track_idx: int, mode: UpdateMode) 🔗
Imposta la modalità di aggiornamento di una traccia di valore.