Animation

Inherits: Resource < Reference < Object

Contiene datos usados para animar todo en el motor.

Descripción

An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks, and each track must be linked to a node. The state of that node can be changed through time, by adding timed keys (events) to the track.

# This creates an animation that makes the node "Enemy" move to the right by
# 100 pixels in 0.5 seconds.
var animation = Animation.new()
var track_index = animation.add_track(Animation.TYPE_VALUE)
animation.track_set_path(track_index, "Enemy:position:x")
animation.track_insert_key(track_index, 0.0, 0)
animation.track_insert_key(track_index, 0.5, 100)

Animations are just data containers, and must be added to nodes such as an AnimationPlayer or AnimationTreePlayer to be played back. Animation tracks have different types, each with its own set of dedicated methods. Check TrackType to see available types.

Tutoriales

Propiedades

float

length

1.0

bool

loop

false

float

step

0.1

Métodos

int

add_track ( TrackType type, int at_position=-1 )

String

animation_track_get_key_animation ( int track_idx, int key_idx ) const

int

animation_track_insert_key ( int track_idx, float time, String animation )

void

animation_track_set_key_animation ( int track_idx, int key_idx, String animation )

float

audio_track_get_key_end_offset ( int track_idx, int key_idx ) const

float

audio_track_get_key_start_offset ( int track_idx, int key_idx ) const

Resource

audio_track_get_key_stream ( int track_idx, int key_idx ) const

int

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

void

audio_track_set_key_end_offset ( int track_idx, int key_idx, float offset )

void

audio_track_set_key_start_offset ( int track_idx, int key_idx, float offset )

void

audio_track_set_key_stream ( int track_idx, int key_idx, Resource stream )

Vector2

bezier_track_get_key_in_handle ( int track_idx, int key_idx ) const

Vector2

bezier_track_get_key_out_handle ( int track_idx, int key_idx ) const

float

bezier_track_get_key_value ( int track_idx, int key_idx ) const

int

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

float

bezier_track_interpolate ( int track_idx, float time ) const

void

bezier_track_set_key_in_handle ( int track_idx, int key_idx, Vector2 in_handle )

void

bezier_track_set_key_out_handle ( int track_idx, int key_idx, Vector2 out_handle )

void

bezier_track_set_key_value ( int track_idx, int key_idx, float value )

void

clear ( )

void

copy_track ( int track_idx, Animation to_animation )

int

find_track ( NodePath path ) const

int

get_track_count ( ) const

PoolIntArray

method_track_get_key_indices ( int track_idx, float time_sec, float delta ) const

String

method_track_get_name ( int track_idx, int key_idx ) const

Array

method_track_get_params ( int track_idx, int key_idx ) const

void

remove_track ( int track_idx )

int

track_find_key ( int track_idx, float time, bool exact=false ) const

bool

track_get_interpolation_loop_wrap ( int track_idx ) const

InterpolationType

track_get_interpolation_type ( int track_idx ) const

int

track_get_key_count ( int track_idx ) const

float

track_get_key_time ( int track_idx, int key_idx ) const

float

track_get_key_transition ( int track_idx, int key_idx ) const

Variant

track_get_key_value ( int track_idx, int key_idx ) const

NodePath

track_get_path ( int track_idx ) const

TrackType

track_get_type ( int track_idx ) const

void

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

bool

track_is_enabled ( int track_idx ) const

bool

track_is_imported ( int track_idx ) const

void

track_move_down ( int track_idx )

void

track_move_to ( int track_idx, int to_idx )

void

track_move_up ( int track_idx )

void

track_remove_key ( int track_idx, int key_idx )

void

track_remove_key_at_position ( int track_idx, float position )

void

track_set_enabled ( int track_idx, bool enabled )

void

track_set_imported ( int track_idx, bool imported )

void

track_set_interpolation_loop_wrap ( int track_idx, bool interpolation )

void

track_set_interpolation_type ( int track_idx, InterpolationType interpolation )

