УРОК №9. Работа с текстурами, развертка

Когда нам нужно установить какую-либо текстуру в качестве материала, мы просто загружаем ее в стандартный редактор материалов и присваиваем объекту. В этом случае текстура будет натягиваться на объект, располагаясь с учетом текстурных координат. Но иногда возникает потребность расположить какие-то части текстуры в определенных местах. Например, чтобы нарисованные глаза совпадали с глазами на 3d модели. Для таких случаев применяют метод текстурной развертки – когда определенным текстурным координатам назначается определенная часть изображения.

Сейчас мы разберем метод создания текстурной развертки, а именно модификатор Unwrap UVW. В качестве модели будем использовать имеющуюся у нас модель пса Плуто (Рис. 1).


Рис 1. Текстурная развертка модели пса Плуто

Вначале сделаем развертку головы, поэтому скроем ненужные объекты типа ошейника. Нажимаем по нему правой кнопкой мыши и выбираем из списка Hide Selection (Рис. 2). Зрачки можно удалить, ведь мы сможем их нарисовать. Убедитесь, что уши, нос и язык не являются элементами самой головы, иначе для них тоже придется делать развертку, хотя в их случае достаточно стандартной библиотеки материалов.


Рис 2. Скрытие ненужных элементов

Теперь отключаем сглаживание Turbo Smooth, нажав на лампочку напротив этого модификатора. Это необходимо для того, чтобы позволить модификатору работать с меньшим количеством полигонов и тем самым увеличить скорость работы.

Чтобы создать развертку, выделяем нашу модель и находим в списке модификаторов Unwrap UVW. После этого на нашей модели сразу появятся зеленые швы, грани, по которым будут сделаны разрезы для развертки – их автоматически определила программа. Это работает с простыми объектами, но в нашем случае нам предстоит самим определить грани разрезов. Поэтому избавляемся от выбранных швов, сняв галочку с Map Seams (Рис. 3).


Рис 3. Удаление автоматически выбранных швов

Чтобы отобразить ребра модели выберем Edged Faces, щелкнув по режиму отображения в окне Perspective (Рис.  4).


Рис 4. Режим отображения ребер

Нам предстоит разрезать модель. Чтобы упростить развертку, разделим модель на несколько частей: голова, глаза, верхняя челюсть, нижняя челюсть и рот. Начнем с головы. Переходим в режим редактирования Edge и начинаем выбирать ребра, по которым будем резать модель (Рис. 5). Удобно пользоваться сочетанием клавиш alt+x, который переводит модель в режим прозрачности, это нужно для того, чтобы проверить шов.


Рис 5. Выбор ребер в режиме редактирования Edge

Теперь переконвертируем их в швы. Для этого нажмем на кнопку Convert Edge Selection To Seams. Выделенные ребра станут голубыми – теперь это швы, по которым пойдет разрез (Рис. 6).


Рис 6. Конвертирование ребер в швы

Помимо выделения ребер в режиме Edge, есть другой удобный способ – Point-to-Point Seams (Швы от точки до точки). Этот режим помогает резать объект по ребрам от одной выбранной нами точки к другой, сразу создавая швы, в отличие от режима Edge, где мы должны щелкать по каждому ребру отдельно и потом заниматься конвертированием. Для этого переходим в режим редактирования Vertex, активируем режим Point-to-Point Seams и указываем начало шва и его конец (Рис. 7). Шов сделан. Чтобы выйти из режима, щелкните правой кнопкой мыши.


Рис 7. Режим создания швов Point-to-Point Seams

Таким образом создаем швы по всей поверхности, вырезаем челюсть и глаза модели. Теперь сделаем саму развертку. Переходим в режим редактирования полигонов – Polygon, щелкаем по любому полигону в области нашей развертки и выбираем Expand Face Selection To Seams (Расширить выделение по области швов) (Рис. 8).


Рис 8. Выполнение операции Expand Face Selection To Seams

После этого вся поверхность, для которой мы наметили швы, выделится красным. Теперь создадим карту оболочки (шкуры), для этого нажмем кнопку Pelt Map (Рис. 9).


Рис 9. Создание карты оболочки

