Третья часть серии уроков по созданию дальнобойного оружия (на примере лука) для игры Skyrim. В уроке разбирается создание UVW развертки модели лука.

Cоздание модели лука для игры Skyrim

Часть 1 | Часть 2 | Часть 3 | Часть 4 | Часть  5 | Часть 6 | Часть 7

 

Добрый день, друзья. Рад приветствовать вас в третьей части моего урока по созданию лука для игры TES V Skyrim. В этом уроке мы поговорим о создании UVW развертки для нашей лоу-поли модели лука.

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

Начнем работу. Хай-поли скройте до поры до времени.
На данном этапе работы мы не будем "склеивать" элементы лука  в одну модель, пока что развернем их по отдельности. Пойдем от простого. Выделите лезвие, которое находится возле рукояти и примените к нему модификатор Unwrap UVW.


 

Немного слов о модификаторе. Уровень подобъектов у него состоит из трех элементов - Vertex (вершины), Edge (ребра) и Face (полигоны). Менять уровень подобъектов можно либо  клавишами 1,2,3 соответственно, или развернув стек модификатора, или в окне Edit UVWs.
Внизу свитка модификатора под типами проекции будет стоять галочка напротив Normalize Map - уберите её (и отдалите от координатной плоскости в Edit UVWs камеру). Выделите все полигоны с одной плоскости лезвия (кроме торцевых). Способ проекции - Planar, выравнивание по оси Z.

 

Должно получиться следующее.

 

Если вы не видите элемента, уменьшите масштаб в окне Edit UVWs.

 

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

 

 

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

 

Переходим к следующему элементу лука. Поскольку мы начали с лезвий, давайте закончим их.
Сначала мы развернем обод, с помощью которого лезвие крепится к рогу. Выделите все полигоны обода, кроме торцевых (не забудьте убрать галочки с Ignor Backfacing и Normalize Map)

 

 

Тип проекции - Cylindrical -> Best Align

 

 

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

 

Далее зайдите в меню Tools, которое находится в Edit UVWs и примените функцию Break (ctrl + b на клавиатуре).

 

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

 

Выделите вершины шва и в меню tools выберите функцию Weld selected. Вершины сошъются вместе, шов исчезнет. Если это не произошло, значит расстояние между вершинами слишком большое. Просто передвиньте вершины. Для удобства, внизу рабочей области Edit UVWs есть поля с координатами. Выделите первую точку, посмотрите координаты (в моем случае оси U), затем вторую. Поставьте в поле второй точки координаты нужной оси как у первой.

 

Примените функцию Weld selected. Точно так же разверните второй обод. Лезвия же разворачиваются так же, как и в случае с прерыдущими лезвиями. И не забудьте про торцевые полигоны что обода, что лезвия! Разворачивайте их отдельно.
Вот, что получилось у меня.

 

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

Так, у нас осталось два крупных элемента - рога и рукоять с плечами, а так же мелкие детальки типа  тетивы.

Начнем со всей этой мелочи.

Примемся за тетиву. Сначала выделите полигоны тетивы без петли возле крепления (то есть два кольца полигонов цилиндра) и разверните её (цилиндр).

 

Затем разверните петли тетивы. Сначала возьмите одну её часть. Для разворачивания такого элемента я решил воспользоваться функцией Pelt. В конце концов, исправлять деформацию после Pelt будет ничуть не быстрее, чем после любого другого метода. Для начала, немного общей информации о данной функции. Техника разворачивания Pelt'ом схожа с вытягиванием шкуры на верстаке. Необходимо сделать разрезы, или швы, по которым будет идти разворачивание и которые будут краями развертки. Это выполняется с помощью данных инструментов.

 

 

Seams

Edit Seams - делает швы для пелта на ребрах, по которым вы щелкаете.

Point - to - Point Seams - делает швы не на одной линии, то лучше от данного инструмента отказаться, так как разрез будет произвольным (почти - будет использоваться наиболее короткий путь между вершинами)

Convert Edge Selection to Seams - выделенные ребра преобразует в швы.

Expand Face Selection To Seams - выделяет полигоны внутри границы (своеобразный лоскут)

Для данного случая идеально подойдет Point - to - Point Seams. Разместите швы с внешней или внутренней стороны петли. Затем выделите одну часть петли и примените Pelt (кнопка Pelt в свитке Peel со значком шкуры).

 

 

 

Вы увидите вот такую картину. Данная окружность - тот самый "верстак". "Шкурка" нашей модели растягивается с помощью струн. Вы можете менять расположение данных струн, тем самым усиливая или уменьшая силу натяжение для этой точки.

 

 

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

 

 

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

Для того, чтобы начать растягивание (или после растяжения применить изменения в расположении струн), нажмите на Start Pelt.

 

 

То, что у нас получится, мало напоминает цилиндр, из которого образована петля. Почему это произошло? Струны инструмента Pelt растянуты в круг. Поэтому наш цилиндр в своей форме стремится к окружности. Можно оставить тут, положившись на Relax, но могу сказать сразу - расслабление успеха не принесет и придется много чего править. Лучше внести исправления на этапе работы с пелтом. Просто переместите струны так, чтобы образовался прямоугольник. Так же можете развернуть развертку на этапе работы с пелтом, чтобы она располагалась вертикально или горизонтально.

 

 

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

 

 

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

 

 

В результате вас должно получиться две петли - левая и правая. После этого вернитесь к тетиве и "сложите" её по линии ребра в середине - она слишком громоздкая для  развертки.

 

Теперь развернем зажим для тетивы. Торцевые полигоны отдельно, окружность отдельно. Оу, по-моему я забыл убрать полигон с большим количеством углов.

 

 

Если у вас тоже по ходу разворачивания обнаружился косяк, то конвертируйте модель в Edit Poly и устраните его. Обязательно проведите конверт, а не спускайтесь вниз по стеку модификаторов, дабы не было косяков.

 

 

После исправлений снова назначайте модификатор UVW Unwrap (не забудьте убрать галочки напротив normalize map и ignor backfacing, если вы их выключали, так как автоматически они стоят активными)
Вернемся к зажимам тетивы. Цилиндром разверните полигоны высоты. Торцы развернуть на плоскости. Тоже самое сделайте со вторым и разместите один в другом.
Выберите полигоны пластинки крепления. Разверните его планарной проекцией.

 

 

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

 

 

 

Сформируйте на развертке следующую форму.

 

 

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

 

 

Суть в том, что для примитивов развертка генерируется при создании. Наш же крюк - примитив. Цилиндр, если быть точным. Поскольку мы его несколько изогнули, но поверхность, как таковую, не деформировали, то эта развертка вполне подойдет. Единственное, что нужно сделать, так это отмасштабировать её под остальные части.

 

 

 

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

 

 

 

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

 

Получилось несколько растянуто, а это недопустимо на основной части модели.

 

 

Зайдите в меню tools в Edit UVWs и выберите Relax.

 

 

В выпадающем списке - Relax By Face Angles.

 

 

Нажмите Start Relax. Если развертка начала перекручиваться, нажмите Mirror Horizontal.

 

 

Вот, что у меня получилось.

 

До применения Relax.

 

 

И после.

 

 

Разверните эти же полигоны на другом плече. Помещать один в один эти элементы на развертке мы не будем, так как абсолютная симметрия будет слишком заметна и не эстетична.
Теперь разверните кромки плечей. Если необходимо, примените Relax.

 

 

 

Разверните вертикальные полигоны плечей (с ободами вокруг рукояти). Способ - цилиндр. Не обращайте внимания на то, что у меня на модели есть кромки на сочленении плечей и рукояти. Я просто использую старые скриншоты, которые я делал со старой моделью до того, как у меня полетели файлы.

 

 

 

Исправьте подобные искривления развертки, если они есть. Для этого просто передвиньте ребра полигонов, на которых идут искривления.

 

 

Так лучше.

 

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

 

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

 

 

 

 

 

 

 

 

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

 

 

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

 

 

