Перейти к содержимому


Информация о статье

  • Добавлено:
  • Обновлено:
  • Просмотры: 1578
  • Источник: перейти
  • Автор: Rinn (Hidanna)

 


* * * * *
3 Рейтинг

Создание текстуры для готовой модели

Руководство по текстурингу\ ретекстурированию. Уровень сложности: Адепт.

Написано в Окт 25 2015 18:40

Как известно, шмоток модов много не бывает, но каждому хочется выделить своего персонажа из толпы довакинов\нереваринов\эльфиек\вампиров... :)

Прекрасно знаю, как по-разному может выглядеть одна и та же вещь с разными текстурами. Поэтому, решила написать небольшой тутор по созданию текстур и ретекстуров для готовых моделек. А если точнее, то распишу последовательность действий, в которой я обычно работаю.
Недавно сделала несколько новых моделей, на примере одной из них буду показывать и рассказывать. Итак:

 

Название: Текстуры - тонкая материя.
Уровень сложности: Адепт.
Нужности: Photoshop+NVIDIA Tools Normalmap Filter+DDS Plugin, Autodesk 3D Max+Nif Plugin (Importer-Exporter).
Рейтинг: NC-17.
Размер: Миди.
Статус: Закончено.

 

TESV%2B2015-10-25%2B17-25-49-50.png

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqq.png

 

Текстуры во многих играх "запаковываются" в формат DDS, по своей сути это еще один алгоритм сжатия изображения, как PNG или JPEG, который имеет гибкую систему настроек. Чтоб создавать игровые текстуры, нужно установить DDS Plugin для фотошопа.

Если открыть чужую текстуру и с ходу начать поверх нее работать, то можно перепутать верх и низ, один элемент с другим, лево и право (да-да,так тоже можно). Некоторые текстуры интуитивно понятны, а в некоторых черт ногу сломит. Дабы не гадать на бобах и не запускать по сто раз игру для проверки, надо выяснить, с чем мы имеем дело :)
Цель описанных далее манипуляций - определить, как лучше работать над текстурой в 2D. Если вы ровненько наложили красивые текстурки и не можете понять, почему же в игре великолепные узоры поплыли, то 3D вам в помощь.
Нам понадобится рассмотреть выбранную модель в 3D максе. Макс у меня открыт почти все время, пока я делаю текстуру, в нем можно быстро посмотреть результат манипуляций в 2D редакторе, подключить сетку для лучшей ориентировки и т.д.
Модели в Скайриме (и еще в некоторых играх) в формате Nif. И для экспорта в макс нужно поставить Nif Plugin.

 

Нажимаем на эмблему макса в левом верхнем углу, Import.

 

1.png

 

Дальше всплывает обычное диалоговое окно, где мы выбираем нужный файл.

 

2.png

 

3.png

 

Легче всего взять файл прямо из Data, но если вы выложили модель в любое другое место, проверьте, чтобы в пути к файлу не было русских букв (макс может выдавать ошибку). У меня импортер не ругается только на русскоязычные название жестких дисков и рабочий стол, но у всех по-разному, у вас может с рабочего стола не открыть.

 

Опять жмякаем Import.

 

4.png

 

Готово, модель с нами.

 

5.png

 

Выделим ее ЛКМ. Справа, на панели инструментов заходим во вкладку Modify, в списке у вас будет три модификатора.

 

6.png

 

Щелкаем на верхней строчке ПКМ, выбираем Collapse to -> Yes. (Просто мера предосторожности, чтоб избежать вылетов.)

 

7.png

 

Добрались до главного. Чуть выше, в Modifier List находим модификатор Unwrap UVW. Весь список не листаем, достаточно щелкнуть по нему и нажать U на клавиатуре, все просто. У меня этот модификатор до кучи вынесен на отдельную кнопку, прямо под списком, вместе с другими "горячими" модификаторами :D

 

[Для справки: этот модификатор позволяет присвоить пространственным точкам модели (вертексам) такое значение на плоскости, при котором рисунок, наложенный в дальнейшем на плоскость в 2D редакторе, не будет искажен на данной объемной модели.]

 

