Unwrap UVW Modifier Tips & Tricks





Категорически приветствую всех  коллег тридешников. Сегодня речь пойдёт (как Вы уже догадались) о всем Нам известном модификаторе, именуемым как «Unwrap UVW». В этом уроке мы не будем досконально рассматривать каждую кнопку (по этому поводу в интернете уже набралось достаточно много информации), а затронем пару полезных функций, и ознакомившись с некоторыми сферами его применения, расширим Наше с Вами представление об этом инструменте.
 Итак, приступим помолясь)

Файл с примером

Первое и основное достоинство данного инструмента – интегрированность в программу, что позволяет использовать его функционал в тесной связке со множеством возможностей самого 3ds Max. Перечислим некоторые из них:
ü  Поддержка «HSDS - сеток», объектов «Editable Poly», а так же «Patch- объектов»;
ü  Создание выделений  на основе «ID – материалов» или «групп сглаживания»;
ü  Создание развёртки на основе сплайнов «Spline Mapping»;
ü  Создание до 99 отдельных каналов проецирования на каждом отдельном объекте;
ü  Анимация текстурных координат по ключевым кадрам;
И это далеко не весь список доступных возможностей.
Пример использования анимации текстурных координат

Вкладка «Wrap»

Мы начнём с рассмотрения (на конкретном примере) возможностей создания «UV – координат», при помощи инструментов вкладки «Wrap».
Пример использования кнопки «Spline mapping» довольно подробно описан в Help_е, поэтому мы сосредоточим своё внимание на втором инструменте этой вкладки  «Unfold Strip from Loop». Принцип работы этой кнопки если и отличается от соседней, то крайне незначительно и основывается на создании «UV-координат» объекта по выделенному циклу рёбер.
В качестве примера возьмём не самый стандартный объект - ножку стола «Watson».




Применяем к модели модификатор «Unwrap UVW» и после нажатия на кнопку  «Quick Planar Map» получаем следующий результат:



Конечно же такая проекция нас не может устраивать, поэтому для создания корректных текстурных координат прибегнем к помощи кнопки «Unfold Strip from Loop», для этого:
1.      Стандартными средствами создаём швы в местах сопряжений двух поверхностей;
2.      Создаём выделение из центральных граней (цикл);
3.      Жмём кнопку  «Unfold Strip from Loop» и открыв редактор («Open UV Editor»), наблюдаем за тем, как программа «развернула» проекционные координаты модели в длинный узкий лоскут («кластер») и автоматически разместила его вдоль одной из «UV – осей». Тоже самое проделываем и с остальной частью геометрии.
   Поскольку работать с таким масштабом неудобно, разумно будет привести его в соответствие стандарту «UV –пространства», проще говоря: «упаковать» в прямоугольную область, расположенную в центре редактора. Полагаю, что объяснения «как это сделать» будут излишними.




     Если внимательно посмотреть на модель с назначенным материалом, то можно заметить, что текстурные координаты имеют характерные искажения, вызванные хаотичным распределением их горизонтальных граней. Это легко исправляется:
4.      Используя кнопки процедурного выделения (  «Loop UV» и  «Ring UV») на нижней панели инструментов редактора, выделяем все горизонтальные рёбра;
5.      Кликнув по кнопке  «Align Horizontally in Place» устраняем искажения;




    Зачастую, такой способ «развёртки» можно использовать как отправную точку для дальнейших манипуляций с «UV – координатами». Что имеется ввиду? В конкретно этом примере потребовалась дополнительная корректировка каждого кластера, поскольку того требовал оригинал. Для придания каждому из них нужной формы, достаточно было задействовать внутреннюю функцию UV-редактора: «Soft Selection»:




_____________________________________________________________________________________ 


Каналы.

Какую можно привести аналогию каналам в модификаторе Unwrap UVW? Наверное, их можно сравнить с первыми импортными телевизорами, содержащими гигантское количество «ТВ-каналов»: все мы о них знали (кто-то даже спорил у кого их больше), но не понимали для чего и зачем они нужны. Вряд ли ошибёмся, если предположим, что примерно такое же представление о «UV – каналах» преобладает среди большинства начинающих «тридешников». И сегодня мы попробуем разобраться, что же это за «фрукт» такой.


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

Канал, можно представить как некий «контейнер», способный содержать в себе определённую информацию. Задействовав несколько каналов с различными данными (цвет, фактура, блеск, отражения и т.д), можно создавать довольно сложные текстурные композиции.




