Skip to content

exporting data from aseprite (ru)

nklbdev edited this page Aug 3, 2023 · 11 revisions

Заметки об экспорте данных из Aseprite/LibreSprite

en ru

Aseprite logo

Aseprite - замечательное приложение для работы с pixel-art графикой и анимацией. У него много удобных инструментов для рисования, возможность изменения палитр и таблица слоев и кадров. На линии кадров можно выделять диапазоны с помощью тегов, в которых можно указать направление и количество повторений анимации. Для каждого кадра можно индивидуально задать длительность. Слои могут быть 4 типов: обычный растровый слой, референсный слой, слой тайловой карты и группа слоёв.

У него есть более простой, но свободный аналог - LibreSprite. Он был основан группой независимых разработчиков с тех пор, как Aseprite сменил лицензию и перестал быть свободным ПО, хоть и остался в статусе ПО с отркытым исходным кодом. LibreSprite был ответвлён от последнего коммита Aseprite, выпущенного под лицензией свободного ПО.

У LibreSprite гораздо меньше возможностей, но он может заменить Aseprite для Importality. Но с некоторыми ограничениями. Например:

  • Он не распознает направление анимации "ping-pong reversed". Вместо него он сделает "forward".
  • Он не распознает количество повторений анимации. Вместо этого все анимации будут бесконечными.
  • Он может не распознать много новых функций, которые появились с тех пор в Aseprite, например, тайловые карты. Так же у него могут возникнуть проблемы с группами слоёв, так как он поддерживает только отдельные слои.

Направление анимации и количество повторов можно жёстко задать с помощью суффиксов в именах тэгов:

<animation_name> [-d:<direction>] [-r:<repeat_count>]

Где:

  • direction - направление анимации. Возможные значения:
    • f (forward) - вперёд (по умолчанию)
    • r (reverse) - обратно
    • pp (ping-pong) - вперёд, а затем обратно
    • ppr (ping-pong reverse) - сначала обратно, а затем вперёд
  • repeat_count - количество повторений анимации (по умолчанию 1). Если указано 0, анимация будет зациклена бесконечно

Например:

Idle -r:0
Walk -r:0
Jump -r:1
Crouch -r:1
Hurt -r:1
Die -r:1
Special -d:pp -r:0

Aseprite позволяет гибко настроить экспорт в разные форматы, указывать, какие слои и тэги будут участвовать в экспорте, и самое главное - создавать атласы анимаций, так называемые sprite sheets. А так же у него есть богатый API для сценариев на Lua и CLI (интерфейс командной строки).

Чтобы не приходилось постоянно вызывать экспорт из Aseprite/LibreSprite вручную и потом настраивать импорт его результатов в проект Godot, можно настроить импорт *.aseprite-файлов с помощью Importality. Для этого в настройках проекта в секции "Importality" укажите директорию временных файлов и укажите путь к исполняемому файлу Aseprite (или LibreSprite). Затем выберите *.aseprite-файл в дереве файловой системы Godot, на вкладке "Import" выберите нужный формат импорта, настройте его параметры и нажмите кнопку "Reimport". При изменении формата импорта движок потребует перезагрузку.

Если вы импортируете *.aseprite-файл как изображение, будет импортирован лишь первый его кадр. Если как набор анимаций - то будет создано по одной одноимённой анимации на каждый тег на таблице кадров. Плагин распознает направление анимации и количество её повторов.

Settings

Import options

Если при импорте произошли какие-то ошибки, внимательно прочитайте сообщения в консоли "Output" (вывод) и проверьте, правильно ли заполнены настройки путей и параметры импорта. Так же может помочь удаление *.import-файла рядом с файлом *.aseprite и одноимённых файлов из скрытой папки .godot/imported. Если эти действия не помогли, заведите тикет о своей проблеме в этом репозитории, и опишите в нём свою проблему. Укажите в нём вашу операционную систему, версию Aseprite/LibreSprite, способ его дистрибуции и версию движка Godot. Приложите к нему скриншоты и другие материалы, которые помогут воспроизвести и исправить вашу проблему. Вы очень поможете этим развитию проекта!

Clone this wiki locally