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.

Animation

Hérite de : Resource < RefCounted < Object

Contient des données qui peuvent être utilisées pour animer n'importe quoi dans le moteur.

Description

Une ressource d'Animation qui contient des données qui peuvent être utilisées pour animer n'importe quoi dans le moteur. Les animations sont divisées en pistes et chaque piste doit être liée à un nœud. L'état de ce nœud peut être modifié au cours du temps, en ajoutant des clés programmées (les évènements) à la piste.

# Cela crée une animation qui fait bouger vers la droite le nœud "Ennemi" de
# 100 pixels en 2.0 secondes.
var animation = Animation.new()
var index_piste = animation.add_track(Animation.TYPE_VALUE)
animation.track_set_path(index_piste, "Ennemi:position:x")
animation.track_insert_key(index_piste, 0.0, 0)
animation.track_insert_key(index_piste, 0.5, 100)
animation.length = 2.0

Les animations ne contiennent que des données et doivent être ajoutés à un nœud comme un AnimationPlayer pour être lues. Il y a plusieurs types de pistes d'animation, chacun eavec son propre ensemble de méthodes dédiées. Voir TrackType pour voir les types disponibles.

Note : Pour la position/rotation/échelle 3D, en utiliser les types de pistes TYPE_POSITION_3D, TYPE_ROTATION_3D et TYPE_SCALE_3D dédiées au lieu de TYPE_VALUE est recommandé pour des raisons de performance.

Tutoriels

Propriétés

bool

capture_included

false

float

length

1.0

LoopMode

loop_mode

0

float

step

0.033333335

Méthodes

void

add_marker(name: StringName, time: float)

int

add_track(type: TrackType, at_position: int = -1)

StringName

animation_track_get_key_animation(track_idx: int, key_idx: int) const

int

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)

float

audio_track_get_key_end_offset(track_idx: int, key_idx: int) const

float

audio_track_get_key_start_offset(track_idx: int, key_idx: int) const

Resource

audio_track_get_key_stream(track_idx: int, key_idx: int) const

int

audio_track_insert_key(track_idx: int, time: float, stream: Resource, start_offset: float = 0, end_offset: float = 0)

bool

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)

Vector2

bezier_track_get_key_in_handle(track_idx: int, key_idx: int) const

Vector2

bezier_track_get_key_out_handle(track_idx: int, key_idx: int) const

float

bezier_track_get_key_value(track_idx: int, key_idx: int) const

int

bezier_track_insert_key(track_idx: int, time: float, value: float, in_handle: Vector2 = Vector2(0, 0), out_handle: Vector2 = Vector2(0, 0))

float

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)

int

blend_shape_track_insert_key(track_idx: int, time: float, amount: float)

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)

int

find_track(path: NodePath, type: TrackType) const

StringName

get_marker_at_time(time: float) const

Color

get_marker_color(name: StringName) const

PackedStringArray

get_marker_names() const

float

get_marker_time(name: StringName) const

StringName

get_next_marker(time: float) const

StringName

get_prev_marker(time: float) const

int

get_track_count() const

bool

has_marker(name: StringName) const

StringName

method_track_get_name(track_idx: int, key_idx: int) const

Array

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)

int

position_track_insert_key(track_idx: int, time: float, position: Vector3)

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)

int

rotation_track_insert_key(track_idx: int, time: float, rotation: Quaternion)

Quaternion

rotation_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const

int

scale_track_insert_key(track_idx: int, time: float, scale: Vector3)

Vector3

scale_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const

void

set_marker_color(name: StringName, color: Color)

int

track_find_key(track_idx: int, time: float, find_mode: FindMode = 0, limit: bool = false, backward: bool = false) const

bool

track_get_interpolation_loop_wrap(track_idx: int) const

InterpolationType

track_get_interpolation_type(track_idx: int) const

int

track_get_key_count(track_idx: int) const

float

track_get_key_time(track_idx: int, key_idx: int) const

float

track_get_key_transition(track_idx: int, key_idx: int) const

Variant

track_get_key_value(track_idx: int, key_idx: int) const

NodePath

track_get_path(track_idx: int) const

TrackType

track_get_type(track_idx: int) const

int

