(UV) Развёртка стилизованного персонажа
Это 4 статья из цикла про создание стилизованных персонажей. Вот ссылки на все пять, выбирай ту, которая тебе нужна:
- ААА-пайплайн создания стилизованных 3D-персонажей.
- Как выглядит скульпт в ZBrush от первого лица. Полезные кисти и инструменты.
- Чек-лист по ретопологии в Maya. Особенности ретопа стилизованного персонажа.
- Как легко сделать UV-развертку 3D-модели. Чек-лист по развертке в Maya.
- Запечка стилизованного персонажа по ААА-пайплайну. Как запечь low poly модель.
Что такое развертка и зачем она нужна?
3D-модель сделана из объемных форм. На любой объект в редакторе можно положить материал, выбрать его цвет и настроить блик. Но положить текстуры на 3D-объекты нельзя, пока ты не сделаешь развёртку. Программа просто не знает как накладывать плоскую текстуру на геометрию.
Отсюда возникает отдельный этап пайплайна — UV-развертка. Развертка переносит объемные формы на плоскость для того, чтобы на них можно было положить текстуры.
Важно: развертку всегда создают из лоуполи модели, которую мы сделали на прошлом этапе — ретопологии.
Сейчас мы разберем, как сделать развертку для стилизованного персонажа. Поехали!
Готовая развертка стилизованного персонажа.
Инструменты для работы
Удобнее всего делать развертку в Maya , но принцип работы универсален для всех аналогичных программ. Везде есть автомапинг, разрезы и чекер. Если хочешь максимально быстро разобраться в интерфейсе Maya и сделать свою первую 3D-модель, присмотрись к нашему бесплатному курсу Intro 3D.
Сегодня, для работы в Maya нам понадобитсявкладка UV Editor и UV Toolkit .
Мы сделаем все этапы развертки на примере шлема персонажа, а в конце статьи разберем особенности развертки других элементов.
UV Editor и UV Toolkit в Maya
Авторазвертка нужна, чтобы наши полигоны появились на рабочем поле. Проще всего это сделать при помощи автоматической развертки с опцией Camera-Based .
Camera-Based развертка
Получаем такой результат:
Пока что это совсем не похоже на развертку, ведь мы еще не разложили модель на плоскость. Для этого нужно добавить швы (разрезы на UV).
Вот как можно создать разрезы:
Выделяем Edge, открываем UV Toolkit -> Cut and Sew -> Нажимаем Cut
Кнопка Cut
Существует 3 основных правила, в каких местах нужно делать разрезы (швы). Давай подробно разберем каждое из них:
1. Швы в незаметных местах
Ты можешь разрезать модель в любом месте. Но уже на следующем этапе пайплайна начнутся проблемы. На местах разрезов на UV могут появится некрасивые полоски на карте нормалей и в игровых движках. Модель будет некрасиво шейдить, поэтому хорошие трехмерщик всегда стараются разрезать модель в самых незаметных местах.
Помни, что мы моделим персонажа для компьютерной игры, поэтому по возможности прячь швы в местах, которые игрок не увидит:
Прячем швы на UV
Есть проблема: форма рога основана на цилиндре. Так или иначе нам нужно добавить хотя бы один разрез, чтобы разложить его на плоскость. Этот разрез мы делаем снизу, потому что игрок чаще всего будет видеть персонажа или спереди, или сзади.
В этом месте разрез на роге почти не видно:
2. Швы в местах, где есть Hard Edge
Тут все просто: везде, где есть хард — добавляй шов. Так у тебя будет меньше проблем при запечке.
Добавляем швы на Hard Edge
3. Швы на стыке двух разных материалов
В нашем примере, на рогах есть тряпка. В процессе текстурирования мы покрасим ее другим материалом. Для этого на стыке материалов нужно сделать разрез. Тогда, в программе для текстурирования можно будет легко сделать отдельную текстуру для этой тряпки.
Разделяем разные материалы швом
Раскладываем модель на плоскость
Авторазвертку мы сделали, швы тоже. Пришло время разложить нашу модель на плоскость. Для этого используем функцию Unfold . Она разделит модель на несколько отдельных UV шеллов в местах, где есть швы.
Функция Unfold
Теперь полученные UV шеллы поставим на расстоянии друг от друга:
Чекер — это текстура с шахмотной доской, которая помогает проверить развертку на ошибки. Если все хорошо, то квадраты чекера будут ровного размера. А если квадраты вытянуты или изогнуты — при текстурировании то же самое произойдет с текстурой. Она начнет некрасиво тянуться. Отсюда и появился термин «потяги».
Давай добавим чекер, и посмотрим есть ли потяги. Потом будем исправлять.
Your browser does not support the video tag.
У нас появилась новая проблема — квадраты чекера разного размера. Это значит, что разрешение текстур на финальной модели тоже будет меняться. Там где квадраты маленькие — будет высокое качество текстур, а где большие — низкое.
Сделать квадраты чекера одного размера можно двумя способами:
1. Автоматический способ
Maya сама может выровнять размер квадратов. Для этого нажимаем клавишу Shift и жмём на кнопку Layout . Всплывает окно с настройками — выбираем Preserve 3D Ratios и нажимаем Apply .
Квадраты одного размера
2. Альтернативный способ
Мы можем выбрать любой из элементов шлема и воспользоваться функцией Texel Density . Тогда у всех элементов модели будет чекер такого же размера, как у выбранного объекта.
Для этого:
1. Выбираем элемент с нужным размером квадратов чекера, нажимаем UV Toolkit → Tools → Texel Density → Get .
2. Выбираем все остальные элементы модели, нажимаем кнопку Set .
Your browser does not support the video tag.
Теперь квадраты одного размера, но в некоторых местах они искажены, значит на развертке есть потяги.
Пример потягов на UV
Слегка поворачиваем UV шеллы, чтобы выровнять чекер:
Your browser does not support the video tag.
Добавляем дополнительные швы и нажимаем Unfold . Одного прохода недостаточно, поэтому мы добавили разрезы в трех разных местах шлема:
Your browser does not support the video tag.
Первый шов
Your browser does not support the video tag.
Второй шов
Your browser does not support the video tag.
Третий шов
Теперь все квадраты ровные, значит потягов больше нет. Можем двигаться дальше!
Оптимизируем UV шеллы
Сейчас мы пошагово разберем действия, которые помогут избежать проблем при запечке и текстурировании. Просто смотри, запоминай комбинации кнопок и повторяй за нами.
1. Мапим длинные шеллы в прямую линию
Как ты помнишь, на рогах есть тряпка. Она примерно прямоугольной формы, но программа автоматически развернула ее вот так:
Если на ткани будут складки или фактура — текстура исказится и криво ляжет на модель. Чтобы избежать этого, попробуй мапить подобные шеллы в прямоугольники.
Для этого выбираем крайний вертекс в UV редакторе, зажимаем клавишу B, выбираем соседние элементы и опускаем вниз:
Your browser does not support the video tag.
Теперь нужно выпрямить эти шеллы. Выбираем их и включаем функцию UV Toolkit → Unfold → Straighten UVs:
Your browser does not support the video tag.
В этом примере мы выделили не весь шел, а его часть, потому что функция Straighten UVs не любит треугольники — они сильно искажаются. Треугольники так мапить нельзя, поэтому мы выпрямляем этот шел по частям, не трогая треугольник.
Your browser does not support the video tag.
Проверяем этот кусок на потяги, видим, что квадраты чекера стали неровными:
Чтобы это исправить, немного смещаем эджи на UV:
Your browser does not support the video tag.
По такому принципу мы будем мапить все аналогичные элементы модели.
2. Шеллы не должны пересекаться
Если шеллы пересекаются — появятся артефакты на текстурах. Следи, чтобы такого не происходило:
3. Шеллы должны быть на расстоянии друг от друга
Нельзя мапить объекты на UV вплотную друг к другу. Они должны быть на небольшом расстоянии друг от друга — это называется паддингом.
Your browser does not support the video tag.
4. Кладём шеллы в первый квадрат UV
Есть 2 вида мапинга: тайловый и уникальный. Тайловый мапинг используют в основном для зданий и предметов окружения, а уникальный — для стилизованных персонажей.
Особенность игровых движков в том, что текстура ложится только на первый квадрат UV и не выходит за его пределы. Все остальные квадраты просто бесконечно повторяют её. Это значит, что все UV шеллы персонажа мы должны положить внутрь первого квадрата UV.
Как это сделать?
Выбираем все шеллы и нажимаем UV Toolkit → Arrange and Layout → Layout .
Your browser does not support the video tag.
Как видишь, программа положила все шеллы внутрь первого квадрата, но теперь в нем слишком много пустого пространства. Чем больше места занимают шеллы, тем выше будет разрешение текстур у финальной модели.
Есть еще одна автоматическая функция, которая исправляет грехи предыдущей. Находится она в Layout UVs Options .
Настройки функции
Но и эта функция не даёт идеального результата, плюс довольно долго грузится:
Теперь между шеллами почти нет неиспользованного пространства, зато оно есть сверху. Именно поэтому опытные моделлеры не очень любят автоматические функции. Пока что есть только один инструмент, который позволяет идеально разложить шеллы внутри первого квадрата — твой мозг. С каждым разом получаться будет всё лучше и лучше.
Помни, что сейчас ты видишь только развертку шлема, а нужно сделать развертку всего стилизованного персонажа. Потом уместить в первый квадрат нужно будет не только шлем, но и все другие элементы.
Развертка других элементов стилизованного персонажа
1. Все ремешки и тряпки мапим в прямую линию.
2. Все шеллы лежат внутри первого квадрата UV. Потому что мы делаем уникальный, а не тайловый маппинг.
3. Повторяющиеся элементы делаем оверлапами. Поскольку эти элементы идентичны, мы мапим их вместе и тем самым экономим место на UV.
Если хочешь подробно узнать про оверлапы, смотри это видео:
4. Делаем финальную проверку развертки. Включаем функцию UV Distortion , тогда развертка синим цветом покажет самые сжатые полигоны, а красным — растянутые: Если модельгорит как светофор — нужно переделывать.
5. Проверяем, что все швы спрятаны.
Другие полезные функции
Рассмотрим еще несколько функций, которые не пригодились нам для развертки шлема, но могут спасти тебя во время развертки других элементов.
Если ты сделал лишний разрез, можешь обратно сшить выбранные шеллы — выбери их и нажми Sew .
Your browser does not support the video tag.
Эта функция автоматически оптимизирует выбранные точки на UV.
Your browser does not support the video tag.
Позволяет отразить UV шелл.
Your browser does not support the video tag.
Отлично, теперь ты знаешь все основные функции и сможешь самостоятельно сделать развертку стилизованного персонажа! Чтобы ничего не забылось, лови чек-лист по развертке:
Чек-лист по развертке
- Включаем Camera-Based авторазвётрку
- Делаем разрезы на UV
- Добавляем чекер, выравниваем
- Убираем потяги
- Оптимизируем шеллы
- Раскладываем все шеллы внутрь первого квадрата
Если тебе понравилось делать развертку шлема с нами и теперь ты хочешь освоить весь пайплайн, присмотрись к курсу STYL. Там ты изучишь все этапы пайплайна от скульптинга до анимации и научишься моделить стилизованных персонажей, как это делают в больших игровых студиях. Преподаватели — лидеры индустрии, которые работали с Blizzard, Sony, ID Software. По итогу в твоем портфолио будет полноценный «живой» персонаж, который дышит, двигается и вселяет трепет во врагов. Полученных знаний хватит, чтобы устроиться в игровую студию или работать на фрилансе.
Если тебе интересны другие этапы пайплайна создания стилизованных персонажей, то переходи на следующую статью. 1 статья = 1 этап пайплайна, с туторами и примерами на наших моделях. Вот ссылки, переходи на ту тему, с которой хочешь разобраться:
- ААА-пайплайн создания стилизованных 3D-персонажей.
- Как выглядит скульпт в ZBrush от первого лица. Полезные кисти и инструменты.
- Чек-лист по ретопологии в Maya. Особенности ретопа стилизованного персонажа.
- Как легко сделать UV-развертку 3D-модели. Чек-лист по развертке в Maya.
- Запечка стилизованного персонажа по ААА-пайплайну. Как запечь low poly модель.
Понравилась статья?
ХОЧЕШЬ ПОЛУЧАТЬ ЛУЧШИЕ СТАТЬИ
ОТ XYZ РАЗ В НЕДЕЛЮ?
Подпишись на рассылку XYZ
Нажимая на кнопку, вы соглашаетесь с условиями обработки данных
ААА-пайплайн создания стилизованных 3D-персонажей. Все этапы 3D-моделирования.
Знание пайплайна поможет тебе замоделить любого персонажа. Это универсальная последовательность этапов моделирования и разработки 3D-моделей персонажей для игр.
UV развёртки
Давайте немного углубимся в отображение текстур и посмотрим, как точно накладывать текстуры на объекты. Мы рассмотрели основные проекции, но 3D программа будет включать в себя и так называемые UV развёртки. UV развёртки отображают плоское, 2D изображение на 3D объект. И большая часть программного обеспечения будет иметь то, что называется UV-редактором. Вот здесь у нас есть простой куб с шестью гранями. Если я выбираю одну из этих граней, то в UV редакторе мы увидим, какое изображение соответствует это области. Теперь мы можем взять его и перемещать в редакторе, чтобы скорректировать отображение, или мы можем спуститься на UV уровень и фактически управлять им на детальной основе. Таким образом, это дает нам полный контроль над тем, как это изображение совмещается с объектом.
Помните, что изображение — развернутая версия объекта. И если мы возьмём его часть, мы сможем изменять отображение карты на объекте. Это очень простой пример, но редактирование UV развёртки является самым мощным инструментом в работе со сложными объектами. Здесь у нас есть простой персонаж, и у меня есть развертка для него. Это — карта изображения, которую мы используем для персонажа. И Вы можете заметить, что это выглядит уже сложнее. Поэтому давайте посмотрим на то, как она отображается. Если я посмотрю на персонажа в UV редакторе, Вы увидите, как он развернут.
Теперь, вероятно, лучший способ мысленно представить это состоит в том, чтобы подставить на его место выкройку мягкой игрушки. Как бы Вы сложили детали из ткани, чтобы получилась такая игрушка? Ну, у нас есть много частей. Мы можем начать с чего-то простого, например, с его руки, и если я выделяю эту область, то мы увидим, что его рука — это просто цилиндр, который был развернут. И если я перемещаю его, Вы видите, как это изменяет наложение текстуры. Вероятно,наиболее простое, это туловище. Если я выбираю эти области туловища, вы видите, чему они соответствуют. И если я выбираю все это, Вы видите, что все туловище — это одна оболочка или один кусок. И если я перемещаю его, я могу по-другому его отобразить. Или если я перехожу на детальный уровень, я могу точнее настроить отображение.
Думайте о нем как о выкройке игрушечного животного. Если я выбираю вот этот край, смотрите, как выделяется как бы шов вдоль его боков. И действительно, если бы мы сшили, мы создали бы шов, чтобы собрать его воедино. И нога здесь, смотрите — просто трубка, которая была развернута. И все эти части, собранные вместе, создают цельную карту для персонажа.
Таким образом, когда Вы работаете с UV, мысленно разворачивайте свои объекты, даже если они сложны, и думайте о том, как бы Вы их сшивали из плоских частей.
Первые шаги в Maya. Урок 19. Проецирование материалов через UV-развертку
В предыдущем уроке мы ознакомились с базовыми методами проецирования текстур: параметрическим проецированием и внедрением текстур в виде проецируемых изображений (As Projection) или по трафарету (As Stencil). Данные методы удобны при проецировании простых моделей, однако их может оказаться недостаточно при текстурировании более сложных моделей (такие объекты обычно требуют совместного использования нескольких типов проецирования и (или) коррекции наложения текстурных координат), а для текстурирования моделей, раскрашиваемых вручную, они и вовсе не подойдут. В подобных случаях приходится создавать развертку модели в редакторе проекционных координат UV Texture Editor. С одной стороны, подобная развертка позволяет более тонко настроить параметры проецирования, благодаря чему искажения текстуры оказываются минимальными. С другой стороны, по такой развертке можно нарисовать любую, даже самую замысловатую текстуру, а затем разместить ее на поверхности объекта с учетом развертки. Рассмотрению простых приемов создания и раскраски UV-развертки и посвящен данный урок.
Теоретические аспекты
Развертка — это плоская карта объекта, на которой присутствуют все его элементы, но расположены они не в пространстве, а на плоской поверхности (рис. 1). То есть если воспринимать модель как реальное скульптурное изображение, а развертку нарисовать на обычном листе бумаги, то, разрезав развертку на отдельные фрагменты, мы сможем наклеить полученные кусочки бумаги на скульптуру, как бы одев ее в бумажный наряд. А потому суть проецирования материалов через UV-развертку состоит в том, чтобы имитировать разрезание внешней оболочка модели на отдельные фрагменты, разложить их на проекционной сетке (так называемом UV-пространстве), превратить полученную развертку в растровое изображение, разрисовать последнее и вновь наложить на поверхность модели.
Рис. 1. Пример модели и соответствующей ей развертки
Технически это выглядит следующим образом. Вначале поверхность объекта мысленно разбивается на фрагменты — во фрагменты объединяют находящиеся рядом грани, к которым будет применен один и тот же тип проецирования, а также одинаковый вариант раскраски. После этого для каждого из фрагментов создают развертку и все элементы развертки размещают на отведенном для этой цели поле редактора проекционных координат UVTextureEditor. Затем делается снимок развертки (UVSnapshot), представляющий собой обычное растровое изображение. Данный снимок загружается в графическом редакторе, например в Adobe Photoshop, где по развертке (ее удобнее всего использовать в качестве верхнего слоя изображения) создается многослойная текстура (то есть развертка непосредственно разрисовывается), которая сохраняется в графическом файле уже в виде однослойного изображения. На последнем этапе необходимо вновь активировать Maya, создать новый материал, подключить у него на канале Color подготовленную текстуру и назначить данный материал модели, в результате чего текстура окажется наложенной на модель в точном соответствии с разверткой.
При проецировании материалов через UV-развертку следует иметь в виду следующие моменты:
- в силу длительности и большой трудоемкости операций выделения граней и назначения группам граней вариантов проецирования обычно текструрируют несглаженные модели, сглаживают модели уже после наложения текстуры;
- процесс выделения граней можно существенно ускорить, если выделять грани не обычным образом, а с применением выделяющей кисти, активируемой командой Edit=>PaintSelectionTool (Редактировать=>Выделяющая кисть). У данной кисти следует отрегулировать размер, после чего можно приступать к выделению, которое будет заключаться в рисовании (то есть проведении) данной кистью по выделяемым граням. При случайном выделении ненужной грани операцию можно тут же отменить;
- обычно приходится выделять много граней, и совсем необязательно, что делать это придется однократно, поскольку далеко не всегда можно точно сказать, какой из вариантов проецирования обеспечит лучшие результаты. Чтобы избежать повторного выделения граней (что на порядок удлиняет процесс работы), в ряде случаев разумнее отдельные наборы граней запоминать в виде выделенных областей, применяя команду Create=>Sets=>QuickSelectSets (Создать=>Наборы=>Наборы быстрого выделения). После этого выделенную область можно в любой момент активировать, воспользовавшись командой Edit=>QuickSelectSets (Редактировать=>Наборы быстрого выделения).
В редакторе UVTextureEditor отображаются развертка с проекционными координатами и текстура. Если текстура не видна, то необходимо щелкнуть по кнопке Show Texture Image (Показать изображение текстуры) либо применить команду Image=>Display Image (Изображение=>Отображение изображения). Если текстура повторяется (а этого не требуется), то следует ограничить границы интервалов U и V, щелкнув на квадратике справа от команды Image=>Image Range (Изображение=>Интервал изображения) и выставив параметры Minimum U и Minimum V равными 0, а параметры Maximum U и Maximum V — 1.
UV-развертку можно использовать при текстурировании полигональных моделей и поверхностей с иерархическим разбиением (SubdivisionSurfaces). Команды, ответственные за работу с UV-координатами полигональной модели, находятся в меню Polygons редактора проекционных координат, а за управление UV-координатами подразбиваемых поверхностей отвечает меню Subdivs.
В окне редактора UVTextureEditor выделенные проекционные координаты можно перемещать, поворачивать и масштабировать. Для этого требуется перейти в режим работы с UV-координатами, применив команду UV из контекстного меню редактора, а затем воспользоваться инструментами Move Tool, Rotate Tool и Scale Tool. Кроме того, в отношении проекционных координат допустимо еще множество самых разных операций, доступных из меню редактора UVTextureEditor. Наиболее важные среди них следующие:
- NormalizeUVs (Нормализовать UVs) — размещает развертку внутри UV-пространства;
- FlipUVs (Зеркально отразить UVs) — применяется для зеркального отображения проекционных координат;
- RotateUVs (Повернуть UVs) — позволяет повернуть выделенные UVs-координаты на строго заданный угол;
- MapUVBorder (Вычерчивание UV-границы) и StraightenUVBorder (Выпрямление UV-границы) — предназначены для распутывания границ развертки вдоль выделенных UV-координат, что актуально, например, в случае, если граница образует петлю. Обе операции используются при подготовке к операции RelaxUVs, которая работает лучше, если граница распутана. Операция MapUVBorder позволяет расположить границу выделенного фрагмента UV-координат вдоль границ квадрата в диапазоне от 0 до +1 или окружности, вписанной в тот же квадрат. Операция StraightenUVBorder подобных ограничений не имеет, и полученная после ее применения граница может иметь произвольную форму;
- RelaxUVs (Смягчить UVs) — позволяет распутать внутренние UV-координаты без нарушений границы развертки и, как правило, используется после применения операции MapUVBorder либо StraightenUVBorder;
- LayoutUVs (Скомпоновать UVs) — обеспечивает расположение UV-координат так, чтобы они не перекрывали друг друга;
- AlignUVs (Выровнять UVs) — выравнивает проекционные координаты друг относительно друга;
- CutUVs (Разрезать UVs) — позволяет разрезать развертку на части вдоль выбранных ребер;
- SewUVs (Сшить UVs) — обеспечивает сшивание фрагментов развертки вдоль выбранных ребер;
- MoveandSewUVs (Переместить и сшить UVs) — позволяет сшить фрагменты развертки вдоль выбранных ребер с перемещением фрагментов друг к другу (меньший фрагмент перемещается к большему);
- MergeUVs (Слить UVs) — позволяет слить выделенные координаты вместе (таким образом объединяются только координаты, разделяющие одну и ту же вершину); данная операция заменяет обычное сшивание, однако лучше подходит для слияния полигонов с однотипной геометрией, в то время как SewUVs предпочтительно выбирать при сшивании разнотипных полигонов;
- DeleteUVs (Удалить UVs) — используется для удаления ненужных проекционных координат;
- UVSnapshot (Снимок UV) — позволяет сохранить расположение UV-координат в графическом файле, который затем может применяться в качестве шаблона для рисования текстуры в PaintEffects или в любом графическом редакторе.
Подгонка развертки под готовую текстуру
Для начала рассмотрим пример текстурирования игральной кости, на разных гранях которой должно быть от одной до шести точек. Сформируйте обычный полигональный куб (рис. 2). Поскольку мысленно разрезать куб по ребрам для получения его развертки не составляет труда, то несложно представить, как будет выглядеть необходимая текстура. Поэтому сразу откройте любой графический редактор, создайте в нем новое изображение размером 600×800, включите сетку и установите направляющие, разбив изображение на три квадрата по вертикали и на четыре — по горизонтали. Нарисуйте в определенных квадратах круги так, как показано на рис. 3. Сохраните полученное изображение в виде файла в формате JPG (рис. 4). Переключитесь в Maya и для отображения текстур в окне перспективы включите режим аппаратного текстурирования, воспользовавшись командой Shading=>HardwareTexturing (Затенение=>Аппаратное текстурирование). Откройте редактор Hypershade, создайте новый Blinn-материал, обычным образом (то есть в режиме As Normal) подключите на канале Color нарисованную текстуру и назначьте данный материал кубу. Результат окажется совсем не таким, как хотелось бы, поскольку текстура на каждой из граней будет отображена в полном своем объеме, а не по квадратам (рис. 5).
Рис. 2. Исходное изображение
Рис. 3. Рисование текстуры в графическом редакторе
Рис. 5. Первоначальный вид текстурированного куба
Попробуем исправить ситуацию. При выделенном в окне проекции Perspective кубе откройте редактор проекционных координат, применив команду Window=>UVTextureEditor. поскольку куб является примитивом, то UV-координаты для него генерируются автоматически и потому развертка текстуры уже имеется, но ее положение по отношению к текстуре далеко от желаемого (рис. 6). Имейте в виду, что увидеть развертку в представленном на рис. 6 виде, скорее всего, вы сможете только после уменьшения масштаба ее отображения, что выполняется с помощью мыши точно так же, как и в окне проекции. К тому же обратите внимание, что размер развертки гораздо больше размера текстуры. Поэтому необходимо подогнать развертку по текстуре — в данном случае потребуется операция масштабирования. В окне UVTextureEditor щелкните правой кнопкой мыши и выберите команду UV (это позволит работать на уровне UV-координат), выделите все вершины куба и, воспользовавшись инструментом Scale Tool, уменьшите развертку так, чтобы текстура была наложенам требуемым образом (рис. 7 и 8).
Рис. 6. Развертка в окне UVTextureEditor
Рис. 7. Масштабирование развертки
Рис. 8. Игральная кость
Создание развертки
В подавляющем большинстве случаев этапу подгонки развертки под текстуру предшествует процесс создания развертки, а затем и текстуры по данной развертке. При подготовке развертки приходится решать сразу две задачи. Во-первых, нужно получить развертку, которая позволила бы минимизировать искажения текстуры. То есть развертка должна быть такой, что при наложении на нее шахматной текстуры Checker квадраты текстуры действительно оставались квадратами (или по крайней мере были близки по форме к квадратам), а это для отдельных фрагментов модели зачастую требует разных типов проецирования. Во-вторых, при создании развертки необходимо учитывать, как модель будет раскрашиваться, поскольку от этого зависит технология разбиения развертки на отдельные фрагменты.
Рассмотрим пример текстурирования обычного полена, в роли которого будет выступать полигональный цилиндр. Текстура на боковой поверхности объекта и торцах должна быть различной, а потому без построения развертки не обойтись. Создайте цилиндр, выделив его, откройте редактор проекционных координат, где будет отображена автоматически назначенная цилиндру как примитиву UV-развертка (рис. 9). Однако, руководствуясь ей, нужный по замыслу вариант текстурирования не реализовать, поэтому переключитесь в режим работы с текстурными координатами (команда UV из контекстного меню UVTextureEditor), выделите все координаты развертки и удалите их при помощи команды Polygons=>DeleteUVs (Полигоны=>Удалить UVs).
Рис. 9. Цилиндр и соответствующая ему автоматически сгенерированная UV-развертка
Перейдите в режим работы с гранями, нажав клавишу F11. Активируйте выделяющую кисть (команда Edit=>PaintSelection Tool) и выделите ею все грани боковой поверхности цилиндра (рис. 10). Назначьте данным граням цилиндрическое проецирование, применив команду EditPolygons=>Texture=>CylindricalMapping (рис. 11). Переместите созданный фрагмент развертки на свободное пространство (рис. 12) — если этого не сделать, то следующий фрагмент развертки будет наложен на только что созданный, после чего разобраться с ними будет проблематично. Из граней верхней поверхности цилиндра создайте новое выделение и назначьте данным граням планарное проецирование, воспользовавшись командой EditPolygons=>Texture=>PlanarMapping (рис. 13). Переместите полученный фрагмент развертки на свободное пространство. Аналогичным образом создайте фрагмент развертки для нижней поверхности. В режиме работы с UV-координатами (команда UV из контекстного меню) выделите все три фрагмента развертки, уменьшите их масштаб и переместите внутрь UV-пространства (рис. 14). Создайте снимок развертки, открыв из меню Polygons команду UVSnapshot (Снимок проекционных координат) и в появившемся диалоговом окне указав имя файла (поле FileName), размер (поля SizeX и SizeY) и формат изображения (список ImageFormat). Имейте в виду, что изображение должно иметь размер не менее чем 512х512, а лучше — 1024х1024.
Рис. 10. Выделение граней боковой поверхности цилиндра инструментом PaintSelectionTool
Рис. 11. Получение развертки боковой поверхности
Рис. 12. Перемещение созданного фрагмента развертки
Рис. 13. Получение развертки верхней поверхности
Рис. 14. Перемещение фрагментов развертки в UV-пространство
Откройте полученный графический файл в любом графическом редакторе (мы выбрали Paint Shop Pro) — рис. 15. Создайте дубликат слоя с разверткой, а затем установите под него слой с фоновым изображением, а также слои со спилами и текстурой коры (рис. 16). Сделайте слой с копией развертки невидимым (рис. 17) и сохраните изображение в графическом файле с объединением слоев (рис. 18). Откройте созданное изображение текстуры (уже однослойной) в графическом редакторе, переведите изображение в режим Grayscale и увеличьте контрастность изображения (рис. 19), сохраните изображение под другим именем.
Рис. 15. Полученное изображение в окне графического редактора
Рис. 16. Многослойное изображение первой текстуры
Рис. 17. Готовая первая текстура перед ее сохранением
Рис. 18. Первая текстура
Рис. 19. Вторая текстура
Переключитесь в Maya, создайте новый Lambert-материал и установите для него на канале Color в качестве текстуры первое созданное изображение. Подключите вторую (черно-белую) текстуру на канале Bump и подберите подходящее значение параметра BumpDepth (мы остановились на значении 0,2). Проведите рендеринг, и вы увидите примерно такое же полено, как представлено на рис. 20.
А теперь несколько усложним задачу: текстурируем объект, полученный из полигонального цилиндра путем экструдирования граней (рис. 21). Попробуем назначить ему такую текстуру, чтобы данный объект стал напоминать набор выстроенных в ряд детских кубиков с буквами алфавита. Сложность в том, что при формировании развертки придется не только учитывать то, какие грани следует объединять вместе, но и добиться минимальных искажений текстуры, поскольку буквы должны иметь одинаковый размер на всех кубиках и не быть растянутыми. Поэтому создайте новый материал, подключите у него на канале Color шахматную текстуру и назначьте данный материал объекту (рис. 22) — изначально ничего хорошего не выйдет, поскольку сгенерированные первоначально для куба UV-координаты совершенно не соответствуют модели.
Рис. 21. Исходный объект
Рис. 22. Вид объекта сразу после назначения шахматной текстуры
В режиме работы с UV-координатами выделите все координаты и удалите их командой Polygons=>DeleteUVs. Выделите грани одной из боковых поверхностей объекта и назначьте им автоматическое проецирование (EditPolygons=>Texture=> AutomaticMapping) — рис. 23. Переместите фрагмент на свободное пространство. Выделите грани другой боковой поверхности, также назначьте им автоматическое проецирование и вынесите фрагмент развертки за пределы UV-пространства. Аналогичные операции произведите для двух других боковых поверхностей, а потом и для двух оставшихся отдельных граней (рис. 24). Перейдите в режим работы с UV-координатами, выделите все текстурные координаты боковых поверхностей и масштабируйте их так, чтобы размер квадратов шахматной текстуры на всех поверхностях стал одинаковым (рис. 25). По окончании все фрагменты развертки равномерно масштабируйте и разместите внутри UV-пространства (рис. 26). Создайте снимок развертки, применив команду Polygons=>UVSnapshot.
Рис. 23. Получение развертки одной из боковых поверхностей
Рис. 24. Развертка после создания всех фрагментов
Рис. 25. Масштабирование фрагментов боковых поверхностей
Рис. 26. Окончательный вид развертки
Откройте полученный графический файл в графическом редакторе. Создайте дубликат слоя с разверткой, а затем установите под него слой с фоновым изображением и слой с цветными квадратами, на каждом из которых находится по букве (рис. 27). Сохраните данную текстуру как однослойное изображение. Переключитесь в Maya и замените шахматную текстуру на только что созданную — это приведет к получению имитации набора из пяти кубиков (рис. 28).
Рис. 27. Многослойное изображение текстуры
Рис. 28. Набор кубиков с буквами
- ПК и комплектующие
- Настольные ПК и моноблоки
- Портативные ПК
- Серверы
- Материнские платы
- Корпуса
- Блоки питания
- Оперативная память
- Процессоры
- Графические адаптеры
- Жесткие диски и SSD
- Оптические приводы и носители
- Звуковые карты
- ТВ-тюнеры
- Контроллеры
- Системы охлаждения ПК
- Моддинг
- Аксессуары для ноутбуков
- Принтеры, сканеры, МФУ
- Мониторы и проекторы
- Устройства ввода
- Внешние накопители
- Акустические системы, гарнитуры, наушники
- ИБП
- Веб-камеры
- KVM-оборудование
- Сетевые медиаплееры
- HTPC и мини-компьютеры
- ТВ и системы домашнего кинотеатра
- Технология DLNA
- Средства управления домашней техникой
- Планшеты
- Смартфоны
- Портативные накопители
- Электронные ридеры
- Портативные медиаплееры
- GPS-навигаторы и трекеры
- Носимые гаджеты
- Автомобильные информационно-развлекательные системы
- Зарядные устройства
- Аксессуары для мобильных устройств
- Цифровые фотоаппараты и оптика
- Видеокамеры
- Фотоаксессуары
- Обработка фотографий
- Монтаж видео
- Операционные системы
- Средства разработки
- Офисные программы
- Средства тестирования, мониторинга и диагностики
- Полезные утилиты
- Графические редакторы
- Средства 3D-моделирования
- Веб-браузеры
- Поисковые системы
- Социальные сети
- «Облачные» сервисы
- Сервисы для обмена сообщениями и конференц-связи
- Разработка веб-сайтов
- Мобильный интернет
- Полезные инструменты
- Средства защиты от вредоносного ПО
- Средства управления доступом
- Защита данных
- Проводные сети
- Беспроводные сети
- Сетевая инфраструктура
- Сотовая связь
- IP-телефония
- NAS-накопители
- Средства управления сетями
- Средства удаленного доступа
- Системная интеграция
- Проекты в области образования
- Электронный документооборот
- «Облачные» сервисы для бизнеса
- Технологии виртуализации
1999 1 2 3 4 5 6 7 8 9 10 11 12 2000 1 2 3 4 5 6 7 8 9 10 11 12 2001 1 2 3 4 5 6 7 8 9 10 11 12 2002 1 2 3 4 5 6 7 8 9 10 11 12 2003 1 2 3 4 5 6 7 8 9 10 11 12 2004 1 2 3 4 5 6 7 8 9 10 11 12 2005 1 2 3 4 5 6 7 8 9 10 11 12 2006 1 2 3 4 5 6 7 8 9 10 11 12 2007 1 2 3 4 5 6 7 8 9 10 11 12 2008 1 2 3 4 5 6 7 8 9 10 11 12 2009 1 2 3 4 5 6 7 8 9 10 11 12 2010 1 2 3 4 5 6 7 8 9 10 11 12 2011 1 2 3 4 5 6 7 8 9 10 11 12 2012 1 2 3 4 5 6 7 8 9 10 11 12 2013 1 2 3 4 5 6 7 8 9 10 11 12 Популярные статьи
В настоящем обзоре мы рассмотрим модель моноблока от компании HP, которая является признанным лидером в производстве компьютеров как для домашнего использования, так и для офисов. Моноблок HP 205 G4 22 — модель нового семейства, которая построена на базе процессоров AMD последнего поколения и отличается неплохой производительностью вкупе с привлекательной ценой
Швейцарская компания Logitech G представила беспроводную игровую мышь Logitech G PRO X Superlight. Новинка предназначена для профессиональных киберспортсменов, а слово Superlight в ее названии указывает на малый вес этой модели, который не превышает 63 г. Это почти на четверть меньше по сравнению с анонсированным пару лет тому назад манипулятором Logitech G PRO Wireless
Как показало недавнее исследование Кембриджского университета — количество людей, которые пользуются сегодня криптовалютами, приближается к размеру населения небольшой страны и это только начало, мир меняется. Поэтому компания ASRock разработала и выпустила в продажу весьма необычную материнскую плату — H110 PRO BTC+, которую мы и рассмотрим в этом обзоре
Компания Rapoo анонсировала в Китае беспроводную клавиатуру Ralemo Pre 5 Fabric Edition. Новинка выполнена в формате TKL (без секции цифровых клавиш) и привлекает внимание оригинальным дизайном. Одна из отличительных особенностей этой модели — верхняя панель, обтянутая тканью с меланжевым рисунком
Линейку компьютерных мониторов MSI пополнила модель Optix MAG301 CR2, адресованная любителям игр. Она оборудована ЖК-панелью типа VA со сверхширокоформатным (21:9) экраном изогнутой формы (радиус закругления — 1,5 м). Его размер — 29,5 дюйма по диагонали, разрешение — 2560×1080 пикселов
Каталог продукции компании SilverStone пополнил комплект MS12. Он позволяет создать портативный накопитель на базе стандартного SSD типоразмера M.2 2280 с интерфейсом PCI Express
Компания ADATA Technology анонсировала твердотельные накопители серии XPG Spectrix S20G. Они предназначены для оснащения игровых ПК и, как утверждают их создатели, сочетают высокую производительность и эффектный внешний вид
Линейку видеоадаптеров ASUS на базе графических процессоров NVIDIA пополнила модель GeForce RTX 3070 Turbo (заводской индекс TURBO-RTX3070-8G), предназначенная для оснащения игровых ПК. Одной из особенностей новинки является конструкция системы охлаждения
КомпьютерПресс использует
Наборы UV-разверток в Maya
Здравствуйте!
В Maya я не более месяца и изучать даже после небольшого опыта в Max всё же сложно. Возник вопрос: как сделать несколько наборов UV-разверток для одной модели, состоящей из разных частей, чтоб не тулить в одной развертке все детали? Т.е. несколько деталей на одной карте, ещё несколько на другой и тд.Сразу оговорюсь, что текстур ещё нет и текстурить я собираюсь смарт-материалами в чем-то вроде 3D-Coat,
Puppet
Активный участник
Рейтинг 19
Так Вы только запутаетесь. Для этого развертки обычно не используются. Просто сдвиньте часть объектов в соседнюю поле-клеточку.
Чеширка_
Активный участник
Рейтинг 14
Вот хорошая статейка https://www.fxguide.com/featured/udim-uv-mapping/Dakon
Активный участник
Есть два проверенных варианта. 1. Разбить модель на несколько материалов (сколько материалов, столько и комплектов текстур). 2.Несколько UV сетов, (тут главное, чтобы шейдер их поддерживал). Layered texture—если обычный phong. Или Shader FX—там в ноде можно назначать несколько UV-сетов.
WH_Сергей
Активный участник
Puppet , спасибо! Если правильно понял, то автоматическое появление новых полей UV при пересечении границы развертки, как раз создает новый сет, который при экспорте, например в Coat, будет именно отдельной разверткой?
Чеширка_ , благодарю за ссылку! Будем читать и изучать
Dakon , вот тут у меня тоже в голове «пазл не складывается». Смотрел разные видео, но так и не понял, для развертки обязательно создавать материал? Я предполагал, что материал у меня создастся уже в Coat
Бабуин
Мастер
Рейтинг 327
как раз создает новый сет,
полагаю будут юдимыDakon
Активный участник
Самый главный момент — а для чего создается модель? От этого зависит работа с ней.
WH_Сергей
Активный участник
Dakon ,моделить учусь для GameDev. Сейчас уже есть (может и не очень качественная) модель цепного меча космодесанта (Warhammer 40k), сделанная из кучи мелких деталей (мэшей). Теперь не знаю, как с ней быть в части текстурирования и дальнейшего использования в UE4. Нужно ли объединять все детальки в один цельный мэш или нет.
Вообще, скачивая готовые модели (что-то из игр, что-то ещё откуда-то) создается впечатление, что делают развертку и текстурят, когда модель ещё представляет собой набор деталей, а потом уже соединяют в один мэш. Вот только я тектурить в Coat собрался, а для этого модель туда нужно экспортнуть.
На ум приходит один вариант: экспортнуть из майки каждую деталь по очереди, затекстурить каждую, выгрузить из Coat текстуры и материалы, а из майки взять только цельный мэш и всё это соединить уже в движке. Как я понимаю, в данном варианте главное, чтоб UV сделаны в майке. Таким образом получится, что одни и те же UV будут и при покраске и попадут в движок.Очень хотелось бы узнать мнение по данному способу от опытных специалистов.
Благодарю, всех за помощь и ответы!