Skip to content

Latest commit

 

History

History
99 lines (77 loc) · 10.3 KB

README.ru.md

File metadata and controls

99 lines (77 loc) · 10.3 KB

Importality

en en

art for repo 2

Importality - это дополнение (addon) для движка Godot для импорта графики и анимации из популярных форматов.

ВНИМАНИЕ!

В версии 0.3.0 настройки плагина были перенесены из настроек проекта (ProjectSettings) в настройки редактора (EditorSettings)! Это может стать неожиданностью и может сломать некоторые ваши настроенные процессы! Но это позволит вам не публиковать ваши локальные настройки вместе с файлом проекта в репозиторий Git, и облегчит CI/CD.

📜 Содержание

📝 Вступление

Ранее я уже публиковал дополнение для импорта файлов Aseprite. После него я начал разработку аналогичного дополнения для импорта файлов Krita. В процессе разработки у этих проектов оказалось много общего, и я решил объединить их в один. Importality содержит скрипты экспорта данных из исходных файлов в общий внутренний формат, и скрипты импорта из внутреннего формата в ресурсы Godot. После этого было решено добавить новые скрипты экспорта для других графических приложений.

Watch the demo video

🎯 Возможности

  • Добавление в Godot распознавания исходных графических файлов как изображений со всеми штатными возможностями их импорта (для анимированных файлов импортируется только первый кадр).
  • Поддержка файлов Aseprite (и LibreSprite), Krita, Pencil2D, Piskel и Pixelorama. В будущем возможна поддержка других форматов.
  • Импорт файлов в качестве:
    • Атласа спрайтов (sprite sheet) - текстуры с метаданными;
    • Ресурса SpriteFrames для создания собственных AnimatedSprite2D и AnimatedSprite3D на его основе;
    • Запакованных сцен (PackedScene) с готовыми для использования узлами (Node):
      • AnimatedSprite2D и AnimatedSprite3D
      • Sprite2D, Sprite3D и TextureRect, анимированных с помощью AnimationPlayer
  • Несколько методов борьбы с артефактами по краям спрайтов.
  • Табличный и упакованный варианты раскладки атласа спрайтов.
  • Несколько стратегий анимации узлов с помощью AnimationPlayer.
  • Импорт любых других графических форматов как обычных изображений с помощью внешних утилит командной строки

🥁 Ближайшие нововведения по просьбам пользователей Reddit

  1. Фильтры имен слоёв (для переопределения видимости слоёв)
  2. Скрипты под Linux и MacOS для запуска Krita от имени другого пользователя (для того, чтобы импорт не "зависал", пока запущено окно Krita)
  3. Что-то еще (что именно?) - пользователи не определились
  4. Новые целевые типы ресурсов
  5. Более гибкая настройка рамок вокруг спрайтов
  6. Возможность указать имя слоя с картой нормалей

💽 Как установить

  1. Установите его из Библиотеки Ассетов Godot или:
    • Склонируйте этот репозиторий или скачайте его содержимое в виде архива.
    • Поместите содержимое папки addons репозитория в папку addons вашего проекта.
  2. Настройте параметры в Editor Settings -> Importality
    • Укажите директорию для временных файлов.
    • Укажите команду и её параметры для запуска вашего редактора в режиме экспорта данных, если это необходимо. Как настроить параметры для вашего графического приложения читайте в соответствующей статье вики, посвящённой ему.

👷 Как использовать

Обязательно прочитайте статью на вики про редактор, который вы используете! В этих статьях описаны важные нюансы настройки интеграции!

Затем:

  1. Сохраните файлы вашего любимого редактора в папку проекта Godot.
  2. Выберите их в дереве файловой системы Godot. Скорее всего они уже импортированы как ресурс Texture2D.
  3. Выберите нужный вам вариант импорта на панели "Import".
  4. Настройте его параметры.
  5. Если нужно, сохраните ваш вариант настройки параметров как пресет по умолчанию.
  6. Нажмите кнопку "Reimport" (может понадобиться перезапуск движка).
  7. В дальнейшем при изменении исходных файлов Godot автоматически повторит импорт.

💪 Как помочь проекту

Если вы знаете, как устроен еще один формат, или как работать с CLI очередного приложения, графику и анимацию из которого можно импортировать подобным образом - пожалуйста, предложите свою помощь в любом виде. Это может быть:

  • Тикет с описанием ошибки, проблемы или варианта улучшения дополнения. (Пожалуйста, приложите скриншоты и другие данные, которые помогут воспроизвести вашу проблему.)
  • Текстовое описание формата или работы с CLI.
  • Пулл-реквест с новым экспортером.
  • Временная или постоянная лицензия на платное ПО для возможности изучить его и создать экспортер. Например для: