Importality - это дополнение (addon) для движка Godot для импорта графики и анимации из популярных форматов.
В версии 0.3.0 настройки плагина были перенесены из настроек проекта (ProjectSettings) в настройки редактора (EditorSettings)! Это может стать неожиданностью и может сломать некоторые ваши настроенные процессы! Но это позволит вам не публиковать ваши локальные настройки вместе с файлом проекта в репозиторий Git, и облегчит CI/CD.
Ранее я уже публиковал дополнение для импорта файлов Aseprite. После него я начал разработку аналогичного дополнения для импорта файлов Krita. В процессе разработки у этих проектов оказалось много общего, и я решил объединить их в один. Importality содержит скрипты экспорта данных из исходных файлов в общий внутренний формат, и скрипты импорта из внутреннего формата в ресурсы Godot. После этого было решено добавить новые скрипты экспорта для других графических приложений.
- Добавление в Godot распознавания исходных графических файлов как изображений со всеми штатными возможностями их импорта (для анимированных файлов импортируется только первый кадр).
- Поддержка файлов Aseprite (и LibreSprite), Krita, Pencil2D, Piskel и Pixelorama. В будущем возможна поддержка других форматов.
- Импорт файлов в качестве:
- Атласа спрайтов (sprite sheet) - текстуры с метаданными;
- Ресурса
SpriteFrames
для создания собственныхAnimatedSprite2D
иAnimatedSprite3D
на его основе; - Запакованных сцен (
PackedScene
) с готовыми для использования узлами (Node
):AnimatedSprite2D
иAnimatedSprite3D
Sprite2D
,Sprite3D
иTextureRect
, анимированных с помощьюAnimationPlayer
- Несколько методов борьбы с артефактами по краям спрайтов.
- Табличный и упакованный варианты раскладки атласа спрайтов.
- Несколько стратегий анимации узлов с помощью
AnimationPlayer
. - Импорт любых других графических форматов как обычных изображений с помощью внешних утилит командной строки
🥁 Ближайшие нововведения по просьбам пользователей Reddit
- Фильтры имен слоёв (для переопределения видимости слоёв)
- Скрипты под Linux и MacOS для запуска Krita от имени другого пользователя (для того, чтобы импорт не "зависал", пока запущено окно Krita)
- Что-то еще (что именно?) - пользователи не определились
- Новые целевые типы ресурсов
- Более гибкая настройка рамок вокруг спрайтов
- Возможность указать имя слоя с картой нормалей
- Установите его из Библиотеки Ассетов Godot или:
- Склонируйте этот репозиторий или скачайте его содержимое в виде архива.
- Поместите содержимое папки
addons
репозитория в папкуaddons
вашего проекта.
- Настройте параметры в
Editor Settings
->Importality
- Укажите директорию для временных файлов.
- Укажите команду и её параметры для запуска вашего редактора в режиме экспорта данных, если это необходимо. Как настроить параметры для вашего графического приложения читайте в соответствующей статье вики, посвящённой ему.
Обязательно прочитайте статью на вики про редактор, который вы используете! В этих статьях описаны важные нюансы настройки интеграции!
- Aseprite/LibreSprite (Важно)
- Krita (Критически важно!)
- Pencil2D (Важно)
- Piskel (Интеграции с приложением нет. Используется собственный парсер исходных файлов)
- Pixelorama (Интеграции с приложением нет. Используется собственный парсер исходных файлов)
- Другие графические форматы (Важно!)
Затем:
- Сохраните файлы вашего любимого редактора в папку проекта Godot.
- Выберите их в дереве файловой системы Godot. Скорее всего они уже импортированы как ресурс
Texture2D
. - Выберите нужный вам вариант импорта на панели "Import".
- Настройте его параметры.
- Если нужно, сохраните ваш вариант настройки параметров как пресет по умолчанию.
- Нажмите кнопку "Reimport" (может понадобиться перезапуск движка).
- В дальнейшем при изменении исходных файлов Godot автоматически повторит импорт.
Если вы знаете, как устроен еще один формат, или как работать с CLI очередного приложения, графику и анимацию из которого можно импортировать подобным образом - пожалуйста, предложите свою помощь в любом виде. Это может быть:
- Тикет с описанием ошибки, проблемы или варианта улучшения дополнения. (Пожалуйста, приложите скриншоты и другие данные, которые помогут воспроизвести вашу проблему.)
- Текстовое описание формата или работы с CLI.
- Пулл-реквест с новым экспортером.
- Временная или постоянная лицензия на платное ПО для возможности изучить его и создать экспортер. Например для: