Spline2D - бесплатный редактор 2D анимации
2 поста
Здравствуйте! Продолжаю разработку Spline2D - бесплатного редактора 2D-анимации, о котором рассказывал в прошлом посте. С прошлого поста было обновлено - создание рига, редактирование сеток и интерфейс, исправлено несколько проблем, которые проявлялись при долгой работе с проектами.
Добавлена стартовая страница с примерами и недавними проектам. У проектов есть превью, поиск и закрепление. На «Главную» можно вернуться без закрытия текущего проекта.
В редакторе сетки больше не нужно отдельно переключаться между выбором вершин, рёбер и треугольников, все объекты доступны в одном редакторе. Новое ребро можно добавить с зажатой D кликами по ребрам или вершинам которые хотите соединить.
Перестроение сетки теперь раскрывается в той же панели. Можно изменить плотность или задать новый контур.
Переработано создание IK. В режиме «Настройка» нужно выделить две связанные кости — родителя и его прямого потомка — и нажать «Создать IK». Редактор создаст цель на конце цепочки и настроит ограничение, сохранив исходную позу. В дальнейшем можно изменять параметры IK в редакторе
Перемещение, поворот, масштаб и наклон перенесены в панель трансформации. В верхней части вьюпорта показан путь по иерархии для выделенного объекта. Переключатель «Настройка / Анимация» стал более заметным. Значения числовых полей менять колёсиком мыши, с Shift — более мелким шагом.
На таймлайне и в редакторе кривых добавлена заметная граница конца анимации: линия с номером кадра и затемнённая область за ней. Диапазон предпросмотра по-прежнему настраивается отдельно и не меняет длительность анимации.
Из менее заметного — запись копий восстановления перенесена в фоновый процесс. Исправлена проблема, из-за которой после большого количества операций переставали работать дальнейшие правки и отмена. Для CLI и MCP добавлена защита от устаревших заданий: если проект закрыли и открыли заново, результат экспорта из прежнего сеанса не сможет выдаться за результат текущего.
На плотных сетках ускорен пересчёт отображаемых процентов весов. При работе со связанным PSD устранена блокировка, которая могла мешать внешнему редактору заменить файл при сохранении.
Появился выбор русского и английского интерфейса в настройках; язык сохраняется и применяется после перезапуска.
Скачать актуальную сборку можно на сайте https://spline2d.com/
Здравствуйте! С недавних пор разрабатываю бесплатный аналог достаточно популярного редактора 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/
