Max Payne: Текстурирование

Полный мануал по MaxEd 2
Программу "минимум" мы выполнили. Надо продвигаться дальше. Первое, что бросается в глаза на уровне — дефолтная текстура на всех плоскостях. Пора бы заняться дизайном. Если Вы собираетесь просматривать или редактировать текстуры, то Вам понадобится Photoshop и плагин dds.8bi, который нужно разместить в папке Photoshop\Plug-Ins\File Formats. Вообще, Вы можете просто наковырять текстур из оригинальных уровней с помощью ldb2rip, но я расскажу как делать свои.
DDS устроен таким образом, что его размеры должны равняться (именно равняться, а не быть кратными) степеням двойки. Лично у меня есть такой баг: если я случайно пытаюсь сохранить DDS с неправильными размерами, кнопка Save становится неактивной до перезапуска Фотошопа. Даже если я повторяю операцию с правильными размерами, кнопка остается неработающей. Это так, на всякий случай.
Рамкой я обозначил те параметры, с которыми мы будет работать. Остальные мне ни разу не приходилось менять. Блок Save Format определяет наличие прозрачности и глубину цвета. Обычно я ставлю Explicit Alpha, если в текстуре есть альфа-канал, и No Alpha если нет (как мне кажется, DXT 1 и 3 обладают достаточно хорошим балансом веса и качества). Если сохраняемая картинка — загрузочная заставка или меню, то переключите MIP Maps на No MIP Maps, если текстура — то Generate MIP Maps.
Итак, текстуры у Вас есть. Добавим их на уровень. Просто возьмите любой dds-файл в Проводнике и перетащите его в MaxEd в окно Materials. Обратите внимание на надпись "Default" под заголовком этого окна – это обозначение категории. Категория определяет физические свойства текстуры – звуки, следы от выстрелов, эффекты и.т.д. Работа с категориями осуществляется из контекстного меню (ПКМ в окне материалов). Основные команды – это Add и Remove, причем удалять можно только пустую категорию.
Другие команды контекстного меню:
View As List / Thumbnails – изменяет вид списка текстур;
Insert Bitmaps – то же самое, что перетащить файл из Проводника;
Insert Materials From File – добавляет все текстуры из выбранного lv2;
Delete – само собой. Если текстура используется, то будет выведено соответствующее предупреждение, а после удаления все полигоны с ее "участием" покроются стандартной текстурой;
Refresh Material / Refresh All Materials – если вы отредактировали и сохранили новую текстуру под старым именем, то автоматически в MaxEd она не изменится. Обновляет ее (или все разом) как раз этот пункт меню.
Purge Unused Materials – удаляет все неиспользуемые текстуры.
Наложение текстур ведется в режиме F6. Выделите нужную текстуру, наведите курсор на полигон и нажмите ЛКМ. Полигон покроется выбранной текстурой. Чтобы установить нужные пропорции и масштаб каждой текстуры используются следующие пункты из меню СКМ:
Move Texture – сдвигать на расстояние, равное размеру ячейки, или поворачивать на 90 градусов. Но обычно для перемещения текстуры ее просто двигают правой кнопкой (но тут текстура смещается не уже по ячейкам, а свободно);
Scale Texture Numerically – самый ходовой пункт, обычно вызывается не из СКМ, а кнопкой U.
В этом меню указываются пропорции текстуры в длину и ширину. Meters определяет сколько метров приходится на один фрагмент (далее тайл) текстуры, а Tiles – сколько тайлов на весь полигон. Параметры Meters и Tiles связаны между собой. Lock Aspect Ratio позволяет зафиксировать пропорции текстуры — например, если вы знаете, что у Вашей текстуры соотношение сторон 2 к 3, а нужно растянуть ее по одной стороне на 5, то ставите сначала 2x3, потом Lock, потом 5. Каждая текстура имеет размер по умолчанию: ПКМ в окне Materials -> Properties -> Default Width/Height. Если Вы ставите галочку Set as material default, то указанные размеры текстуры запишутся сюда. Другой способ записать текущие размеры в default – выбрать Get Default Tiling в СКМ.
Flip U / Flip V – зеркально отражает текстуру по горизонтали / вертикали;
Copy Mapping Coordinates – тоже очень часто используемый пункт, вызывается кнопкой С. Используется для переноса тайлинга с одного полигона на другой. Полигоны должны граничить между собой; также подразумевается, что у них одна и та же текстура (иначе какой смысл?). Методика работы такова:
1-2: наведите курсор на полигон-образец и нажмите С;
2-3: курсор превратится в тонкий крестик, переведите его на новый полигон;
3-4: нажмите ЛКМ – новому полигону будут присвоены параметры первого;
4-5: если Вы еще не положили нужную текстуру на новый полигон, нажмите ЛКМ еще раз.
Здесь я часто использую СКМ -> Get Material. Это позволит выбрать активный материал без утомительного копания в окне Materials. Просто наведите курсор на полигон, уже покрытый желаемой текстурой и нажмите G.
Мы получили текстуру, плавно обтягивающую два полигона. Конечно, края можно подогнать и вручную, но так гораздо удобнее. Обычно размеры и координаты текстуры устанавливают для одного полигона, а на соседние копируют.
Теперь поподробнее о пункте Material Properties (ПКМ в окне Materials). Предполагается, что вы знаете, что такое альфа-канал.
Блок Diffuse Texture – это настройка непосредственно самой картинки. Name – это путь к файлу, не путайте с подписью текстуры (первая строка Name). Про Default Width / Height уже было сказано. Dualsided – делает текстуру видимой даже "с изнанки".
Обратите внимание на переключатель далее. Изначально он находится в положении Normal. Я использую лишь два других параметра – Alpha Blend для текстур с прозрачностью и Detail Texture для близко рассматриваемых объектов.

