Animation - mgea/godot GitHub Wiki

Hay dos modos de animación:

  • AnimationPlayer - crea un nodo con linea de tiempo que establece animación por interpolación entre keyframes
  • AnimatedSprite2D - crea un ciclo de animación partiendo de una lista de sprites (o de una spritesheet)

AnimationPlayer

https://docs.godotengine.org/en/latest/tutorials/animation/introduction.html

Control de animación con el panel en el que se maneja con keyframes

En animationPlayer es un nodo

https://www.youtube.com/watch?v=V9kshvtj6s0

Si se quiere usar la animación creada, se puede asociar a un nodo a través de un script (gdscript).

  • En el caso del nodo AnimationPlayer, se puede poner directamente la función play()
  • Se puede usar desde otros nodos llamando al objeto de animación ``$AnimationPlayer.play()```

Funciones disponibles para control de animación (https://docs.godotengine.org/en/stable/classes/class_animationplayer.html)


pause()
play()
stop()

Animaciones anidadas con animationPlayer (tips)

Cuando se usa animationPlayer con nodos en jerarquía, se guarda toda la animación con posiciones absolutas. Simplifica su manejo pero no permite reutilizarlas.

Para ello, un consejo es sacar de la jerarquía los nodos que se van a animar (y de este modo se hacen con posicionamiento relativo)

más info

Ejemplos

AnimationSprite2D

Animación 2D usando sprites.

Info: https://docs.godotengine.org/en/stable/tutorials/2d/2d_sprite_animation.html

Ejemplo: https://github.com/mgea/godot/tree/main/animatedSprite_basic

Crear nodo AnimatedSprite2D

Hay que usar un spritesheet con todos los movimientos del personaje

spritesheet

Funciones disponibles para control de animación (https://docs.godotengine.org/en/stable/classes/class_animationplayer.html)

pause()
play("animation")
stop()

Tutorial. https://www.youtube.com/watch?v=5k2eD_57_qA