Open UV Editor.

 

8.png

 

Открывшееся  окно разворачиваем, в нем нам нужен пункт рендера развертки...Tools -> Render UVW Template.

 

9.png

 

Теперь выберем размер в пикселях. Корректными значениями будут: 8х8, 16х16,....512х512, 1024х1024, 2048х2048, 4096х4096. Выбирайте размер под свои нужды. Обычно я беру 4к или 2к (для больших и мелких объектов соответственно), изначальный большой размер дает лучшее качество при дальнейшем сжатии. 4к можно потом уменьшить на 2к, 2к на 1к и т.д. без значительных потерь. Уменьшать - не растягивать :D

 

Render UVW Template.

 

9q.png

 

9qq.png

 

Полученное изображение сохраняем в формате PNG. Формат PNG очень классный, он сохраняет прозрачность. На кой черт оно нам надо? Изображение помещается в фотошопе на самый верхний слой, оно прозрачное и не содержит ничего лишнего, кроме граней модели. Если исходные текстуры на выбранной вами модели очень мусорные и невозможно из них понять, что к чему относится, то отрендеренная развертка поможет четко разграничить объекты.

 

9qqq.png

 

Как я уже писала в самом начале, 3D макс оставляю открытым почти все время текстурирования. Есть еще несколько вещей, которые хотелось бы упомянуть.
Если после рендера все еще остается непонятным, какой элемент развертки за что отвечает, то можно использовать окно Unwrap, чтобы все прояснить. В левом нижнем углу нужно отметить "выделение по полигонам" и "выделение по элементу". Это позволит выделить элемент полностью, нажав на любой полигон, относящийся к нему.

 

9qqqq.png

 

9qqqqq.png

 

Во вьюпорте элемент тоже выделяется.

 

9qqqqqq.png

 

Очень удобно для выявления вот таких маленьких объектов.

 

9qqqqqqq.png

 

Развертки бывают разные..
Правильно сделанная развертка - залог вкусной текстурки. :3 Плохая развертка несет с собой отчаяние, разрушение и багет :С Она непредсказуема, с ней сложно работать в 2D редакторе. Прежде чем браться за ретекстур не лишним будет проверить, а стоит ли?

 

Material editor -> Diffuse -> Checker.

 

9qqqqqqqq.png

 

9qqqqqqqqq.png

 

Перетаскиваем сферу (материал) на объект. Это стандартный материал макса для проверки на вшивость. Представляет из себя "шахматную доску". Там, где растягиваются квадраты, растянется и итоговая текстура. Все дело в степени потянутости...Есть приемлемые растяжения, а есть не совместимые с жизн работой в 2D редакторе. Некоторые модели лучше оставить в покое, серьезно..для безопасности своих же нервов.

 

При желании можно увеличить тайлинг (квадраты уменьшатся), чтобы оценить адекватность развертки на мелких деталях.

 

9qqqqqqqqqq.png

 

Хорошо.

 

9qqqqqqqqqqq.png

 

Плохо ._____.

 

9qqqqqqqqqqqqqqq.png

 

Приемлемые потягушки.

 

9qqqqqqqqqqqq.png

 

Сразу несколько примеров.

 

9qqqqqqqqqqqqqq.png

 

Все хреново :D

 

9qqqqqqqqqqqqq.png

 

Обычно никто не заморачивается над мелкими деталями (шнурки, тонкая подошва, люверсы, заклепки, ремешки) - как развернулись, так и развернулись. Они могут растягиваться, лежать в куче, перекрывать друг друга. В подобных случаях, вытянуть ретекстур, не затрагивая исходную развертку, можно, но сложно. Одним из простых решений является однотонная заливка.
Еще чекер помогает увидеть соразмерность объектов. Больше квадраты - меньше места на развертке, меньше квадраты - больше места на развертке. Чем больше объект (платье, брюки, целое тело), тем больше информации в пикселях он потребует для качественного результата. Если маленький объект (бусина, пуговица, манжет) на развертке увеличен в ущерб бОльшему, это не есть гуд :С

 

