Это плагин для игрового движка Godot 4.x, добавляющий несколько плагинов импорта для файлов графического пиксел-арт редактора Aseprite 1.3+.
Этот плагин в настоящее время ещё работоспособен, но попробуйте вместо него Importality - более полный м функциональный набор импортеров графики и анимации самых разных форматов!
godot_aseprite_importers_preview.mp4
Просто скачайте этот плагин из Библиотеки Ассетов Godot
Другой способ - скачайте или клонируйте этот репозиторий и скопируйте содержимое его папки addons
в папку addons
вашего проекта.
После этого:
- Откройте Настройки проекта (Project Settings)
- Переключитесь на вкладку Плагины (Plugins)
- Включите плагин, установив флажок напротив его названия
- Переключитесь на вкладку Основное (General)
- Включите переключатель "Расширенные настройки" (Advanced Settings)
- Промотайте вниз дерево настроек и выберите секцию Aseprite Importers
- Укажите в настройках этой секции путь к исполняемому файлу Aseprite
После установки плагина в проекте появится поддержка .ase
- и .aseprite
-файлов.
- Поместите Aseprite-файлы в проект
- Выберите один или несколько Aseprite-файлов в дереве файловой системы проекта
- В панели импорта выберите один из плагинов импорта
- Установите настройки импорта
- Опционально установите настроеннуюю конфигурацию настроек по умолчанию для выбранного плагина импорта
- Нажмите кнопку
Reimport
Spritesheet
- настройки листа спрайтовEmbed Image
(пока не реализовано) - включить полученное изображение в ресурс или разместить рядом с исходным файломLayout
- вариант раскладки листа спрайтовPacked
- упакованный - все спрайты обрезаны и максимально плотно прилегают друг к другуBy Rows
(с параметромFixed Columns Count
) - по строкам - все спрайты имеют одинаковый размер и располагаются по строкам фиксированной шириныBy Columns
(с параметромFixed Columns Count
) - по колонкам - все спрайты имеют одинаковый размер и располагаются по колонкам фиксированной высоты
Border Type
- тип рамки вокруг каждого спрайтаNone
- спрайты в листе примыкают друг к другу без зазоровTransparent
- вокруг каждого спрайта создается прозрачная рамка шириной в 1 пикселExtruded
- вокруг каждого спрайта создается рамка шириной в 1 пиксел, дублирующая цвета прилежащих пикселов спрайта
Trim
- (only for grid-based layouts) - одинаково уменьшает все ячейки спрайтов так, чтобы анимация была вписана в новый размер ячейкиIgnore Empty
- не включает в лист спрайты, на которых все пикселы прозрачныеMerge Duplicates
- объединяет одинаковые спрайты в одни и те же участки на листе
Animation
- настройки анимацииDefault
- анимация по умолчаниюName
- имя анимации, которым будет названа анимация, если в исходном файле нет ни одного тэгаDirection
- направление анимации, созданной по умолчаниюForward
- анимация проигрывается от первого до последнего кадровReverse
- анимация проигрывается от последнего до первого кадровPing-pong
- анимация проигрывается от первого до последнего кадров, а потом обратно до первого, без дублирования последнего кадраPing-pong reverse
- анимация проигрывается от последнего до первого кадров, а потом обратно до последнего, без дублирования первого кадра
Repeat Count
- количество повторений для анимации, созданной по умолчанию (0 - для бесконечного повторения). Крайние кадры не дублируются, когда анимация меняет направление.
Autoplay
- имя анимации, которая будет помечена, как запускающаяся автоматическиStrategy...
(только для анимаций, основанных наAnimationPlayer
) - набор свойств узла, которые будет использоватьAnimationPlayer
для анимирования
Layers
(пока не реализовано) - настройки слоев AsepriteInclude Reg Ex
(пока не реализовано) - регулярное выражение для белого списка включаемых слоевExclude Reg Ex
(пока не реализовано) - регулярное выражение для черного списка включаемых слоев
Tags
(пока не реализовано) - настройки тэгов AsepriteInclude Reg Ex
(пока не реализовано) - регулярное выражение для белого списка включаемых тэговExclude Reg Ex
(пока не реализовано) - регулярное выражение для черного списка включаемых тэгов
Вы можете импортировать ваши *.aseprite
или *.ase
файлы как обычные текстуры из файлов изображений. К несчастью, нет возможности выбирать слои и кадры анимации. В этом режиме текстура создается из всех видимых слоев на самом первом кадре анимации.
SpriteFrames
- создает ресурсSpriteFrames
для дальнейшего его использования в анимированных спрайтахAnimatedSprite2D
- готовый анимированный спрайт для плоских сценAnimatedSprite3D
- готовый анимированный спрайт для объемных сцен
Создает ресурс PackedScene
с дочерним узлом AnimationPlayer
, с помощью которого происходит анимация. Вы можете увидеть этот узел в родительской сцене, если установите в контекстном меню флажок Editable Children
Sprite2D
- создает ресурсPackedScene
с узломSprite2D
и дочерним узломAnimationPlayer
Sprite3D
- создает ресурсPackedScene
с узломSprite3D
и дочерним узломAnimationPlayer
TextureRect
- создает ресурсPackedScene
с узломTextureRect
и дочерним узломAnimationPlayer
Animate sprite's region
- анимирует свойство спрайтаregion
Animate sprite's frame index
- анимирует свойство спрайтаframe
Animate sprite's frame coords
- анимирует свойство спрайтаframe_coords
Animate single atlas texture's region
- анимирует свойство атлас-текстуры спрайтаregion
Animate multiple atlas texture instances
- создает по экземпляру атлас-текстуры на каждый уникальный фрейм и анимирует свойство спрайтаtexture
, подставляя их в него одну за одной
Animate sprite's region and offset
- анимирует свойства спрайтаregion
иoffset
Animate single atlas texture's region and margin
- анимирует свойства атлас-текстуры спрайтаregion
иmargin
Animate multiple atlas texture instances
- создает по экземпляру атлас-текстуры на каждый уникальный фрейм и анимирует свойство спрайтаtexture
, подставляя их в него одну за одной
Во время выполнения импорта могут появляться некоторые ошибки в консоли. Большинство из них - внутренние ошибки движка Godot версии 4.x, пока в нем еще не исправлены все недочёты.
Если там будут возникать сообщения об ошибках, связанные непосредственно с работой скрипта импорта - пожалуйста, создайте тикет с их описанием и алгоритмом воспроизведения.
Пока что возможности движка Godot 4 не позволяют сохранить CompressedTexture
в папку импортированных файлов. Этот ресурс создается автоматически только для изображений, поддерживаемых движком. По этому чтобы получить CompressedTexture
нужно создать файл изображения в дереве ресурсов проекта и указать движку импортировать его.
Если же встраивать изображение в ресурс формата .res
(бинарный), то оно будет запаковано не самым оптимальным образом, и будет занимать в несколько раз больше места на диске.
Если использовать формат ресурса .tres
(текстовый), то встроенное изображение будет кодироваться в Base64
, и займет еще в несколько раз больше места.
- Опция включения полученного изображения листа тайлов в ресурс:
Spritesheet/Embed Image: bool
- Регулярные выражения для включения/исключения слоёв и тэгов:
Layers/Include
,Layers/Exclude
,Tags/Exclude
andTags/Exclude
- Импорт обычных ресурсов текстур: (
TileSetAtlasSource
,ImageTexture
,CompressedTexture
,PortableCompressedTexture
, иAtlasTexture
) - Импорт обычных спрайтов (
Sprite2D
иSprite3D
без анимации) - Импорт ресурса
TileSetAtlasSource
- Импорт ресурса
NinePatchRect
- И еще чего-нибудь, если будут интересные предложения от вас)))