AnimationPlayer

Бесплатно
Открытый исходный код
Windows
macOS
Linux
Android
iOS

Сайт: godotengine.org

AnimationPlayer — узел игровой движка, предназначенный для создания, воспроизведения и управления анимациями объектов сцены. Он предоставляет систему ключевых кадров и таймлайнов, позволяющую анимировать свойства узлов и их параметров в течение времени. AnimationPlayer обычно используется для управления трансформациями, визуальными свойствами, сигналами и пользовательскими параметрами, объединяя несколько дорожек в одном контролируемом блоке.

Исторически AnimationPlayer является частью инструментов для анимации в редакторах игровых движков и адаптирован для интеграции с системой сцены, скриптами и сигналами. В типичном рабочем процессе пользователь создает набор анимаций (например, «ходьба», «прыжок», «открыть дверь»), редактирует ключевые кадры для отдельных свойств и затем переключается между анимациями программно или через систему состояний. Узел поддерживает управление временем воспроизведения, циклы и синхронизацию нескольких анимаций.

Функционально AnimationPlayer сочетает редакторную и рантайм-части: в редакторе предоставляются инструменты для записи и редактирования ключей, а в рантайме — API для запуска анимаций, их прерывания, смешивания и получения текущего состояния. Он часто взаимодействует с другим узлом анимации (например, AnimationTree) для сложных схем переходов и процедурного смешивания.

  • Ключевые кадры: хранение и воспроизведение ключей для свойств узлов, позволяющее задавать значения в определенные моменты времени.
  • Множественные дорожки: поддержка разных типов дорожек (свойства, вызовы методов, сигналов, смешивание трансформаций и т.д.).
  • Управление воспроизведением: запуск, остановка, пауза, перемотка и установка текущего времени анимации через API.
  • Цикличность и повторы: возможность задавать режимы повтора и зацикливания для отдельных анимаций.
  • Смешивание анимаций: переходы между анимациями с интерполяцией и управление весами для плавного комбинирования.
  • События и вызовы: поддержка ключей, вызывающих методы или испускающих сигналы в заданные моменты анимации.
  • Редакторная интеграция: визуальные инструменты для редактирования таймлайна, кривых интерполяции и точек ключей в редакторе сцены.
  • Интерполяция и кривые: различные режимы интерполяции между ключами (например, линейная, кубическая), а также возможность редактировать кривые плавности.
  • Работа с вложенными узлами: анимация свойств дочерних узлов по их относительным путям в дереве сцены.
  • API для скриптов: методы для проверки наличия анимации, получения списка анимаций, управления очередью проигрывания и подключения обратных вызовов при окончании.
Подробнее