Адекватная соразмерность.

 

9qqqqqqqqqqqqqqqq.png

 

Что-то не так...

 

9qqqqqqqqqqqqqqqqq.png

 

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

Ладно,перейдем уже к фотошопу.
Начнем с создания Diffuse map, а, проще говоря, нарисуем карту цвета. Одно важное действие, которое полезно предварительно сделать. Создать "маску" для каждого элемента. В кавычках потому, что это не маска слоя. Это всего один слой, на котором у меня лежать все силуэты элементов, залитые каким-нибудь одним цветом.

 

Вот так это выглядит.

 

9qqqqqqqqqqqqqqqqqq.png

 

Зеленые линии - границы элементов (верхний слой).

 

9qqqqqqqqqqqqqqqqqqq.png

 

Маску всегда создаю с небольшим припуском, с помощью инструмента "перо". Никакие сглаживания не делаю, только грубое выделение. Главное - не оставлять открытые участки.
Все, что происходит в Вегасе, остается в Вегасе.
Все, что происходит дальше - находится между первым слоем и слоем с маской. Слоев получается много, очень много..слишком :\ (Я делаю резервные копии всего, что только можно, поэтому к концу работы собирается огромная группа "Резерв".)

 

9qqqqqqqqqqqqqqqqqqqqqq.png

 

Для каждого объекта (или материала) создаю свою папку, чтобы они не зависели друг от друга. Я не сливаю слои до последнего, чтоб была возможность скорректировать один элемент, не затрагивая остальные.
В процессе работы на слоях скапливается много шлака. В любой момент можно встать на слой-маску, сделать выделение нужного объекта, инверсию выделения и быстро удалить весь мусор. Или нарезать и примерить пачку фото, в поисках подходящей текстуры.
Кстати, не всегда можно найти подходящую под замысел картинку в и-нете, иногда приходится действовать по вдохновению, my brothers. Например, за основу для подошвы я взяла фото собственного сапога. И вообще, стараюсь фотографировать все, что может пригодиться для текстурирования. Также для создания подошвы мне понадобились старый забор, гвоздодер и наждачка.

 

fst_244im65sxxr%2B-%2B%25D0%25BA%25D0%25

 

9qqqqqqqqqqqqqqqqqqqqqqq.png

 

9qqqqqqqqqqqqqqqqqqqqqqqq.png

 

Еще слой-маска полезен, если у вас нет возможности или желания запекать карту теней. Выделяем нужный объект и, ориентируясь по слою с разверткой, чисто и быстро накидываем тени.

 

boots.jpg

 

Cнова открыв Material editor, можно примерить текстуру на модель: Diffuse -> Bitmap -> Твоя_текстура.jpg\png\tiff....

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqq.png

 

9qqqqqqqqqqqqqqqqqqqqqqqqq.png

 

Теперь уже можно в целом посмотреть на то, что мы натворили. Включив сетку, увидим, как исправить тот или иной косяк, на какое конкретно место что нужно передвинуть.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqq.png

 

Теперь пора оживить модель. Normal map - та самая карта, которая дает плоскому Diffuse map рельеф. Грубо говоря, эта карта создает реакцию на свет и тень. Наложив нормали на лоу-поли модель можно добиться эффекта объема.

 

Мидл-поли штаны и хай-поли обувь.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq.png

 

Normal map штанов.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq.png

 

Реакция на освещение.

 

TESV%2B2015-09-02%2B20-54-00-64.png

 

TESV%2B2015-09-02%2B20-55-18-42.png

 

Карту для штанов я снимала с хай-поли модели.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq.png

 

Нормали могут выглядеть по-разному. Для рендера в 3D максе, например, подходит ч\б версия диффуза, но он также воспринимает и другие виды нормалей. Далее я распишу один из способов создания подобной карты в фотошопе.

