Spline — бесплатный редактор 2D анимации
Здравствуйте! С недавних пор разрабатываю бесплатный аналог достаточно популярного редактора 2D анимации Spine. Основная идея разработки – возможность открывать проекты Spine и экспортировать результат в формат совместимый с плагинами Spine для игровых движков. Так же, с самого начала разработки был заложен функционал для автоматизации: вместе с редактором есть CLI для работы со скриптами и MCP для подключения ИИ-ассистентов. Через них можно читать и менять проекты, работать с анимациями и запускать экспорт.
По функционалу уже есть кости, слоты, скины, меши с весами и deform-анимация. Сетку можно построить по прозрачности изображения или вручную, затем править вершины и рёбра, настраивать UV и рисовать веса кистью. Для работы с геометрией есть мягкое выделение, чтобы двигать участок сетки с плавным затуханием влияния на соседние точки.
Работают IK, Transform и Path constraints, физические колебания и clipping. Скины позволяют собирать варианты персонажа с разными изображениями, костями и ограничениями. На таймлайне можно переносить и копировать ключи, делать циклический сдвиг и настраивать переходы в редакторе кривых. Изменения можно предварительно посмотреть и отменить через общую историю.
Есть возможность импорта PSD файла, слои импортируются в отдельные изображения. С исходником можно сохранить связь – при сохранении файла в Photoshop, Spline автоматически обновит связанные со слоями изображения
Есть импорт и экспорт Spine JSON и бинарного .skel, сборка атласов, экспорт PNG, APNG и GIF. Видео сохраняется через внешний FFmpeg. Для самих проектов предусмотрены автосохранение, восстановление и перенос вместе с ресурсами.
Реализация - C++20, Qt 6 и QML. Для расчёта поз, деформаций и работы с плотными сетками важен контроль над памятью и вычислениями - здесь подходит C++. Qt даёт готовые средства для окон, ввода и аппаратной отрисовки сцены, а QML позволяет развивать интерфейс отдельно от расчёта анимации. Ядро общее для GUI, CLI и MCP: команды из интерфейса и автоматизации проходят через один слой работы с проектом и одну систему отмены.
Редактор ещё в разработке: инструменты и интерфейс дорабатываются, у обмена со Spine остаются ограничения по версиям и типам данных.
Если вас заинтересовал проект, скачать его можно на сайте https://spline2d.com/
Интересно, лайк, подписка. )