void

track_set_key_time ( int track_idx, int key_idx, float time )

void

track_set_key_transition ( int track_idx, int key_idx, float transition )

void

track_set_key_value ( int track_idx, int key, Variant value )

void

track_set_path ( int track_idx, NodePath path )

void

track_swap ( int track_idx, int with_idx )

int

transform_track_insert_key ( int track_idx, float time, Vector3 location, Quat rotation, Vector3 scale )

Array

transform_track_interpolate ( int track_idx, float time_sec ) const

PoolIntArray

value_track_get_key_indices ( int track_idx, float time_sec, float delta ) const

UpdateMode

value_track_get_update_mode ( int track_idx ) const

Variant

value_track_interpolate ( int track_idx, float time_sec ) const

void

value_track_set_update_mode ( int track_idx, UpdateMode mode )

Señales

  • tracks_changed ( )

Emitido cuando hay un cambio en la lista de pistas, por ejemplo, las pistas se añaden, se mueven o han cambiado de camino.

Enumeraciones

enum TrackType:

  • TYPE_VALUE = 0 --- Las pistas de valores establecen valores en las propiedades de los nodos, pero sólo los que pueden ser interpolados.

  • TYPE_TRANSFORM = 1 --- Las pistas de transformación se usan para cambiar las transformaciones locales de los nodos o los huesos del esqueleto. Las transiciones se interpolan.

  • TYPE_METHOD = 2 --- El método rastrea las funciones de llamada con argumentos dados por clave.

  • TYPE_BEZIER = 3 --- Las pistas de Bezier se usan para interpolar un valor usando curvas personalizadas. También se pueden utilizar para animar sub-propiedades de vectores y colores (por ejemplo, el valor alfa de un Color).

  • TYPE_AUDIO = 4 --- Las pistas de audio se utilizan para reproducir un stream de audio con cualquier tipo de AudioStreamPlayer. El stream puede ser recortado y previsualizado en la animación.

  • TYPE_ANIMATION = 5 --- Las pistas de animación reproducen las animaciones en otros nodos AnimationPlayer.


enum InterpolationType:

  • INTERPOLATION_NEAREST = 0 --- No hay interpolación (valor más cercano).

  • INTERPOLATION_LINEAR = 1 --- Interpolación lineal.

  • INTERPOLATION_CUBIC = 2 --- Interpolación cúbica.


enum UpdateMode:

  • UPDATE_CONTINUOUS = 0 --- Actualización entre fotogramas clave.

  • UPDATE_DISCRETE = 1 --- Actualizar los fotogramas clave y mantener el valor.

  • UPDATE_TRIGGER = 2 --- Actualización de los fotogramas clave.

  • UPDATE_CAPTURE = 3 --- Igual que la interpolación lineal, pero también interpola a partir del valor actual (es decir, dinámicamente en tiempo de ejecución) si la primera clave no está en 0 segundos.

Descripciones de Propiedades

Default

1.0

Setter

set_length(value)

Getter

get_length()

La duración total de la animación (en segundos).

Nota: La longitud no está delimitada por la última clave, ya que ésta puede estar antes o después del final para asegurar una correcta interpolación y bucle.


Default

false

Setter

set_loop(value)

Getter

has_loop()

A flag indicating that the animation must loop. This is used for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.


Default

0.1

Setter

set_step(value)

Getter

get_step()

El valor del paso de la animación.

Descripciones de Métodos

Añade una pista a la animación.


  • String animation_track_get_key_animation ( int track_idx, int key_idx ) const

Devuelve el nombre de la animación en la clave identificada por key_idx. El track_idx debe ser el índice de una pista de animación.


Inserta una clave con el valor animation en el time dado (en segundos). El track_idx debe ser el índice de una pista de animación.


  • void animation_track_set_key_animation ( int track_idx, int key_idx, String animation )

Establece la clave identificada por key_idx como valor de animación. El track_idx debe ser el índice de una pista de animación.


  • float audio_track_get_key_end_offset ( int track_idx, int key_idx ) const

