Полное прохождение
Идите по шагам по порядку. Первая половина охватывает запуск вьюера и чтение того, что он показывает; вторая половина - практический рабочий процесс SMDI и AS.
Texture Viewer (Tex View), входящий в DayZ Tools, - самый быстрый способ открыть и проверить текстуры .paa, на которые опираются ваши модели. Он позволяет переключаться между цветовыми форматами, сравнивать отдельные каналы бок о бок и убеждаться, что ваши карты NoHQ, SMDI и AS действительно делают то, что вы ожидаете. В качестве бонуса он умеет автоматически генерировать пригодную SMDI или AS прямо из color map - удобный временный приём, пока вы учитесь создавать их вручную. Это руководство проходит весь инструмент шаг за шагом.
Установить в Steam — DayZ Tools (TexView)Идите по шагам по порядку. Первая половина охватывает запуск вьюера и чтение того, что он показывает; вторая половина - практический рабочий процесс SMDI и AS.
DayZ Tools - бесплатная загрузка в Steam (App 830640). Откройте библиотеку Steam, настройте фильтр так, чтобы включить «Игры и инструменты», поставьте галочку «Инструменты», затем прокрутите до него или просто наберите «DayZ Tools» в поиске. Нажмите на него, нажмите Launch, и откроется лаунчер DayZ Tools со всеми утилитами.
В лаунчере посмотрите в правый нижний угол, в раздел Utilities. Texture Viewer - вторая запись сверху в правой части. Нажмите на неё, чтобы открыть окно Tex View - в нём вы будете работать на всех следующих шагах.
Установить в Steam — DayZ Tools (TexView)
Сверху находится меню File (все команды открытия/сохранения), меню Generate и кнопки Next/Previous file, которыми вы переключаетесь по всему, что открыли в этом сеансе. Когда текстура загружена, появляется фильтр, а также элементы управления mipmap, позволяющие двигаться вперёд и назад по mip-уровням текстуры и просматривать каждый - обычная текстура, detail, normal map, normalized map с затуханием и color плюс alpha.
Ниже расположены панели инструментов, которые можно включать и выключать: status bar, info bar и view bar. Можно приближать и отдалять, а также переключать вывод на диапазон RGB от 0 до 1. В меню Help есть окно About и ссылка Online Help, открывающая страницу документации Bohemia Interactive - стоит сохранить в закладки. Сбоку расположены кнопки цветовых форматов, где и происходит настоящая работа.
Кнопки форматов позволяют по-разному интерпретировать одну и ту же текстуру. RGBA показывает красный, зелёный, синий и alpha вместе; RGB - то же изображение без alpha; а Alpha показывает только канал alpha отдельно. Есть и вид «RGB - DXT compressed», отображающий текстуру в сжатом виде - меньше на диске и быстрее читается ценой некоторого качества.
Также есть отдельные виды каналов Red, Green и Blue, плюс вид DXT Sectors. Переключение между ними - это способ правильно читать текстуру: плоская color map выглядит примерно одинаково по всем каналам, но карты normal, SMDI и AS закладывают в каждый канал очень разные данные, и просмотр по отдельности - единственный способ убедиться, что в них на самом деле хранится.
Текстуры DayZ используют блочное сжатие DXT, и стоит знать три формата: DXT1, DXT3 и DXT5. Все три - блочно-ориентированные кодеки, работающие с блоком пикселей 4x4. Если размеры текстуры не кратны четырём, размер просто округляется вверх до следующей границы блока.
Каждый блок DXT1 сжимается до 64 бит, что даёт примерно соотношение 6:1 по сравнению с несжатыми данными. Запоминать это не обязательно, но понимание того, что вьюер показывает сжатое представление, объясняет, почему вид DXT может слегка отличаться от исходного RGBA.
Загрузите текстуру через File > Open. Tex View открывает PNG, но по-настоящему раскрывается на файлах .paa - это родной формат текстур DayZ, и именно здесь инструменты каналов становятся действительно полезными. Пример здесь - color map противогаза, которую вы найдёте, как только извлечёте файлы игры через настройку P-drive.
Крутите колесо мыши к себе для приближения и от себя для отдаления. С загруженной color map уже видны основы: довольно плоское изображение. Переключитесь на вид Alpha - он чисто белый, то есть значимых данных alpha нет; переключитесь на канал Red - он отображается приглушённо-серым. Простая color-текстура попросту несёт мало вариаций по каналам - именно поэтому следующие шаги важнее для ваших типов карт.
Одна из лучших функций Tex View - сравнение бок о бок. Можно закрепить один вид слева, а другой справа - например, полноцветное изображение рядом с красным каналом или красный канал против синего - и читать различия напрямую.
На color map противогаза синий канал заметно темнее остальных. На плоской color-текстуре эти различия едва заметны, но тот же рабочий процесс становится незаменимым, когда вы изучаете карты normal, SMDI или AS, где каждый канал намеренно хранит отдельные данные.
Прежде чем что-либо генерировать, полезно понимать, что делает каждый тип карты. NoHQ - это normal map: она имитирует выступы и впадины в затенении поверхности, создавая модели иллюзию дополнительной высоты и детализации, обманывая глаз, заставляя видеть геометрию, которой на самом деле нет в меше.
Текстура AS отвечает за ambient occlusion - мягкое контактное затенение там, где встречаются поверхности. Текстура SMDI отвечает за отклик поверхности: металличность, освещение, блеск и шероховатость. Вместе с color map именно эти карты делают так, что модель читается как пластик, металл, резина или ткань при освещении игры.
Чтобы увидеть, как выглядит грамотно сделанная SMDI, откройте dev-версию из извлечённых файлов игры - для маски она лежит в characters\masks\color и оканчивается на _SMDI.paa. Загрузите её, и отличие от color map видно сразу: левый вид становится белым, а правый показывает совершенно другой набор цветов.
Пройдитесь по каналам, и вы увидите, что зелёный канал в основном чёрный с серым затуханием, тогда как вид RGB несёт тёмно-красные, розовые и фиолетовые тона. Это потому, что SMDI закладывает несколько отдельных сигналов в свои каналы. Сравнение зелёного канала с красным бок о бок показывает, сколько информации несёт настоящая SMDI, сделанная вручную - полезный ориентир для сгенерированной версии, которую вы вот-вот создадите.
Вот главный приём. Откройте вашу color map (в RGBA), затем зайдите в File > Save As. В имени файла удалите суффикс «_co» и замените его на «_SMDI» перед расширением. Tex View определит, что вы сохраняете в другой тип карты, и автоматически построит SMDI из базового цвета. Нажмите Save.
Теперь через File > Open откройте новый файл _SMDI. У вас есть рабочая SMDI, сгенерированная прямо из color. Проверьте каналы: красный канал полностью белый, зелёный приглушённый, а сравнение с синим показывает различия. Поставьте это рядом с dev-SMDI из предыдущего шага, и вы увидите, что сгенерированная гораздо проще - но это вполне пригодный временный вариант.
Важная оговорка: сделанная вручную SMDI всегда превосходит сгенерированную. Тот же приём Save As технически может создать и NoHQ, но не делайте этого - автоматически сгенерированная normal map действительно плоха. Используйте генерацию только для SMDI и AS, как временную замену, пока не сможете создавать свои.
Карта AS использует тот же рабочий процесс. Снова откройте вашу color map, убедитесь, что вы в RGBA, затем File > Save As и измените суффикс на «_AS» перед расширением. Сохраните, затем откройте новый файл, чтобы изучить результат.
Сгенерированная AS читается в розовых тонах, и в отличие от плоской color map её синий и красный каналы не полностью белые - быстрое визуальное подтверждение, что вьюер произвёл настоящие данные по каналам. Как и с SMDI, относитесь к этому как к быстрому способу придать модели с одним только color немного отклика освещения и затенения, пока вы учитесь создавать настоящие карты RVMAT вручную.
Tex View открывает и проверяет текстуры DayZ, в основном файлы .paa. Вы используете его для просмотра цветовых форматов, сравнения отдельных каналов RGB, чтения деталей сжатия DXT и проверки того, что ваши карты NoHQ, SMDI и AS содержат ожидаемые данные. Он также может автоматически генерировать карты SMDI и AS из color map.
Установите бесплатные DayZ Tools из Steam (App 830640), запустите их из библиотеки, затем откройте раздел Utilities в правом нижнем углу лаунчера. Texture Viewer - вторая запись сверху в правой части.
Да. Откройте color map, выберите File > Save As и измените суффикс имени файла с «_co» на «_SMDI» перед расширением. Tex View определит новый тип карты и автоматически построит SMDI из базового цвета. То же работает с «_AS».
Нет. Приём Save As технически может создать NoHQ, но результат плохой и непригодный. Генерация - разумный временный приём только для карт SMDI и AS; normal map нужно делать как следует.
Нет. Сделанная вручную SMDI несёт гораздо более богатые данные по каналам, что видно во вьюере при сравнении dev-SMDI со сгенерированной. Используйте сгенерированные карты как временную заглушку, пока не сможете создавать свои.