track_insert_key(track_idx: int, time: float, key: Variant, transition: float = 1)

bool

track_is_compressed(track_idx: int) const

bool

track_is_enabled(track_idx: int) const

bool

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)

UpdateMode

value_track_get_update_mode(track_idx: int) const

Variant

value_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const

void

value_track_set_update_mode(track_idx: int, mode: UpdateMode)


Énumérations

enum TrackType: 🔗

TrackType TYPE_VALUE = 0

Les pistes de valeur définissent des valeurs dans les propriétés d'un nœud, mais seulement celles qui peuvent être interpolées. Pour la position/rotation/échelle 3D, utiliser les types de pistes TYPE_POSITION_3D, TYPE_ROTATION_3D et TYPE_SCALE_3D dédiés au lieu de TYPE_VALUE est recommandé pour des raisons de performances.

TrackType TYPE_POSITION_3D = 1

Piste de position 3D (les valeurs sont stockées dans des Vector3s).

TrackType TYPE_ROTATION_3D = 2

Piste de rotation 3D (les valeurs sont stockées dans des Quaternions).

TrackType TYPE_SCALE_3D = 3

Piste d'échelle 3D (les valeurs sont stockées dans des Vector3s).

TrackType TYPE_BLEND_SHAPE = 4

Piste de blend shape.

TrackType TYPE_METHOD = 5

Les pistes d'appel de méthode appellent des fonctions à arguments donnés à chaque clé d'animation.

TrackType TYPE_BEZIER = 6

Les pistes de Bézier sont utilisées pour calculer une valeur par interpolation en utilisant des courbes personnalisées. Elles peuvent également être utilisées pour animer des sous-propriétés de vecteurs et de couleurs (par exemple, l'opacité d'une Color).

TrackType TYPE_AUDIO = 7

Les pistes audio sont utilisées pour lire un flux audio avec l'un ou l'autre type de AudioStreamPlayer. Le flux peut être découpé et prévisualisé dans l'animation.

TrackType TYPE_ANIMATION = 8

Les pistes d'animation jouent des animations dans d'autres nœuds AnimationPlayer.


enum InterpolationType: 🔗

InterpolationType INTERPOLATION_NEAREST = 0

Pas d'interpolation (valeur la plus proche).

InterpolationType INTERPOLATION_LINEAR = 1

Interpolation linéaire.

InterpolationType INTERPOLATION_CUBIC = 2

Interpolation cubique. Cela donne un aspect plus lisse que l'interpolation linéaire, mais est plus cher à interpoler. Restez avec INTERPOLATION_LINEAR pour des animations 3D complexes importées de logiciels externes, même si cela nécessite l'utilisation d'une fréquence d'images d'animation plus élevé en retour.

InterpolationType INTERPOLATION_LINEAR_ANGLE = 3

Interpolation linéaire avec la rotation au chemin le plus court.

Note : La valeur du résultat est toujours normalisée et peut ne pas correspondre à la valeur de la clé.

InterpolationType INTERPOLATION_CUBIC_ANGLE = 4

Interpolation cubique avec la rotation au chemin le plus court.

Note : La valeur du résultat est toujours normalisée et peut ne pas correspondre à la valeur de la clé.


enum UpdateMode: 🔗

UpdateMode UPDATE_CONTINUOUS = 0

Met à jour entre les clés d'animation et conserve la valeur.

UpdateMode UPDATE_DISCRETE = 1

Mise à jour aux images clés.

UpdateMode UPDATE_CAPTURE = 2

Comme UPDATE_CONTINUOUS, mais fonctionne comme un drapeau pour capturer la valeur de l'objet courant et effectuer l'interpolation dans certaines méthodes. Voir aussi AnimationMixer.capture(), AnimationPlayer.playback_auto_capture, et AnimationPlayer.play_with_capture().


enum LoopMode: 🔗

LoopMode LOOP_NONE = 0

Aux deux extrémités de l'animation, l'animation cessera de jouer.

LoopMode LOOP_LINEAR = 1

Aux deux extrémités de l'animation, l'animation sera répétée sans changer la direction de lecture.

LoopMode LOOP_PINGPONG = 2

Répète la lecture et inverse son sens aux deux extrémités de l'animation.


enum LoopedFlag: 🔗

LoopedFlag LOOPED_FLAG_NONE = 0

Ce drapeau indique que l'animation se produit sans aucune boucle.

LoopedFlag LOOPED_FLAG_END = 1

Ce drapeau indique que l'animation a atteint la fin de l'animation et est juste après le traitement de la boucle.

LoopedFlag LOOPED_FLAG_START = 2

Ce drapeau indique que l'animation a atteint le début de l'animation et est juste après le traitement de la boucle.


enum FindMode: 🔗

FindMode FIND_MODE_NEAREST = 0

Trouve la clé avec le temps le plus proche.

FindMode FIND_MODE_APPROX = 1

Trouve seulement la clé en approximant le temps.

FindMode FIND_MODE_EXACT = 2

Trouve seulement la clé en faisant correspondre le temps.


Descriptions des propriétés

bool capture_included = false 🔗

  • bool is_capture_included()

Renvoie true si la piste de capture est incluse. C'est une valeur en lecture seule mise en cache pour les performances.


float length = 1.0 🔗

  • void set_length(value: float)

  • float get_length()

La longueur totale de l’animation (en secondes).

Note: Longueur n’est pas délimitée par la dernière clé, car celle-ci peut-être avant ou après la fin pour assurer une interpolation correcte et le bouclage.


LoopMode loop_mode = 0 🔗

Détermine le comportement des deux extrémités de la chronologie de l'animation pendant la lecture de l'animation. Cela indique si et comment l'animation doit être redemarrée, et est aussi utilisé pour avoir une interpolation correcte des cycles d'animation.


float step = 0.033333335 🔗

La valeur de l’étape d’animation.


Descriptions des méthodes

void add_marker(name: StringName, time: float) 🔗

Ajoute un marqueur à cette animation.


int add_track(type: TrackType, at_position: int = -1) 🔗

Ajoute une piste à l’animation.


StringName animation_track_get_key_animation(track_idx: int, key_idx: int) const 🔗

Renvoie le nom de l'animation à la clé identifiée par key_idx. L'index de piste track_idx doit être l'index d'une piste d'animation.


int animation_track_insert_key(track_idx: int, time: float, animation: StringName) 🔗

Insère une clé avec la valeur animation au temps time donné (en secondes). L'index de piste track_idx doit être l'index d'une piste d'animation.


void animation_track_set_key_animation(track_idx: int, key_idx: int, animation: StringName) 🔗

Définit la clé identifiée par key_idx à la valeur animation. L'index de piste track_idx doit être l'index d'une piste d'animation.


float audio_track_get_key_end_offset(track_idx: int, key_idx: int) const 🔗

Renvoie le décalage de fin de la clé identifiée par key_idx. L'index de piste track_idx doit être l'index d'une piste audio.

Le décalage de fin est le nombre de secondes coupées à la fin du flux audio.


float audio_track_get_key_start_offset(track_idx: int, key_idx: int) const 🔗

Renvoie le décalage de début de la clé identifiée par key_idx. L'index de piste track_idx doit être l'index d'une piste audio.

Le décalage de début est le nombre de secondes coupées au début du flux audio.


Resource audio_track_get_key_stream(track_idx: int, key_idx: int) const 🔗

Renvoie le flux audio de la clé identifiée par key_idx. L'index de piste track_idx doit être l'index d'une piste audio.


int audio_track_insert_key(track_idx: int, time: float, stream: Resource, start_offset: float = 0, end_offset: float = 0) 🔗

Insère une clé de piste audio au temps time donné en secondes. L'index de piste track_idx doit être l'index d'une piste audio.

stream est la ressource AudioStream à jouer. start_offset est le nombre de secondes à couper au début du flux audio, tandis que end_offset est le nombre de secondes à couper à la fin.


bool audio_track_is_use_blend(track_idx: int) const 🔗

Renvoie true si la piste à l'index track_idx sera mélangée avec d'autres animations.


void audio_track_set_key_end_offset(track_idx: int, key_idx: int, offset: float) 🔗

Définit le décalage de fin de la clé identifiée par key_idx à la valeur offset. L'index de piste track_idx doit être l'index d'une piste audio.