Devuelve el desplazamiento final de la clave identificada por key_idx. El track_idx debe ser el índice de una pista de audio.

El dezplazamiento final es el número de segundos que se cortan al final de la pista de audio.


  • float audio_track_get_key_start_offset ( int track_idx, int key_idx ) const

Devuelve el desplazamiento inicial de la clave identificada por key_idx. El track_idx debe ser el índice de una pista de audio.

El desplazamiento de inicio es el número de segundos cortados al principio de la pista de audio.


  • Resource audio_track_get_key_stream ( int track_idx, int key_idx ) const

Devuelve el stream de audio de la clave identificada por key_idx. El track_idx debe ser el índice de una pista de audio.


Inserta una clave de pista de Audio en el time dado en segundos. El track_idx debe ser el índice de una Pista de Audio.

stream es el recurso de AudioStream para reproducir. start_offset es el número de segundos que se cortan al principio del stream de audio, mientras que end_offset está al final.


  • void audio_track_set_key_end_offset ( int track_idx, int key_idx, float offset )

Establece el desplazamiento final de la clave identificada por key_idx como el valor de offset. El track_idx debe ser el índice de una pista de audio.


  • void audio_track_set_key_start_offset ( int track_idx, int key_idx, float offset )

Establece el desplazamiento inicial de la clave identificada por key_idx como el valor de offset. El track_idx debe ser el índice de una pista de audio.


  • void audio_track_set_key_stream ( int track_idx, int key_idx, Resource stream )

Sets the stream of the key identified by key_idx to value stream. The track_idx must be the index of an Audio Track.


  • Vector2 bezier_track_get_key_in_handle ( int track_idx, int key_idx ) const

Devuelve el in handle de la clave identificada por key_idx. El track_idx debe ser el índice de una pista de Bezier.


  • Vector2 bezier_track_get_key_out_handle ( int track_idx, int key_idx ) const

Devuelve el out handle de la llave identificada por key_idx. El track_idx debe ser el índice de una pista de Bezier.


  • float bezier_track_get_key_value ( int track_idx, int key_idx ) const

Devuelve el valor de la clave identificada por key_idx. El track_idx debe ser el índice de una pista de Bezier.


Inserta una CLAVE en una pista de Bezier en el time dado en segundos. El track_idx debe ser el índice de una pista de Besier.

in_handle es el peso del lado izquierdo del punto de la curva de Bezier añadido, out_handle es el del lado derecho, mientras que value es el valor actual en este punto.


  • float bezier_track_interpolate ( int track_idx, float time ) const

Devuelve el valor interpolado en el time dado (en segundos). El track_idx debe ser el índice de una pista de Bezier.


  • void bezier_track_set_key_in_handle ( int track_idx, int key_idx, Vector2 in_handle )

Establece el in handle de la clave identificada por key_idx como el valor de in_handle. El track_idx debe ser el índice de una pista de Bezier.


  • void bezier_track_set_key_out_handle ( int track_idx, int key_idx, Vector2 out_handle )

Establece el out handle de la llave identificada por key_idx como el valor de out_handle. El track_idx debe ser el índice de una pista de Bezier.


  • void bezier_track_set_key_value ( int track_idx, int key_idx, float value )

Establece el valor de la clave identificada por key_idx al valor dado. El track_idx debe ser el índice de una pista de Bezier.


  • void clear ( )

Limpiar la animacion (limpia todas las pistas y reinicia todo).


Añade una nueva pista que es una copia de la pista dada de to_animation.


Devuelve el índice de la pista especificada. Si la pista no se encuentra, devuelve -1.


  • int get_track_count ( ) const

Devuelve la cantidad de pistas en la animación.


Devuelve todos los índices clave de una pista de método, dada una posición y tiempo delta.


  • String method_track_get_name ( int track_idx, int key_idx ) const

Devuelve el nombre del método de una pista de método.


  • Array method_track_get_params ( int track_idx, int key_idx ) const

Devuelve los valores de los argumentos que se llamarán en una pista del método para una clave determinada en una pista determinada.


  • void remove_track ( int track_idx )

Elimina una pista especificando el índice de la pista.


Encuentra el índice clave por tiempo en una pista determinada. Opcionalmente, sólo lo encuentra si se da la hora exacta.


  • bool track_get_interpolation_loop_wrap ( int track_idx ) const

Devuelve true si la pista en idx envuelve el bucle de interpolación. Las nuevas pistas envuelven el bucle de interpolación por defecto.


Devuelve el tipo de interpolación de una pista determinada.


  • int track_get_key_count ( int track_idx ) const

Devuelve la cantidad de claves en una pista determinada.


  • float track_get_key_time ( int track_idx, int key_idx ) const

Devuelve la hora en la que se encuentra la clave.


  • float track_get_key_transition ( int track_idx, int key_idx ) const

Devuelve la curva de transición (relajación) para una clave específica (ver la función matemática incorporada @GDScript.ease).


  • Variant track_get_key_value ( int track_idx, int key_idx ) const

Devuelve el valor de una clave determinada en una pista determinada.


Obtiene el camino de una pista. Para más información sobre el formato de la ruta, ver track_set_path.


Obtiene el tipo de pista.


Insertar una clave genérica en una pista determinada.


  • bool track_is_enabled ( int track_idx ) const

Devuelve true si la pista en el índice idx está habilitada.


  • bool track_is_imported ( int track_idx ) const

Devuelve true si la pista dada es importada. Si no, devuelve false.


  • void track_move_down ( int track_idx )

Mueve una pista hacia abajo.


  • void track_move_to ( int track_idx, int to_idx )

Cambia la posición del índice de la pista idx a la definida en to_idx.


  • void track_move_up ( int track_idx )

Mueve una pista hacia arriba.


  • void track_remove_key ( int track_idx, int key_idx )

Elimina una clave por índice en una pista dada.


  • void track_remove_key_at_position ( int track_idx, float position )

Quita una clave por posición (segundos) en una pista determinada.


  • void track_set_enabled ( int track_idx, bool enabled )

Habilita o deshabilita la pista dada. Las pistas están habilitadas por defecto.


  • void track_set_imported ( int track_idx, bool imported )

Establece la pista dada como importada o no.


  • void track_set_interpolation_loop_wrap ( int track_idx, bool interpolation )

Si true, la pista en idx envuelve el bucle de interpolación.


Establece el tipo de interpolación de una pista determinada.


  • void track_set_key_time ( int track_idx, int key_idx, float time )

Establece la hora de una clave existente.


  • void track_set_key_transition ( int track_idx, int key_idx, float transition )

Establece la curva de transición (relajación) para una clave específica (ver la función matemática incorporada @GDScript.ease).


  • void track_set_key_value ( int track_idx, int key, Variant value )

Establece el valor de una clave existente.


Sets the path of a track. Paths must be valid scene-tree paths to a node and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by ":".

For example, "character/skeleton:ankle" or "character/mesh:transform/local".


  • void track_swap ( int track_idx, int with_idx )

Intercambia la posición del índice de la pista idx con la pista con_idx.


Inserte una clave de transformación para una pista de transformación.


  • Array transform_track_interpolate ( int track_idx, float time_sec ) const

Devuelve el valor interpolado de una pista de transformación en un momento dado (en segundos). Una array compuesto por 3 elementos: posición (Vector3), rotación (Quat) y escala (Vector3).


Devuelve todos los índices clave de una pista de valores, dada una posición y un tiempo delta.


Devuelve el modo de actualización de una pista de valores.


Returns the interpolated value at the given time (in seconds). The track_idx must be the index of a value track.


  • void value_track_set_update_mode ( int track_idx, UpdateMode mode )

Establece el modo de actualización (ver UpdateMode) de una pista de valores.