Текстура детализации

Текстура детализации (далее просто "ТД") – это черно белая картинка с прозрачностью, имитирующая фактуру какой-либо поверхности. Не надо путать ее с бамп-мэппингом – ТД просто накладывается поверх основного рисунка текстуры. Пункт Default Scale - это соотношение размеров основной текстуры и ТД. Проще говоря, сколько тайлов ТД помещается на одном тайле основной. Обычно ставится больше 1, чтобы при приближении к текстуре она не становилась размытой. Хотя можно ставить и меньше – чтобы при удалении камеры не слишком выделялось повторение тайлинга. Но это уже разные задачи и разные типы ТД.
Собственно, результат применения ТД можно оценить на следующих двух скриншотах:

Текстура отражения

Блок Reflection позволяет превратить текстуру в блестящую поверхность. Это не превращает материал в зеркало (для этого существуют специальные категории). Reflection – это просто текстура отражения (далее "ТО"), накладываемая поверх основной, которая смещается в зависимости от положения точки обзора. Обратите внимание, что вы не можете одновременно использовать ТД и ТО. Gloss – это альфа-канал для ТО.
Вообще, в качестве ТО можно использовать что угодно. Но если вы хотите , чтобы на объекте отражалось некое подобие окружающих предметов, то нужно создать кубическую карту для этого объекта (представьте, что вы поместили камеру в его центр и сняли скриншоты во всех направлениях – это и будет кубическая карта). Делается это в режиме F5. Выберите объект (без подобъектов!) и нажмите СКМ -> Generate Cubic Reflection Map. Полученную текстуру нужно будет из TGA перевести в DDS, для этого придется изменить размеры, т.к. соотношение сторон у нее 6:1. На кубической карте отмечается в точности то, что вы видите в редакторе. Поэтому перед ее созданием не забудьте включить освещение и попрятать то, чего на отражении быть не должно, типа сетки или точки старта.
После указания ТО в свойствах текстуры необходимо настроить сам объект, иначе ТО будет просто мигать поверх. Добавьте объекту группу полигонов (ПКМ в иерархии -> Add Polygroup). На вопрос "Insert all polygons of <имя объекта>?" отвечайте утвердительно. Группа появилась в качестве подобъекта. Зайдите в ее свойства и поставьте Smooth Lightmaps (именно Lightmaps, а не Geometry). Теперь ТО правильно распределена по объекту.

Просмотров: 5 084

Комментарии пока отсутcтвуют