void audio_track_set_key_start_offset(track_idx: int, key_idx: int, offset: float) 🔗

Définit le décalage de début de la clé identifiée par key_idx à la valeur offset. L'index de piste track_idx doit être l'index d'une piste audio.


void audio_track_set_key_stream(track_idx: int, key_idx: int, stream: Resource) 🔗

Définit le flux de la clé identifiée par key_idx à la valeur stream. L'index de piste track_idx doit être l'index d'une piste audio.


void audio_track_set_use_blend(track_idx: int, enable: bool) 🔗

Définit si la piste sera mélangée avec d'autres animations. Si true, le volume de lecture audio change en fonction du montant de mélange.


Vector2 bezier_track_get_key_in_handle(track_idx: int, key_idx: int) const 🔗

Renvoie la poignée d'entrée de la clé identifiée par key_idx. Le paramètre track_idx doit être l'index d'une piste de Bézier.


Vector2 bezier_track_get_key_out_handle(track_idx: int, key_idx: int) const 🔗

Renvoie la poignée de sortie de la clé identifiée par key_idx. Le paramètre track_idx doit être l'index d'une piste de Bézier.


float bezier_track_get_key_value(track_idx: int, key_idx: int) const 🔗

Renvoie la valeur de la clé identifiée par key_idx. Le paramètre track_idx doit être l'index d'une piste de Bézier.


int bezier_track_insert_key(track_idx: int, time: float, value: float, in_handle: Vector2 = Vector2(0, 0), out_handle: Vector2 = Vector2(0, 0)) 🔗

Insère une clé de piste de Bézier au temps time donné en secondes. Le paramètre track_idx doit être l'index d'une piste de Bézier.

in_handle est le poids à gauche du point ajouté à la courbe de Bézier, out_handle est celui à droite, tandis que value est la valeur réelle à ce point.


float bezier_track_interpolate(track_idx: int, time: float) const 🔗

Renvoie la valeur interpolée au temps time donné (en secondes). Le paramètre track_idx doit être l'index d'une piste de Bézier.


void bezier_track_set_key_in_handle(track_idx: int, key_idx: int, in_handle: Vector2, balanced_value_time_ratio: float = 1.0) 🔗

Définit la poignée d'entrée de la clé identifiée par key_idx à la valeur in_handle. Le paramètre track_idx doit être l'index d'une piste de Bézier.


void bezier_track_set_key_out_handle(track_idx: int, key_idx: int, out_handle: Vector2, balanced_value_time_ratio: float = 1.0) 🔗

Définit la poignée de sortie de la clé identifiée par key_idx à la valeur out_handle. Le paramètre track_idx doit être l'index d'une piste de Bézier.


void bezier_track_set_key_value(track_idx: int, key_idx: int, value: float) 🔗

Définit la valeur de la clé identifiée par key_idx à la valeur donnée. Le paramètre track_idx doit être l'index d'une piste de Bézier.


int blend_shape_track_insert_key(track_idx: int, time: float, amount: float) 🔗

Insère une clé dans une piste de blend shape donnée. Renvoie l'index de la clé.


float blend_shape_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Renvoie la valeur de la blend shape interpolée au moment donné (en secondes). Le paramètre track_idx doit être l'index d'une piste de blend shape.


void clear() 🔗

Efface l'animation (nettoie toutes les pistes et réinitialise tout).


void compress(page_size: int = 8192, fps: int = 120, split_tolerance: float = 4.0) 🔗

Compresse l'animation et toutes ses pistes en place. Cela fera que track_is_compressed() renvoie true une fois appelée sur ce Animation. Les pistes compressées nécessitent moins de mémoire à jouer et sont conçues pour être utilisées pour des animations 3D complexes (comme des cinématiques) importées de logiciels 3D externes. La compression crée des pertes, mais la différence n'est généralement pas perceptible en conditions réelles.

