Skip to content

importing psd with psd tools (ru)

nklbdev edited this page Mar 21, 2026 · 3 revisions

Импорт PSD-файлов (Adobe Photoshop) с помощью psd-tools

en ru

image

Adobe Photoshop сохраняет проекты в формате PSD. Большинство консольных конвертеров изображений рендерят PSD-файлы с белым фоном, теряя прозрачность. psd-tools — библиотека Python — корректно компонует все слои с полной поддержкой альфа-канала и сохраняет прозрачный фон.

Требования

  • Python версии 3.8 или новее
  • Библиотека psd-tools — установить один раз с помощью pip:
pip install psd-tools

Скрипт-конвертер

Сохраните этот скрипт в любом месте на вашей системе (например, psd_to_png.py):

#!/usr/bin/env python3
import sys
from psd_tools import PSDImage
PSDImage.open(sys.argv[1]).composite().save(sys.argv[2])

Скрипт принимает два аргумента: путь к исходному PSD-файлу и путь для выходного PNG-файла.

Настройка Importality

В Godot откройте Editor Settings → General → Advanced Settings → Importality и найдите настройку Command Building Rules for Custom Image Loader. Добавьте правило для расширения psd.

Windows:

psd: python C:\путь\до\psd_to_png.py {in_path_b} {out_path_b}

Linux / macOS:

psd: python /путь/до/psd_to_png.py {in_path} {out_path}

Возможно, понадобится использовать python3 вместо python. Так же может понадобиться установить библиотеку явно:

python -m pip install psd-tools

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

image

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

python3 /путь/до/psd_to_png.py /путь/до/test.psd /tmp/test_out.png

Убедитесь, что test_out.png имеет прозрачный фон.

Замечание о слое «Background»

В Photoshop особый заблокированный слой Background (самый нижний слой, создаваемый по умолчанию в новых документах) по своей природе непрозрачен и белый. psd-tools рендерит его корректно — как непрозрачный, — потому что так он и устроен.

Чтобы получить прозрачный результат, преобразуйте его в обычный слой в Photoshop перед сохранением: двойной клик по слою Background → Layer from Background.

Использование без установки Python

Если вы предпочитаете не устанавливать Python на машину, где запущен Godot, можно создать самодостаточный исполняемый файл с помощью PyInstaller:

pip install pyinstaller
pyinstaller --onefile psd_to_png.py

Полученный бинарный файл в папке dist/ не требует установки Python. Укажите в правиле построения команды путь к нему вместо вызова python.

Clone this wiki locally