Перед нами появится окно настроек. Из списка Pelt Options выберем Select Stretcher, чтобы выделить область растягивания оболочки (1 на рис. 10). Далее в окне редактирования развертки увеличим эту область с помощью инструмента масштабирования, с зажатой клавишей Ctrl, чтобы сделать это равномерно (2 на рис. 10). Это нужно для того, чтобы оболочке хватило места, чтобы полностью развернуться.


Рис 10. Растягивание области под оболочку

Теперь нажимаем Start Pelt и видим, как оболочка развернулась по тем швам, которые мы намечали. Останавливаем разворачивание оболочки, нажав на ту же кнопку (теперь на ней написано Stop Pelt) (1 на рис. 11). И принимаем изменения, нажав на кнопку Commit (2 на рис. 11).


Рис 11. Развертка оболочки

Сейчас все полигоны оболочки растянуты, но их пропорции относительно модели не сохранены. Чтобы это исправить, нужно расправить оболочку – заходим во вкладку Tools и выбираем Relax (Рис. 12).


Рис 12. Выбор инструмента Relax

В появившемся окне нам надо выбрать расправление по полигонам – Relax By Face Angles и задать небольшое значение в строке Amount (Величина), например, 0,1. Жмем кнопку Start Relax, ждем, пока вся оболочка расправится, и останавливаем ее – Stop Relax, не забыв после этого применить изменения – Apply (Рис. 13).


Рис 13. Результат операции Relax

Чтобы проверить, нет ли у вас перевернутых или пересекающихся полигонов, с выделенной оболочкой зайдите в меню Select и поочередно проверьте наличие перевернутых полигонов – Selects Inverted Faces и пересекающихся – Selects Overlapped Faces (Рис. 14). Если какие то места выделяются красным цветом, значит, там есть ошибка, нужно вернуться к модели и исправить ее, либо отредактировать вручную, выбрав режим Vertex в нижней части окна Edit UVWs.


Рис 14. Проверка на наличие перевернутых или пересекающихся полигонов

Если все в порядке, то закрываем редактор и продолжаем работать с нашей моделью. В результате, у нас должно получиться 5 оболочек. Теперь уменьшим наши оболочки инструментом масштабирования и разместим их в квадратике, возвращая изначальные пропорции (Рис. 15).


Рис 15. Оболочки

Когда все готово, отрендерим наши оболочки, чтобы приступить к дальнейшей работе с ними. Заходим в меню Tools и выбираем Render UVW Template (Рис. 16).


Рис 16. Меню рендера

В появившемся меню увеличиваем размер карты до 2048х2048, чтобы можно было сделать более качественное изображение, и оставляем только Visible Edges (Видимые грани). Нажимаем Render UV Template и получаем нашу текстуру (Рис. 17). Сохраняем изображение в окне рендера – Save Image, указываем имя, папку и разрешение (.jpg).  Также можно сохранить сам файл развертки – в редакторе Edit UVWs выбрать File->Save UVs.


Рис 17. Результат рендера оболочки

Теперь приступим к созданию материала. Заходим в Adobe Photoshop и загружаем нашу текстуру. Задаем основной цвет, добавляем текстуру шерсти, рисуем глаза, рот, бровки (Рис. 18). Сохраняем с разрешением .jpg.


Рис 18. Создание текстуры средствами Adobe Photoshop

Возвращаемся в 3ds max. Открываем редактор материалов, выбираем свободный слот со стандартным материалом и напротив графы Diffuse нажимаем кнопку и загружаем в Bitmap нашу текстуру, сделанную в фотошопе (Рис. 19).

 
Рис 19. Загрузка текстуры

Осталось только применить материал к модели. Тем элементы, для которых мы не делали развертку, присвоим стандартные цвета из библиотеки материалов. Также перетащим модификатор сглаживания поверх развертки и снова активируем его, нажав на лампочку. Все спрятанные элементы сделаем видимыми, выбрав Unhide All из списка, появившегося при щелчке правой кнопкой мыши. В качестве завершающего штриха настроим освещение и отрендерим. Готово! (Рис. 20)

 
Рис 20. Результат работы

Задание

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