Note : Les pistes compressées ont diverses limitations (comme ne pas être modifiables dans l'éditeur), donc utilisez uniquement des animations compressées si vous en avez vraiment besoin.


void copy_track(track_idx: int, to_animation: Animation) 🔗

Ajoute une nouvelle piste à to_animation qui est une copie de la piste donnée de cette animation.


int find_track(path: NodePath, type: TrackType) const 🔗

Renvoie l'index de la piste spécifiée. Si la piste n'est pas trouvée, renvoie -1.


StringName get_marker_at_time(time: float) const 🔗

Renvoie le nom du marqueur situé au temps donné.


Color get_marker_color(name: StringName) const 🔗

Renvoie la couleur du marqueur.


PackedStringArray get_marker_names() const 🔗

Renvoie tous les marqueurs dans cette Animation, triés par ordre croissant de temps.


float get_marker_time(name: StringName) const 🔗

Renvoie le temps du marqueur donné.


StringName get_next_marker(time: float) const 🔗

Renvoie le marqueur le plus proche qui vient après le temps donné. Si un tel marqueur n'existe pas, une chaîne vide est renvoyée.


StringName get_prev_marker(time: float) const 🔗

Renvoie le marqueur le plus proche qui vient avant le temps donné. Si un tel marqueur n'existe pas, une chaîne vide est renvoyée.


int get_track_count() const 🔗

Renvoie le nombre de pistes dans l'animation.


bool has_marker(name: StringName) const 🔗

Renvoie true si cette Animation contient un marqueur avec le nom donné.


StringName method_track_get_name(track_idx: int, key_idx: int) const 🔗

Renvoie le nom de la méthode d'une piste de méthode.


Array method_track_get_params(track_idx: int, key_idx: int) const 🔗

Renvoie les valeurs des paramètres d'appel à utiliser sur une piste de méthode pour une clé donnée dans une piste donnée.


void optimize(allowed_velocity_err: float = 0.01, allowed_angular_err: float = 0.01, precision: int = 3) 🔗

Optimise l'animation et toutes ses pistes en place. Cela conservera seulement autant de clés que nécessaire pour garder l'animation dans les limites spécifiées.


int position_track_insert_key(track_idx: int, time: float, position: Vector3) 🔗

Insère une clé dans une piste de position 3D donnée. Renvoie l'index de la clé.


Vector3 position_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Renvoie la valeur de la position interpolée au temps donné (en secondes). Le paramètre track_idx doit être l'index d'une piste de position 3D.


void remove_marker(name: StringName) 🔗

Retire le marqueur avec le nom donné de cette Animation.


void remove_track(track_idx: int) 🔗

Enlève une piste spécifiée par son index.


int rotation_track_insert_key(track_idx: int, time: float, rotation: Quaternion) 🔗

Insère une clé dans une piste de rotation 3D donnée. Renvoie l'index de la clé.


Quaternion rotation_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Renvoie la valeur de la rotation interpolée au temps donné (en secondes). Le paramètre track_idx doit être l'index d'une piste de rotation 3D.


int scale_track_insert_key(track_idx: int, time: float, scale: Vector3) 🔗

Insère une clé dans une piste d'échelle 3D donnée. Renvoie l'index de la clé.


Vector3 scale_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Renvoie la valeur d'échelle interpolée au temps donné (en secondes). Le paramètre track_idx doit être l'index d'une piste d'échelle 3D.


void set_marker_color(name: StringName, color: Color) 🔗

Définit la couleur du marqueur donné.


int track_find_key(track_idx: int, time: float, find_mode: FindMode = 0, limit: bool = false, backward: bool = false) const 🔗

Trouve l'index d'une clé par son temps dans une piste donnée. Optionnellement, ne le trouve que si le temps approximatif/exact est donné.

Si limit vaut true, elle ne renvoie pas les clés en dehors de la plage d'animation.

Si backward vaut true, la direction est inversée dans les méthodes qui comptent sur un traitement uni-directionnel.

Par exemple, dans le cas où find_mode vaut FIND_MODE_NEAREST, s'il n'y a pas de clé dans la position actuelle juste après avoir cherché, la première clé trouvée est récupérée en cherchant avant la position, mais si backward vaut true, la première clé trouvée est récupérée après la position.


bool track_get_interpolation_loop_wrap(track_idx: int) const 🔗

Renvoie true si la piste de track_idx enveloppe la boucle d'interpolation. Les nouvelles pistes enveloppent la boucle d'interpolation par défaut.


InterpolationType track_get_interpolation_type(track_idx: int) const 🔗

Renvoie le type d'interpolation d'une piste donnée.


int track_get_key_count(track_idx: int) const 🔗

Renvoie le nombre de clés dans une piste donnée.


float track_get_key_time(track_idx: int, key_idx: int) const 🔗

Renvoie le temps où est située la clé.


float track_get_key_transition(track_idx: int, key_idx: int) const 🔗

Renvoie la courbe de transition (atténuation) pour une clé spécifique (voir la fonction mathématique intégrée @GlobalScope.ease()).


Variant track_get_key_value(track_idx: int, key_idx: int) const 🔗

Renvoie la valeur d'une clé donnée dans une piste donnée.


NodePath track_get_path(track_idx: int) const 🔗

Obtient le chemin d'une piste. Pour plus d'informations sur le format des chemins, voir track_set_path().


TrackType track_get_type(track_idx: int) const 🔗

Obtient le type d’une piste.


int track_insert_key(track_idx: int, time: float, key: Variant, transition: float = 1) 🔗

Insère une clé générique dans une piste donnée. Renvoie l'index de la clé.


bool track_is_compressed(track_idx: int) const 🔗

Renvoie true si la piste est compressée, false sinon. Voir aussi compress().


bool track_is_enabled(track_idx: int) const 🔗

Renvoie true si la piste à l'index track_idx est activée.


bool track_is_imported(track_idx: int) const 🔗

Renvoie true si la piste donnée est importée. Sinon, renvoie false.


void track_move_down(track_idx: int) 🔗

Déplace une piste vers le bas.


void track_move_to(track_idx: int, to_idx: int) 🔗

Change la position de l'index de la piste track_idx à celle définie dans to_idx.


void track_move_up(track_idx: int) 🔗

Déplace une piste vers le haut.


void track_remove_key(track_idx: int, key_idx: int) 🔗

Supprime une clé par son index dans une piste donnée.


void track_remove_key_at_time(track_idx: int, time: float) 🔗

Supprime une clé au temps time dans une piste donnée.


void track_set_enabled(track_idx: int, enabled: bool) 🔗

Active/désactive la piste donnée. Les pistes sont actives par défaut.


void track_set_imported(track_idx: int, imported: bool) 🔗

Définit la piste donnée comme importée ou non.


void track_set_interpolation_loop_wrap(track_idx: int, interpolation: bool) 🔗

Si true, la piste d'index track_idx enveloppe la boucle d'interpolation.


void track_set_interpolation_type(track_idx: int, interpolation: InterpolationType) 🔗

Définit le type d'interpolation d'une piste donnée.


void track_set_key_time(track_idx: int, key_idx: int, time: float) 🔗

Définit l’heure d’une clé existante.


void track_set_key_transition(track_idx: int, key_idx: int, transition: float) 🔗

Définit la courbe de transition (atténuation) pour une clé donnée (voir la fonction mathématique intégrée @GlobalScope.ease()).


void track_set_key_value(track_idx: int, key: int, value: Variant) 🔗

Définit la valeur d'une clé.


void track_set_path(track_idx: int, path: NodePath) 🔗

Définit le chemin d'une piste. Les chemins doivent être des chemins de scène valides vers un nœud et doivent être spécifiés à partir du nœud AnimationMixer.root_node qui va reproduire l'animation. Les pistes qui contrôlent des propriétés ou des os doivent ajouter leur nom après le chemin, séparé par ":".

Par exemple, "personnage/squelette:cheville" ou "personnage/maillage:transform/local".


void track_swap(track_idx: int, with_idx: int) 🔗

Échange la position de la piste d'index track_idx avec la piste d'index with_idx.


UpdateMode value_track_get_update_mode(track_idx: int) const 🔗

Renvoie le mode de mise à jour d'une piste de valeur.


Variant value_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Renvoie la valeur interpolée au temps donné (en secondes). Le paramètre track_idx doit être l'index d'une piste de valeur.

Le paramètre backward affecte principalement la direction de la récupération de clé de la piste avec UPDATE_DISCRETE converti par AnimationMixer.ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS pour correspondre au résultat de track_find_key().


void value_track_set_update_mode(track_idx: int, mode: UpdateMode) 🔗

Définit le mode de mise à jour d'une piste de valeur.