Цветные волокна можно представить как отдельные каналы в составном изображении

Как мы ранее уже отметили, основным преимуществом модификатора Unwrap UVW является его глубокая интегрированность в программу 3ds Max и случай с каналами является ярким тому примером. С их помощью пользователь может задавать дополнительную детализацию, без необходимости применения полигонального моделирования, а это напрямую влияет на вес модели. Причём, детализация создаваемая таким способом, может быть сколь угодно «объёмной», поскольку лимит на количество различных каналов в одном объекте исчисляется значением = 99. Наверное, в сфере дизайна трудно найти объект, содержащий такое количество каналов)).
На этот раз воспользуемся моделью шезлонга «Recliner  LC4» и на примере одного элемента кожаного крепления, рассмотрим принцип создания «швейной строчки».





Но сначала стоит отметить ряд важных предварительных моментов:
1.       Модель должна иметь на главном канале (по умолчанию «Map Channel - 1») корректные текстурные координаты;
2.       Все текстурные кластеры должны быть приведены к стандарту «UV – пространства», т.е. упакованы в квадрат;
Несколько слов об упаковке будет сказано в конце урока.
Итак, исходим из того, что оба пункта для нашей модели уже выполнены и развёртка для всех кожаных креплений на главном канале выглядит следующим образом:



1.      В свитке «Channel»  меняем первый канал на второй. При этом, программа выдаст сообщение, в котором её будет интересовать в каком из двух режимов ей следует переходить в указанный канал:
·        «Move» - перемещает существующие текстурные координаты в указанный канал
·        «Abandon» - не учитывает текущих «UV – координат» и переходит в указанный канал, игнорируя существующий меппинг.
В нашем случае наиболее предпочтительна кнопка «Move», т.к. нам необходимо забрать во второй канал полигоны, предназначенные для будущей «швейной строчки»;



    Теперь, когда мы по сути скопировали существующий меппинг во второй канал можно приступать к «расчистке местности» для дополнительной детализации.
2.      Создаём полигональное выделение той части текстуры, где будет проходить наша «швейная строчка»;
3.      Отделяем созданное выделение от остальной части кластера (Команда «Break»);
4.      Сворачиваем стек модификаторов (Команда «Collapse To»);




    Тут требуются некоторые пояснения.
Пункт № 4 необходим, т.к. согласно «руководства пользователя», один, отдельно взятый модификатор может редактировать ТОЛЬКО ОДИН, установленный в нём канал. Поэтому, чтобы мы в дальнейшем имели возможность редактировать каждый канал в отдельности, к нему необходимо обеспечить доступ, посредством повторного назначения модификатора.
   На этом этапе давайте на секунду остановимся и проанализируем то, что мы имеем. А имеем мы следующее:
Два канала практически одинаковых проекционных координат с тем лишь отличием, что в одном из них мы произвели отделение «строчки» от «тела кластера». Но это только половина успеха. Далее нам предстоит соответствующим образом настроить проекционные координаты на втором канале, для этого нам необходимо обеспечить в нём отображение только той части кластера, которую мы определили как «швейная строчка». Из этого можно сделать вывод, что остальная часть кластера на 2-м канале нам совсем не нужна. Как  от неё избавиться? Забегая вперёд, скажем прямо - никак. Текстурные координаты в отрыве от геометрии удалить нельзя, но кое-что мы всё же можем сделать, а именно  минимизировать отображение неактуальных (на данном канале) «UV – координат». Для этого нам потребуется связка модификатора Unwrap UVW  с его «младшим братом» UVW Map:


1.      На уровне подобъектов «Polygon», инвертируем выделение (Ctrl+I), которое наш объект унаследовал от модификатора  Unwrap UVW. Тем самым мы выделяем те части текстурных координат, появление которых во 2-м канале для нас крайне нежелательно;
2.      Не снимая выделения, в стек модификаторов нашей модели вставляем UVW Map, с режимом проецирования «Face» и каналом проецирования «Channel map = 2».
Режим «Face» выгоден в данном случае тем, что для каждого полигона в сетке, он генерирует полноразмерную прямоугольную карту. Иными словами, режим «Face» «упаковывает» каждый полигон в размер прямоугольной области, о которой мы уже упоминали;
3.      Сворачиваем стек модификаторов (Команда «Collapse To»);




