Моддинг

PSD ↔ DDS без боли: как подготовить текстуру для игры и не потерять качество

PSD удобен художнику: слои, маски, текст и правки остаются живыми. DDS удобен движку: текстура уже упакована для видеокарты и может содержать mip-уровни. Ошибки начинаются, когда эти роли путают и ждут, что DDS сохранит проект Photoshop целиком.

Игровой компьютер и рабочее место для подготовки текстур
PSD — рабочий исходник художника, DDS — готовая игровая текстура. Хранить стоит оба файла, но для разных задач. Фото: Pawel Czerwinski / Unsplash

PSD и DDS решают разные задачи

PSD хранит рабочую кухню: слои, маски, корректировки, текст, каналы и смарт-объекты. Его удобно менять через неделю или год. DDS хранит готовую растровую текстуру в форме, которую удобно загружать графическому движку.

Поэтому правильная схема выглядит так: PSD-мастер → экспорт DDS → проверка в игре. Возврат DDS → PSD нужен для просмотра или новой правки, но он не воскресит исходные слои.

Главное ожидание

После PSD → DDS слои сводятся в итоговое изображение. После DDS → PSD вы получите один растровый слой, а не прежний проект Photoshop.

Как подготовить PSD перед экспортом

1

Сохраните мастер

Сделайте отдельный PSD со слоями. Никогда не сводите единственный исходник ради экспорта.

2

Уточните назначение карты

Albedo/base color, normal, roughness, metallic и mask требуют разных настроек цвета и каналов.

3

Проверьте размер

Многие игровые пайплайны ожидают 256, 512, 1024, 2048 или 4096 пикселей. Современные движки умеют больше, но мод должен повторять требования оригинала.

4

Проверьте альфа-канал

Убедитесь, что он действительно нужен и содержит правильную маску, а не случайную прозрачность.

5

Экспортируйте копию

Дайте DDS отдельное имя и не заменяйте PSD.

Если вы редактируете существующий мод, сначала запишите параметры исходного DDS: размеры, формат BC, наличие mipmaps и альфа-канала. Лучше повторить их, чем выбирать «самое качественное» наугад.

BC1, BC3, BC5 или BC7: простая шпаргалка

ФорматКогда использоватьЧто помнить
BC1 / DXT1цвет без плавной альфымаленький; альфа отсутствует или 1-битная
BC3 / DXT5цвет с плавной альфойбольше BC1; подходит маскам прозрачности
BC5normal map из двух каналовчасто лучше сохраняет направление нормалей
BC7качественный цвет на современном DX11+не подходит старым играм и всем инструментам

Microsoft поясняет, что BC-сжатие работает блоками 4×4, а BC1, BC2 и BC3 различаются в том числе поддержкой альфы. В руководстве по DDS перечислены форматы с широкой аппаратной поддержкой. Но последнее слово всегда за конкретным движком.

Не знаете формат?

Для замены текстуры в игре откройте оригинальный DDS в инструменте, который показывает формат, и сохраните новый с теми же параметрами. Это надёжнее универсального совета.

Цвет, альфа и mipmaps — три источника сюрпризов

Цветовое пространство. Base color обычно трактуется как sRGB, а normal/roughness/metallic — как линейные данные. Неверная пометка делает текстуру слишком тёмной, светлой или «пластиковой».

Альфа. В разных играх она может означать прозрачность, блеск, маску материала или вообще не использоваться. Не удаляйте канал, пока не знаете его роль.

Mipmaps. Это уменьшенные копии текстуры для дальних расстояний. Без них объект может мерцать и шуметь в движении. Но некоторые интерфейсные элементы и атласы требуют особых правил.

Игровая сцена с неоновой графикой и текстурами
Правильный DDS зависит не только от картинки, но и от требований конкретной игры: карта, цветовое пространство, BC-сжатие и mipmaps.

Когда подойдёт онлайн-конвертация

FormatZ удобен, чтобы быстро получить DDS из обычного PSD-превью, открыть DDS как PSD для дальнейшей обработки или проверить изображение без установки плагина.

Преобразовать текстуру

Для быстрой смены формата используйте PSD → DDS или DDS → PSD. Для финального мода всё равно сверяйте BC-формат, каналы и mipmaps с требованиями игры.

PSD → DDS DDS → PSD

Если игра требует точный BC5/BC7, premultiplied alpha, cube map или собственный набор mipmaps, используйте специализированный экспортёр: DirectXTex/texconv, плагин NVIDIA/Intel, GIMP или инструмент моддинга конкретной игры.

Что вы получите после DDS → PSD

Обычно — один слой с основной текстурой. Если в DDS есть альфа, она может появиться как прозрачность или отдельный канал в зависимости от программы. Mip-уровни чаще не превращаются в слои автоматически.

Сразу сохраните новый PSD, затем создайте рабочие слои вручную: базовый цвет, правки, маски и корректировки. Не редактируйте многократно один и тот же сжатый DDS — каждый цикл декодирования и повторного BC-сжатия может накапливать артефакты.

Как проверить текстуру глазами и в игре

  1. Сравните размеры и ориентацию с оригиналом.
  2. Проверьте края прозрачности на светлом и тёмном фоне.
  3. Для normal map убедитесь, что рельеф не «вдавился» вместо выпуклости.
  4. Посмотрите объект вблизи и издалека — мерцание часто указывает на mipmaps.
  5. Проверьте разные условия освещения.
  6. Сохраните лог: имя файла, BC-формат, sRGB/linear, mipmaps и версия мода.

Скриншот в просмотрщике полезен, но окончательная проверка возможна только в том движке, для которого делается текстура.

Рабочая схема без потери исходников

Храните рядом три вещи: master.psd со слоями, export.dds для игры и небольшой текстовый файл с параметрами экспорта. Если DDS взят из игры, оставьте нетронутый оригинал отдельно.

PSD отвечает на вопрос «как это редактировать». DDS — «как это быстро показать в игре». Один формат не заменяет другой.
Нет. DDS хранит итоговую растровую текстуру и служебные данные вроде mipmaps, но не структуру слоёв Photoshop.
Нет. Обычно получится один слой; рабочую структуру придётся создать заново.
Повторите формат оригинальной текстуры или требования движка. В общем случае BC1 — цвет без плавной альфы, BC3 — с альфой, BC5 — normal map, BC7 — качественный цвет для современных движков.
Для большинства игровых текстур мира — да, чтобы уменьшить мерцание и нагрузку вдали. Для интерфейса и специальных атласов правила могут отличаться.
Для просмотра и простой смены формата — часто да. Для точного BC-сжатия, каналов, cube maps и mipmaps используйте специализированный экспортёр и проверяйте результат в игре.