Моддинг

Моддинг игр через DDS: как редактировать текстуры как профессионал

Любимый меч выглядит мыльно, броня тускла, а лес кажется нарисованным в 2011 году? Всё это можно переделать своими руками — и почти всегда дорога ведёт к файлам .dds. Разбираем настоящий пайплайн ретекстура: как достать текстуру из игры, отредактировать её в привычном редакторе и вернуть обратно так, чтобы движок принял её без капризов.

Игровая сцена в неоновых тонах — текстуры формируют весь визуальный стиль игры
Каждая поверхность в игре — это текстура. Моддинг начинается там, где вы решаете её переписать. Фото: Pexels

Почему модеры работают именно с DDS

Когда вы заходите в игру, видеокарта не хочет тратить время на распаковку картинок. Ей нужны данные, которые можно прочитать мгновенно — блоками, прямо в том виде, в котором они лягут в видеопамять. Именно для этого и существует DDS (DirectDraw Surface) — контейнер текстур от Microsoft, придуманный ещё в 1999 году вместе с DirectX 7.0. Поэтому файлы текстур почти любой PC-игры — от Skyrim и Fallout 4 до GTA и The Sims — лежат именно в .dds.

Для модера это и подарок, и испытание. Подарок — потому что формат единый и предсказуемый: освоив работу с DDS в одной игре, вы легко переносите навык в другую. Испытание — потому что DDS не открывается двойным кликом и хранит данные уже сжатыми с потерями, а внутри ещё спрятаны мипмапы и иногда альфа-канал. Просто «нарисовать поверх» не выйдет: придётся пройти полный цикл извлечения, редактирования и упаковки.

Главное правило

Игра ждёт текстуру строго в DDS. Вы редактируете её в PNG — формате для людей, — но обязаны вернуть в DDS с тем же типом сжатия и мипмапами. Нарушите это, и движок либо проигнорирует файл, либо вы получите вылеты и просадки кадров.

Пайплайн ретекстура: от игры и обратно

В основе любого ретекстура — простой круговой маршрут. Текстура выходит из игры в DDS, превращается в редактируемый PNG, проходит через ваш редактор и возвращается обратно в DDS. Звучит линейно, и так оно и есть — главное не пропустить ни шага.

1

Найдите и извлеките текстуру

Текстуры обычно спрятаны в архивах игры (BSA/BA2 у Bethesda, RPF у GTA, .package у The Sims). Распакуйте нужный .dds архивным инструментом — например, BSA Browser или OpenIV.

2

Конвертируйте DDS → PNG

Превратите текстуру в PNG, чтобы открыть её в любом редакторе. PNG-32 сохранит альфа-канал, если он был в исходнике.

3

Отредактируйте

Перекрасьте, добавьте деталей, повысьте резкость или нарисуйте текстуру заново. Сохраняйте пропорции и тип карты (диффуз, нормаль, спекуляр).

4

Конвертируйте PNG → DDS

Упакуйте результат обратно с правильным сжатием (BC1/BC3/BC7) и включённой генерацией мипмапов.

5

Верните в игру

Положите готовый .dds по тому же пути и с тем же именем, что и оригинал — в папку модов или распакованную структуру.

Шаги 2 и 4 — это сердце процесса, и именно они проще всего решаются онлайн. Открыть текстуру можно через конвертер DDS → PNG, а вернуть правки обратно — через PNG → DDS. Ниже разберём каждый этап подробнее.

Цифровой художник редактирует текстуру на графическом планшете
Сердце ретекстура — редактирование в PNG: тут можно перерисовать что угодно, от ржавчины на броне до листвы на деревьях. Фото: Pexels

Инструменты, которые стоят на каждом столе модера

Хорошая новость: серьёзный ретекстур можно собрать на бесплатном софте. Вот набор, который покрывает 95% задач:

  • Архивные распаковщики. BSA Browser и Cathedral Assets Optimizer для Skyrim/Fallout, OpenIV для GTA, S4S для The Sims. С них начинается доступ к оригинальным текстурам.
  • NVIDIA Texture Tools Exporter. Бесплатный плагин для Photoshop и отдельное приложение с поддержкой BC1–BC7, генерацией мипмапов и пакетной обработкой через командную строку. Де-факто стандарт качественного сжатия.
  • GIMP с DDS-плагином. Бесплатная альтернатива Photoshop: открывает и сохраняет DDS напрямую, с контролем сжатия и мипмапов.
  • Paint.NET. Лёгкий редактор, который из коробки понимает DDS, включая современные BC6H и BC7.
  • texconv и Compressonator. Консольные конвертеры от Microsoft и AMD для пакетной обработки сотен файлов и тонкой настройки формата.

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