4.      Снова назначаем модели модификатор Unwrap UVW;
5.      Меняем канал на второй: «Map Channel = 2». При этом, на запрос программы в каком из двух режимов ей следует переходить в указанный канал, на этот раз отвечаем нажатием на кнопку «Abandon»; т.е. мы говорим программе, что нам текущие проекционные координаты для выделенных полигонов более не нужны на 2-м канале и их  можно отбросить. Напоминаю, на 1-м канале у нас располагаются основные текстурные координаты.
6.      Отбросив проекционные координаты для выделенных полигонов из 1-го канала, на 2-м, модификатор автоматически присвоит этой части кластера указанную нами ранее  «UV – проекцию» в режим «Face» (модификатор UVW Map), ведь каналы у них совпадают. И теперь, если мы откроем редактор проекционных координат, то увидим результат работы модификатора UVW Map в режиме «Face»(указано стрелками на скриншоте);при этом интересующая нас часть кластера осталась нетронутой и  теперь мы можем её редактировать в соответствии с требуемой детализацией.
7.      Выделяем все вписанные в прямоугольник полигоны;
8.      Масштабируем это всё до уровня точки и размещаем в самом неприметном углу «текстурного прямоугольника»;
 Тем самым мы избавляемся от влияния той части текстурных координат, которая не должна никаким образом проявлять себя во 2-м канале.




Ну а что же дальше? Дальше, дело техники: добавление в редактор карты с изображением «швейной строчки» и её распределение по размеченным путям оставшихся нетронутыми «UV – координат».
   Небольшое отступление:
   Текстурная карта с изображением стежков (строчки) создаётся в графическом редакторе (в данном случае это Photoshop) и представляет из себя многослойное изображение, в котором все составные элементы располагаются на отдельных слоях, имеющих следующую нехитрую структуру:


Пример создания текстуры «швейной строчки»

   Стоит особо отметить, что данная компоновка карты с изображением «швейной строчки» отнюдь неслучайна. Она учитывает наиболее часто встречающиеся пересечения стежков нитки (крестообразныеТ-образные и угловые пересечения). 

Важное замечание: Для того, чтобы карта с изображением «строчки» отображалась в окне предварительного просмотра, убедитесь в том, что каналы проецирования для этой карты в модификаторе и в редакторе материалов совпадали.

1.     Из выпадающего списка текстур добавляем карту в окно редактора;
2.     Масштабируем кластеры до сопоставимого с текстурой размера. Здесь совсем не нужно пытаться удержать кластеры в рамках текстурного прямоугольника;
3.     Режем кластеры на отдельные сегменты, и каждый из них устанавливаем в соответствующее ему место: 



Совет: Поскольку при размещении сегментов, они зачастую перекрывают друг друга и с каждым новым таким размещением, текстуру в окне редактора становится всё труднее различать. В этом случае для более комфортной работы полезно задействовать кнопку  «Display Only Selected Polygons», которая прячет все невыделенные полигоны:     




Вот в принципе и всё. Единственное, что остаётся сделать, так это правильно разместить карту в материале. Для этого используем процедурную карту «Composite».
Нижний слой - это карта с изображением «швейной строчки» («Map Channel = 2»), поверх которой располагается обычная карта бампа («Map Channel = 1»), в качестве маски используем «ч/б – Альфу» (тоже c «Map Channel = 2»);




Результат:






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

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

____________________________________________________________________________

В заключении хотелось бы упомянуть несколько слов о приведении текстурных координат к стандарту  «UV – пространства». Почему так важно упаковывать «UV – кластеры» в текстурный квадрат редактора?
Во-первых, это является критическим условием для художников работающих в игровой индустрии, т.к. «упаковка» в квадрат снижает нагрузку на ресурсы компьютера. К тому же, позволяет использовать текстурное пространство с максимальной пользой. Ну и эстетически, такая развёртка смотрится более эффектно.
Все эти возможности с одинаковым успехом можно использовать и в сфере дизайна .
Простой пример: имея развёртку упакованную в текстурный квадрат, мы можем при помощи встроенных инструментов, быстро и качественно запекать такие детали как: затенения, патину, карты плотности, глубины и т.д., с последующей доработкой в одном из графических редакторов:




На этом наш урок можно считать завершённым.

 Спасибо за внимание и удачных экспериментов!


5 комментариев: