AnimationPlayer — узел игровой движка, предназначенный для создания, воспроизведения и управления анимациями объектов сцены. Он предоставляет систему ключевых кадров и таймлайнов, позволяющую анимировать свойства узлов и их параметров в течение времени. AnimationPlayer обычно используется для управления трансформациями, визуальными свойствами, сигналами и пользовательскими параметрами, объединяя несколько дорожек в одном контролируемом блоке.
Исторически AnimationPlayer является частью инструментов для анимации в редакторах игровых движков и адаптирован для интеграции с системой сцены, скриптами и сигналами. В типичном рабочем процессе пользователь создает набор анимаций (например, «ходьба», «прыжок», «открыть дверь»), редактирует ключевые кадры для отдельных свойств и затем переключается между анимациями программно или через систему состояний. Узел поддерживает управление временем воспроизведения, циклы и синхронизацию нескольких анимаций.
Функционально AnimationPlayer сочетает редакторную и рантайм-части: в редакторе предоставляются инструменты для записи и редактирования ключей, а в рантайме — API для запуска анимаций, их прерывания, смешивания и получения текущего состояния. Он часто взаимодействует с другим узлом анимации (например, AnimationTree) для сложных схем переходов и процедурного смешивания.
- Ключевые кадры: хранение и воспроизведение ключей для свойств узлов, позволяющее задавать значения в определенные моменты времени.
 - Множественные дорожки: поддержка разных типов дорожек (свойства, вызовы методов, сигналов, смешивание трансформаций и т.д.).
 - Управление воспроизведением: запуск, остановка, пауза, перемотка и установка текущего времени анимации через API.
 - Цикличность и повторы: возможность задавать режимы повтора и зацикливания для отдельных анимаций.
 - Смешивание анимаций: переходы между анимациями с интерполяцией и управление весами для плавного комбинирования.
 - События и вызовы: поддержка ключей, вызывающих методы или испускающих сигналы в заданные моменты анимации.
 - Редакторная интеграция: визуальные инструменты для редактирования таймлайна, кривых интерполяции и точек ключей в редакторе сцены.
 - Интерполяция и кривые: различные режимы интерполяции между ключами (например, линейная, кубическая), а также возможность редактировать кривые плавности.
 - Работа с вложенными узлами: анимация свойств дочерних узлов по их относительным путям в дереве сцены.
 - API для скриптов: методы для проверки наличия анимации, получения списка анимаций, управления очередью проигрывания и подключения обратных вызовов при окончании.