Какое сжатие выбрать: BC1 vs BC3 vs BC7

Это вопрос, на котором спотыкаются почти все новички. DDS использует блочное сжатие (BCn): изображение делится на блоки 4×4 пикселя, и каждый кодируется отдельно — поэтому видеокарта распаковывает текстуру «на лету». Но вариантов BC несколько, и выбор напрямую влияет на качество и размер.

ФорматСтарое имяКогда использоватьАльфа
BC1DXT1Непрозрачные диффузные текстуры — самый компактный (4 бита/пиксель)1 бит
BC3DXT5Текстуры с плавной альфой; для совместимости со старыми движкамиДа
BC4 / BC5Карты высот (BC4) и нормалей (BC5)
BC7Максимальное качество диффуза и нормалей; размер как у BC3Да

Практическое правило сообщества модеров простое. BC7 почти всегда лучше BC3: при том же размере он даёт заметно меньше артефактов, поэтому современные ретекстуры под движки с его поддержкой (например, Skyrim Special Edition) делают именно на BC7. BC1 берут там, где нет полупрозрачности — он вдвое легче и идеален для плотных диффузных карт. А специализированные форматы (BC4 для карт высот, BC5 для нормалей) применяют по назначению, а не «на глаз».

Выбор сжатия — это не «как красивее», а «что ждёт движок». Угадаете формат под тип карты — и текстура заиграет; ошибётесь — получите полосы на градиентах и сломанные нормали.

Мипмапы и альфа: две вещи, которые нельзя терять

Два самых частых способа испортить хороший ретекстур — выбросить мипмапы и потерять альфа-канал. Оба незаметны на скриншоте в редакторе, но мгновенно бросаются в глаза в игре.

Мипмапы — это заранее уменьшенные копии текстуры (1/2, 1/4, 1/8 и так далее), которые хранятся прямо внутри DDS. Видеокарта подбирает нужный размер по расстоянию до объекта. Уберёте их — и далёкие поверхности начнут противно мерцать, текстуры на дистанции станут «грязными», а кадры просядут. Поэтому при упаковке PNG → DDS почти всегда включают генерацию мипмапов. Исключение — элементы интерфейса и кубические карты, которые всегда рендерятся в одном размере.

Альфа-канал хранит прозрачность: волосы, листва, стекло, сетка, потёртости. Если при конвертации в PNG взять формат без альфы или при упаковке обратно выбрать BC1 для текстуры с плавной прозрачностью — края станут рваными или объект вовсе превратится в непрозрачную плашку. Для гладкой прозрачности нужен BC3 или BC7.

Подводный камень: двойное сжатие

Блочное сжатие — с потерями. Когда вы извлекаете DDS, в нём уже «впечатаны» артефакты от первого сжатия. Если упаковать обратно в BC снова, потери накладываются повторно — цвет «плывёт», на градиентах появляются полосы. Правьте на максимально чистом исходнике, не пересохраняйте текстуру в DDS по многу раз и держите рабочую копию в PNG.

HD-текстуры, видеопамять и FPS

Самый заманчивый вид моддинга — поставить «всё в 4K». Но тут важно понимать механику. Сами по себе текстуры высокого разрешения почти не снижают FPS — пока хватает видеопамяти. Проблемы начинаются, когда VRAM заканчивается: появляются фризы, рывки при движении и долгая подгрузка, потому что видеокарте приходится постоянно перекидывать данные.

Чем выше разрешение текстуры, тем больше памяти она занимает. Текстура 4K (4096×4096) весит вчетверо больше, чем 2K (2048×2048). На практике HD-паки в больших играх легко доводят расход VRAM до нескольких гигабайт, а на картах с малым объёмом памяти это и приводит к статтерам.

4×4размер блока сжатия BCn
×4рост VRAM при удвоении стороны
≈1/3добавляют мипмапы к размеру

Вывод для модера: подбирайте разрешение под свою видеокарту, а не «по максимуму». Часто текстура 2K выглядит почти как 4K при вдвое меньшем расходе памяти, особенно на удалённых объектах. И всегда оставляйте мипмапы — да, они добавляют примерно треть к размеру файла, но именно они держат стабильный кадр.

Рабочее место модера: два монитора, графика и инструменты для работы с текстурами
Рабочий стол модера: на одном экране игра, на другом — редактор и менеджер модов. Фото: Pexels

Типичные ошибки новичков

Большинство «не работающих» модов спотыкаются на одних и тех же мелочах. Пробегитесь по списку, прежде чем выкладывать сборку:

  • Забыли мипмапы. Текстура мерцает вдали и портит картинку — самая частая ошибка.
  • Неверный формат сжатия. BC1 на текстуре с плавной альфой = рваные края; обычный диффуз в несжатом виде = лишние мегабайты в VRAM.
  • Сломаны нормали. Карту нормалей нельзя обрабатывать как обычную картинку: повышение резкости и неправильное сжатие ломают освещение. Для нормалей — BC5 или BC7, без «улучшайзеров».
  • Изменили размер не в степени двойки. Стороны текстуры должны быть 512, 1024, 2048, 4096 и т.д. — иначе мипмапы и сжатие работают криво.
  • Перепутали путь или имя файла. Игра ищет текстуру по точному пути. Малейшая опечатка — и вместо мода вы видите оригинал (или фиолетовую «отсутствующую текстуру»).
  • Пересохранили DDS много раз. Каждое сжатие добавляет потери. Держите мастер-копию в PNG.

Откройте игровую текстуру за пару секунд

Бесплатный конвертер FormatZ превратит .dds в редактируемый PNG прямо в браузере — без установки и регистрации. А когда правки готовы, упакуйте их обратно в один клик.

Конвертировать DDS в PNG

Этика и правила модов

Технику освоить проще, чем культуру. Ретекстур почти всегда опирается на чужой ассет — оригинальную текстуру игры или работу другого автора, — поэтому несколько правил стоит держать в голове:

  • Уважайте лицензии и разрешения. Многие авторы прямо указывают, можно ли переделывать их моды и перезаливать. Нет разрешения — спросите.
  • Указывайте авторство. Если в основе вашего ретекстура чужая работа, отметьте это в описании.
  • Не выдавайте чужое за своё. Это и неэтично, и быстро рушит репутацию в сообществе.
  • Не вытаскивайте ассеты из других игр. Перенос текстур из одной коммерческой игры в другую — прямое нарушение прав.

Моддинг держится на доверии: вы пользуетесь чужими наработками, а кто-то завтра воспользуется вашими. Чем аккуратнее с авторством, тем здоровее всё сообщество.

Готовы попробовать? Начните с малого — извлеките одну текстуру, измените её цвет и верните в игру. Когда увидите свою правку на экране, остановиться будет уже сложно. Технические тонкости форматов мы разобрали в соседних материалах: загляните в обзор DDS против PNG, TGA и WebP, а полный список конвертаций всегда есть на странице всех форматов.

Потому что движок ждёт текстуру именно в DDS: данные хранятся блоками, которые видеокарта читает напрямую, плюс внутри лежат мипмапы. Чтобы отредактировать картинку, её конвертируют в PNG, правят в редакторе, а затем возвращают в DDS — иначе игра текстуру просто не примет или будет тормозить.
BC1 (DXT1) — для непрозрачных диффузных текстур, он самый компактный (4 бита на пиксель). BC7 даёт максимальное качество при том же размере, что и BC3, поэтому для диффуза и нормалей с альфой современный выбор — BC7. BC3 (DXT5) берут для совместимости со старыми движками, не поддерживающими BC7.
Почти всегда да. Без мипмапов далёкие поверхности мерцают, текстуры на расстоянии становятся «грязными», а кадры проседают. Мипмапы отключают только для интерфейса и кубических карт, которые всегда рендерятся в одном размере.
Сами по себе текстуры почти не влияют на FPS — пока хватает видеопамяти. Но текстуры 4K быстро забивают VRAM, и при его нехватке начинаются фризы и долгая подгрузка. Подбирайте разрешение под свою видеокарту: 2K часто выглядит почти как 4K при вдвое меньшем расходе памяти.
Сохраните правки в PNG, конвертируйте обратно в DDS с нужным сжатием и включёнными мипмапами через конвертер PNG → DDS, затем положите файл по тому же пути, что и оригинал (в папку модов или распакованный архив). Имя и расположение должны точно совпадать с исходными.