Skip to content

importing as regular images (ru)

nklbdev edited this page Aug 6, 2023 · 1 revision

Импорт исходных файлов как обычных изображений

en ru

Каждая из настроенных интеграций может импортировать исходные файлы целевого приложения не только как особые ресурсы Godot, но и как обычные изображения, встраиваясь в систему импорта Godot с помощью ImageFormatLoaderExtension.

Но есть и масса других графических форматов, которые не могут быть импортированы как анимации, но вы хотели бы тоже импортировать их как обычные изображения. Для этого в плагин встроен Custom Image Loader - расширение, которое позволяет импортировать файл с любым расширением с помощью внешних утилит командной строки. Это открывает безграничные возможности импорта, потому что в качестве утилиты могут быть использованы и любые самостоятельно написанные скрипты.

Для того, чтобы настроить Custom Image Loader откройте настройки Importality в Project Settings->General->Advanced Settings->Importality. В них вы найдёте строку настроек "Command Building Rules for Custom Image Loader". Эта настройка является массивом строк. Увеличьте размер массива и введите свои правила построения команд.

Logo

Правила построения команд

Каждое правило построения команд имеет следующий формат:

<extension1> [<extension2>...]:<command_template>

Строка начинается со списка расширений. Вы можете перечислить их через запятую и/или пробел. За ними находится символ двоеточия (:), после которого начитается шаблон команды. Шаблон команды - это обычная строка, в которую могут быть вставлены значения с помощью тэгов:

  • {in_path} - полный путь к исходному файлу
  • {in_path_b} - полный путь к исходному файлу c обратной косой чертой в качестве разделителя (\)
  • {in_path_base} - полный путь к исходному файлу без расширения
  • {in_path_base_b} - полный путь к исходному файлу без расширения c обратной косой чертой в качестве разделителя (\)
  • {in_file} - имя исходного файла
  • {in_file_base} - имя исходного файла без расширения
  • {in_dir} - полный путь к директории исходного файла
  • {in_dir_b} - полный путь к директории исходного файла c обратной косой чертой в качестве разделителя (\)
  • {in_ext} - расширение исходного файла
  • {out_path} - полный путь к выходному временному PNG файлу изображения, который будет прочитан движком после исполнения команды и удалён
  • {out_path_b} - полный путь к выходному файлу c обратной косой чертой в качестве разделителя (\)
  • {out_path_base} - полный путь к выходному файлу без расширения
  • {out_path_base_b} - полный путь к выходному файлу без расширения c обратной косой чертой в качестве разделителя (\)
  • {out_file} - имя выходного файла
  • {out_file_base} - имя выходного файла без расширения
  • {out_dir} - полный путь к директории сохранения выходного файла
  • {out_dir_b} - полный путь к директории сохранения выходного файла c обратной косой чертой в качестве разделителя (\)
  • {out_ext} - расширение выходного файла (png)

После настройки обрабатываемых расширений и шаблонов команд нужно перезапустить плагин для того, чтобы он заново вычислил все расширения, которые он будет обрабатывать.

Перед тем, как использовать правило в плагине, протестируйте работоспособность вашей команды в терминале командной строки.

Если правило построения команды введено неверно, в консоли будут показаны сообщения об ошибках. Прочитайте их внимательно и исправьте правило построения команды. Если у вас возникли трудности с этим, создайте тикет в этом репозитории, и приложите к нему:

  • Исходный файл изображения, который вы хотели бы импортировать
  • Строку правила построения команды для вызова внешней утилиты
  • Тип и версию вашей операционной системы
  • Версию движка Godot
  • Ссылку на внешнюю утилиту, которую должна вызывать ваша команда

Примеры

Существует множество популярных утилит для конвертации и изменения изображений. Вот неполный список:

Чтобы импортировать документ GIMP (файл с расширением xcf) с помощью ImageMagick, введите следующую строку (исправьте путь к утилите на тот, который используется у вас):

xcf: C:\Utils\imagemagick\convert.exe {in_path_b} {out_path_b}

Чтобы импортировать документ Paint.NET (файл с расширением pdn) с помощью pdn2png из Total Image Converter от CoolUtils, введите следующую строку (исправьте путь к утилите на тот, который используется у вас):

pdn: "C:\Program Files (x86)\CoolUtils\TotalImageConverter\pdn2png.exe" /outfile={out_path_b} {in_path_b}

Ограничения

К сожалению, не было найдено ни одной утилиты, способной преобразовать файлы PSD (Adobe PhotoShop Document) в PNG с сохранением прозрачного фона. Все они делают фон белым. Если вы обнаружите такую, сообщите об этом, вы очень поможете проекту!

Clone this wiki locally