Отлично, разворачивание рукояти закончено, и нам осталось лишь развернуть рога. У меня получилось следующее. Все элементы развернуты планарной проекцией. Совмещать их или нет - остается на ваше усмотрение. Я решил не совмещать, за исключением основания и острия рогов.

 

 

Теперь будем совмещать элемены (Attach). Почему я не сделал это сразу? В начале работы я все же думал оставить элементы отдельными объектами, но развертка получилась не такая большая, как я думал, поэтому толку в разных объектах я не вижу. Не забывайте, что у нас элементы развертки раскиданы по всему редактору, поэтому перед тем, как сшивать модели, зайдите в редактор Unwrap UVW и распределите части развертки так, чтобы они не пересеклись при соединении моделей. Получилось следующее.

 

 

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

 

 

При этом нужно, чтобы элементы имели масштаб 1:1 друг к другу, то есть соотноситься должны так же, как на модели. Естественно, это требование распространяется только на крупные объекты, которые будут отчетливо видны в кадре. Ту же тетиву мы достаточно сильно уменьшим по сравнению с её нынешними размерами. Если же сделать тоже самое с крупными объектами, то могут возникнуть косяки вплоть до пикселизации элементов текстуры. Это нам не надо.
Выделите все элементы развертки и масштабируйте их, чтобы они поместились в рабочую область.

 

 

Теперь начинаем расставлять всё внутри квадрата. Старайтесь, чтобы элементы располагались компактно. Так же старайтесь не разворачивать части развертки (допускается на 90/180 градусов). Если ключевые элементы, типа рукояти, оказались слишком маленькие по масштабу, можно их немного увеличить.

 

 

 

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

 

Так же сделайте еще одну вещь - разделите тетиву на две части ( у нас она как раз по центру разделяется) и сложите их вместе. Так же можете добавить немного размера совсем маленьким элементам типа креплениям для тетивы и петле, чтобы они хоть как-то выделялись. 
Так же, чтобы не запутаться после, старайтесь размещать элементы модели, которые на  текстуре будут с одинаковым материалом, рядом. Например, металл одной группой, дерево другой и т.д.
Некоторые элементы, особенно мелкие, для экономии места (и чтобы не отвлекаться на них при текстурировании) позволительно ставить в другой, более крупный элемент, с аналогичным материалом.
Например, я поместил в основание рога его острие, так как материал там идентичный, острие малых размеров и ни одна живая душа не сможет даже увидеть его, не то что заметить повторяющуюся фактуру кости. При желании можно таким образом объединить такие элементы, как крепление тетивы, заклепки и, например, лезвие (вставить это все в лезвие) так как материал один - металл. Швов на этом месте не будет. Следовательно, ничего предосудительного нет. Так же обратите внимание, что я основательно ужал часть тетивы.

 

 

Да, это тетива. Целиком.
В итоге у меня получилось вот такое вот нечто.

 

 

Зайдите в Edit UVWs в меню Tools и выберите Render UVW Template

 

 

Введите нужное разрешение. Можно ввести хоть 16384х16384, но чем больше размер развертки, тем проблемней будет рисовать текстуру. Выбирая размер, исходите из того, материалами какого размера вы располагаете. Если все они большеформатные - 4096 и выше, то имеет смысл, возможно, поставить высокий размер изображения и затем уменьшить уже готовую текстуру, дабы она не нагружала игру. У меня есть материалы разной степени паршивости, от 500 пикселей до 10000, поэтому я поставлю 2048. Нажмите на Render UVW Template и сохраните итоговую картинку.

 

 

Тип файла - PNG или BMP. Ни в коем случае не JPG! Сохраните сцену.

Перед этим вы так же можете проверить развертку на пересечения. В Render UVs. Для этого смените Mode на любой другой, например Solid. Пересечения полигонов будут показаны красным. Красным у нас должны быть подсвечены элементы, которые мы специально объединяли в один для экономии места.

На этом урок подошел к концу. В следующем уроке мы займемся созданием нужных нам карт (diffuse map, normal map и т.д.). Иными словами - текстурированием нашей модели.

Удачи в вашем творчестве, до новых встреч!

 

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

 

Lord Beowulf, для TesAll.ru

 

Автор: Lord Beowulf