spine-godot

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

Сайт: en.esotericsoftware.com/spine-godot

spine-godot — официальный плагин-рендерер для интеграции 2D-скелетной анимации, созданной в инструменте Spine, в игровой движок Godot. Проект обеспечивает загрузку данных скелетов, атласов текстур и описаний анимаций, исполнение и отрисовку скелетных персонажей внутри сцены Godot с поддержкой обычно используемых форматов экспорта Spine. Плагин ориентирован на разработчиков, использующих как GDScript, так и C#, и реализует интерфейсы и узлы, совместимые с архитектурой Godot для удобного включения анимаций в игровые механики, систему событий и рендер-пайплайн.

Исторически spine-godot возник как ответ на потребность в надежном и производительном способе воспроизведения Spine-анимаций прямо в Godot без промежуточных конвертаций. Документация и исходный код плагина обычно содержат описания узлов для отображения скелета, средств управления анимацией, микширования и замены скинов, а также обработку коллизий и пользовательских событий анимации. Если официальной информации по конкретным версиям плагина недостаточно, в тексте ниже кратко изложены типичные функции и сценарии применения, характерные для официальных интеграций Spine с игровыми движками.

  • Загрузка форматов Spine: поддержка чтения JSON или binary (binary/skeleton) форматов экспорта Spine, включая атласы текстур.
  • Узлы рендеринга: специализированные узлы/контроллеры для размещения и отрисовки скелетов в сценах Godot с управлением порядком отрисовки и видимостью слоёв.
  • API управления анимацией: методы для запуска, остановки, переходов (crossfade), микширования нескольких анимаций и управления треками анимации.
  • Поддержка GDScript и C#: биндинги и примеры использования интерфейсов как в GDScript, так и в C# для интеграции с игровыми логиками.
  • Скины и смена ресурсов: динамическая подмена скинов, слотов и отдельных регионов текстур во время выполнения.
  • Взаимодействие с физикой и коллизиями: экспорт и привязка примитивов коллизий к костям скелета для синхронизации с физической системой Godot.
  • События анимации: поддержка пользовательских событий (event callbacks) и уведомлений о ключевых кадрах внутри анимаций.
  • Оптимизация рендеринга: батчинг спрайтов/подготовка атласов и снижение количества draw calls для повышения производительности.
  • Поддержка деформаций: применение деформаций мешей и вершинных сдвигов, используемых в Spine для более плавной анимации.
  • Инструменты отладки: визуализация костей, осей и ограничений для отладки анимаций прямо в редакторе Godot.
Подробнее