Нам понадобится установить NVIDIA Tools Normalmap Filter.
Сперва нужно обесцветить созданный ранее диффуз. Но перед этим важно учесть одну особенность: темные оттенки воспринимаются как углубления, а светлые - как выпуклости. Что из этого следует? Нужно обратить внимание на материалы: царапины всегда будут светлее основы, а т.к. царапины - это углубления, то придется их сделать темными, чтоб фильтр их понял правильно.

 

Например, на этой текстуре присутствует два материала: кожа и металл. Оба они имеют царапины.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq.png

 

Простое обесцвечивание даст нам инверсию света и тени при рендере. Правильная основа для применения фильтра будет выглядеть примерно так.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq.png

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq.j

 

В данном случае я инвертировала сразу оба материала.
Что касается наших ботинок, то на них есть некоторые материалы, которые не нуждаются в инверсии. Колдовать придется с металлом, темными швами и царапинами на подошве. Подошва представляет собой наиболее сложный объект, т.к у нее есть ребристая поверхность, которую НЕ нужно инвертировать, и царапины, которые нужно инвертировать. Упорядочивание слоев и групп может показаться слишком педантичным, но сейчас без этого было бы очень сложно.
Первым шагом я создаю две новые группы Normal и Diff (да-да, снова группы, еще больше групп). В Diff скидываю весь диффуз и отключаю тени, сейчас они не понадобятся. Далее, стоя на группе Diff, нажимаю Ctrl+Alt+Shift+E. Создается слой со всем содержимым, который отправляется в папку Normal (можно перед этим еще фон отключить, но это не столь важно). Применяем к нему обесцвечивание.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

Группу Normal пока можно скрыть и заняться сложными пациентами. После обработки, накладываю инвертированные объекты поверх обесцвеченных. Можно еще подтянуть контраст или наоборот, приглушить некоторые моменты. Теперь все готово к применению фильтра Normalmap.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

Заходим в Фильтр -> NVIDIA Tools -> NormalMapFilter. В окне настроек можно поменять Scale, попереключать каналы (задействует красный, зеленый, синий или все сразу) и посмотреть на результат. Сейчас меня устроили такие настройки.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

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

 

Вот что получаем на выходе.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

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

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

Добиться лучшего эффекта можно несколькими простыми действиями. Копируем полученный слой, ставим ему режим перекрытия и применяем на нем фильтр Размытие по Гауссу. А дальше только нажимаем Ctrl+J (скопировать слой) и Ctrl+F (применить последний фильтр, в нашем случае "размытие").

 

Теперь больше похоже на правду.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

Кратко о Specular map (карта блеска). Тут уже более-менее без выкрутасов. Нам понадобится простой ч\б вариант диффуза. Регулировка производится таким образом: черный цвет - нет блеска, белый цвет - есть блеск. Металл может быть ржавый, тусклый. Или наоборот - отшлифованный. Кожа может быть матовой, потертой или лакированной. Свойства материала настраиваются в соответствии с задумкой.
Спекуляр может быть сохранен как отдельная карта или вставлен в альфа-канал нормала.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

Последним пунктом является сохранение созданных текстур в DDS формате. Файл -> Сохранить как, выбираем расширение DDS. В открывшемся диалоговом окне нам предлагают выбрать тип текстуры и степень сжатия. Подробно про разные алгоритмы сжатия можно почитать тут и еще тут. Сейчас я сохраняю в DXT5.

 

9qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

 

Теперь можно закинуть получившиеся файлы в нужную директорию и посмотреть на результат в игре.

 

TESV%2B2015-10-23%2B06-03-09-32.png

 

TESV%2B2015-10-23%2B05-59-33-01.png

 

TESV%2B2015-10-23%2B06-23-58-64.png

 

TESV%2B2015-10-23%2B06-27-45-33.png

 

Достаточно было зайти в Скай один раз, чтобы убедиться, что все в порядке.

All done. Постаралась рассказать обо всем понемногу. Надеюсь, вы нашли для себя что-то полезное в этом руководстве.

 

29.jpg