Содержание

Дизайн низкополигональных персонажей / Хабр


Персонаж — это личность. Без истории нет индивидуальности. Каждый хороший персонаж начинается с истории, а дизайн персонажа должен рассказать эту историю.

В своей предыдущей статье How To Make Low Poly Look Good я говорил, что главная цель низкополигонального (low poly) дизайна — донести сообщение через наименьшее количество форм.

Это особенно справедливо, когда вы создаёте низкополигонального персонажа. Нужно рассказать историю, использовав как можно меньше форм.

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



Я буду работать в Blender. В Maya, Max и других 3D-редакторах есть похожие инструменты, так что не беспокойтесь об этом.

Намечаем персонажа


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

Прежде чем приступать к созданию персонажа, нам нужно определиться, кем и чем будет являться персонаж.

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

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

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

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


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

Дизайн


Я отношусь к low poly как к удалению как можно большего количества деталей без утери сущности того, что мы создаём.

Именно поэтому я считаю важным сначала наметить персонажа, а уже затем погружаться в процесс дизайна.

Если мы ограничиваем себя в количестве полигонов и текстур, то нам нужно очень чёткое понимание того, что хотим показать.

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

Мы хотим добавлять детали только там, где они действительно важны. Давайте взглянем на простой пример:


Как видите, чтобы показать персонажа, нам нужно очень мало черт. Нам даже не нужны кисти, ступни и даже лицо, и тем не менее мы понимаем, что это женщина на службе. Возможно, это стюардесса или полицейский?

Вот ещё один пример:


На рисунке показаны 4 уровня сложности — от лица с носом, глазами и бровями до почти отсутствующих черт.

И тем не менее, очевидно, что на каждом изображении запечатлён молодой мужчина. Здесь нам нужно принять решение: какой объём информации НЕОБХОДИМ, чтобы донести наш посыл.

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

Далее мы обсудим формы, но прежде чем приступим к этому, я хотел бы сделать краткое отступление, чтобы вы поняли, что такое на самом деле low poly.

Low Poly и мультфильмы


Не волнуйтесь, мы скоро вернёмся к низкополигональному дизайну.

Низкополигональная графика обычно идёт рука об руку с мультфильмами. В сущности, я считаю, что графика low poly и является своего рода мультфильмом, или, по крайней мере, его близким родственником.

Я имею в виду, что в мультфильмах обычно используются упрощённые формы, преувеличенные и с яркими привлекательными цветами. Существуют и более печальные вариации, но они всё равно основаны на этих фундаментальных свойствах мультфильма.

Одна студия сделала особый вклад в то, как выглядят сегодня почти все мультфильмы. И вы знаете, какую студию я имею в виду… разумеется, я говорю о Disney.


Disney Studios всегда умела мастерски брать самые абсурдные концепции и превращать их в нечто, что мы любим и во что верим.

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

Его друг Гуфи — это пёс, а ещё у Микки есть собака-питомец по имени Плуто… Хм, а почему же Гуфи не домашняя собака? Он пёс, как и Плуто, но почему нас это не озадачивает?

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

Это превосходный пример того, как художники определяют каждому персонажу социальный статус и встраивают его в дизайн.

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

Формы и силуэт


Я вспомнил Disney потому, что эта студия очень хорошо создаёт дизайн чётких, читаемых форм.

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

Если вы плохо рисуете от руки, то могу посоветовать делать черновики форм в цифровом ПО для скульптинга, например, в Zbrush или Blender. Оно позволит вам быстро набросать базовые формы.

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

Хороший трюк — определить наиболее важные черты персонажа и преувеличить их (СИЛЬНО).

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

Возьмите для примера Джессику Рэббит из фильма «Кто подставил кролика Роджера».


Процесс создания дизайна


Давайте теперь отдохнём от лекций и создадим низкополигонального персонажа! После этого мы рассмотрим технические советы по моделированию низкополигональных персонажей.

Мы будем делать каменного персонажа.


Он может быть врагом или боссом в фэнтезийной видеоигре, скорее всего, живущим в горах.

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

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

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

Я начал с очень грубого наброска, чтобы хотя бы иметь представление о том, что хочу сделать.


Уродливый, но полезный концепт-арт

Как видите, в нём нет ничего особенного, и такой набросок я бы не стал никому показывать. Он просто нужен нам в качестве референса, чтобы использовать его в 3D-редакторе.

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

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

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


Этапы создания каменного монстра

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

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

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

Эффект термоусадки


Это субъективная тема, так что если вы не согласны с изложенным ниже, это вполне нормально.

Что же я подразумеваю под эффектом термоусадки (shrink wrap effect)? Представьте, что у вас есть область равномерно распределённых полигонов, и вы оборачиваете её вокруг своего объекта.

Это создаёт равномерно распределённые полигоны, обёрнутые вокруг объекта.


Слева — модель с эффектом «термоусадки», справа — в модель добавлены «морщины» и измятости.

Хоть иногда это и подходит для создания определённого стиля, но такая модель легко может показаться довольно непримечательной и плоской.

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

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


Удаляя и добавляя детали, вы можете помочь глазу зрителя двигаться по наиболее важным областям и отфильтровывать менее важные.

Материалы


Многие вполне качественные низкополигональные изображения проваливаются на этапе создания материалов и освещения.

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

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

Вот пример с нашей женщиной. Слева использован только diffuse shader. По сравнению с окончательным результатом он выглядит довольно плоским и скучным.


Для кожи в финальном изображении я использовал шейдеры Diffuse, Glossy и Subsurface Scatter. На изображении ниже показан граф шейдеров. При работе с кожей subsurface (подповерхностное рассеяние) особенно важно. Также его можно применять и к другим объектам, придавая им более мягкий внешний вид.
Платье состоит из Diffuse, Glossy и Velvet. Я использовал velvet (бархат), чтобы добавить более глубокий и прохладный оттенок для придания вариативности.

Освещение


Освещение так же важно, как и всё остальное. И оно сильно зависит от сцены, необходимого настроения, формы объектов и т.д. Когда дело доходит до освещения, нужно пробовать множество разных вариантов.

Я обычно начинаю с добавления в качестве базового света сферы окружающего освещения. Она может быть внутри, снаружи, главное, чтобы она соответствовала изображению. Сфера создаст хорошую общую базу изображения.

Затем я добавляю три простых точечных источников освещения — основной свет, заполняющий свет и задний свет. Попробуйте поэкспериментировать с цветами этих источников, обычно стоит сделать заполняющий свет более тёплым, а задний — более холодным, мы постоянно видим такую схему в фильмах.


Расположение источников света для каменного монстра

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

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

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

Ретопология


Выше я говорил, что мы рассмотрим ретопологию нашего персонажа.

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

Вот некоторые из трюков, которые я использую;

Retopo Flow:


Инструмент Contours в TopoFlow

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

В составе Retopoflow есть несколько отличных инструментов для создания чистой топологии на основе скульпта.

Shrink Wrapping:

Ещё один трюк, который реализуется даже быстрее: создаём куб, подразделяем его (subdivide) пару раз или пока не получим разрешение, подходящее для нашего объекта. Помещаем объект так, чтобы он полностью покрывал созданный скульптингом меш и используем модификатор Shrinkwrap, взяв в качестве референса скульпт.

Это в буквальном смысле выполнит «термоусадку» куба вокруг скульпта, быстро давая нам нужную форму, но уже с подходящей для работы геометрией.


Подразделённый на части куб обхватывает руку.

Shrink wrapping лучше всего работает, если использовать для персонажа разные фигуры, не рекомендую пытаться «усадить» куб целиком на всего персонажа, потому что это немного его исказит. Например, создайте по одной фигуре для плеча, руки, торса и т.д.

Если у объекта есть более сложные формы, то, возможно, не стоит начинать с куба, а вместо этого смоделировать грубую форму, представляющую готовый объект, но обеспечив при этом правильное расположение рёбер. Затем выполнить shrink wrap вокруг скульпта.

Есть и другие способы делать это, но в моём случае эти два метода покрывают все аспекты, необходимые для ретопологии низкополигональных объектов.

Подводим итог


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

Немного о Game Low­Poly

Здравствуйте, уважаемые читатели Render.ru. Меня зовут Олег, моего коллегу соавтора зовут Владимир, и я являюсь Game Low-Poly моделлером. В данной статье мне бы хотелось бы познакомить вас с азами создания игровых моделей.
Данная статья будет в первую очередь полезна начинающим, но будет интересна и ветеранам индустрии.

Преамбула

Данная статья вынашивалась мною достаточно давно.
В последнее время очень большое число людей направило свой взор в сторону игровых моделей, но, к сожалению, обладая замечательными навыками в создании Hi-poly и Mid-poly моделей, многие совершенно не имеют представления о Low-poly. Как итог, модели получаются хоть и красивыми, но совершенно негодными для дальнейшего использования.
Часто от начинающих игровых художников можно услышать фразу: « Модель делалась для себя, над оптимизацией не задумывался», она является в кроне неверной.
Построение Low-poly модели начинается именно с определения, а зачем же она собственно нам нужна?
В данной статье я хотел бы рассказать именно о различных направлений, в которых используются игровые модели, и о их весьма специфичных требованиях.

Терминология

Вертекс (Vertex, прим. перевод: Вершина) — вершинная точка пространственной фигуры. Имеет набор атрибутов, таких как координаты в 3D пространстве X,Y,Z, и в 2D пространстве U,V.

Грань (Edge, прим. перевод: Грань) – линия, ограниченная двумя вертексами. Содержит координаты образующих ее вертексов, и собственные координаты, являющиеся суммой координат вертексов.

Полигон (Polygon, прим. перевод: Многоугольник) — общее название плоских фигур геометрии. Один полигон минимум состоит из одного треугольников. Состоит из вертексов соединенных гранями.

Треугольник (Triangle) — является базовой фигурой любой модели. Состоит из трех вертексов соединенных тремя гранями.

Квадрат (Quadrilaterals, прим. перевод: квадратный полигон) — Полгигон состоящий из четырех вертексов.

Триангуляция (triangulation) — Процесс разделения полигона на треугольники.

ЛОД (LOD, Level of Detail прим. перевод: Уровни детализации) — набор моделей применяемых с отдалением и приближением игровой камеры.

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

Игровые разделы

Игровых жанров существует несметное множество, стратегии, шутеры, ролевые игры, квесты, интерактивные новеллы, платформеры, квесты, и многие другие жанры, и множество их под жанров.
Для каждого жанра существуют свои требования к моделям, но есть кое-что, что объединяет их всех — положение игровой камеры, а если быть более точным, то процент занимаемой моделью площади на экране. В дальнейшем, для упрощения мы будем использовать термин положение камеры.
В первую очередь сетка Low-poly модели будет зависеть от положения игровой камеры. Чем ближе игрок может рассматривать модель, тем плотнее должна быть сетка.

Соответственно из всего сонма жанров мы можем выделить для себя всего три направления, наиболее характерно отличающиеся по положению камеры:

– FPS (First Person Shooter) — игра от первого лица, для камеры расположенной ближе всего к игроку и игровому окружению. Основной особенностью данного направления является возможность игрока увидеть в максимальном приближении любую деталь, расположенную на игровом уровне, именно по этой причине в играх от первого лица самая высокая плотность сетки. Ярким и представителем данного направления являются Wolfenstein: The New Order (Crysis3, Fallout 4). Модели для такого типа игр доходят до 25к треугольников, но в целом используются куда как более скромные версии. Так, в вышеупомянутом Wolfenstein, немецкий солдат вместе со всей системой повреждений укладывается всего в 14 333 треугольника.

Чуть более детально: Тело 7.410, Голова 2.222, Глаза 128, Шлем 888, Маска 760, Лицевая броня [намордник] 678, Челюсти 238, система повреждений разбитая на пять частей: ч1 — 476, ч2 — 356, ч3 — 199, ч4 — 219, ч5 — 759. Краткий итог, из полного постоянно видимого комплекта: 12086 треугольников.

Состав текстур: Normal Map с Ambient Occlusion в альфа канале, Specular, Diffuse map. Разрешение немного нестандартное: у тела 3840х3840, у головы 1920х1920, у каски, объеденной с намордником 1920х1920, маска 960х960, система повреждений 960х960, глаза 512х512.

– TPS (Third Person Shooter) — игра от третьего лица, для камеры расположенной на плече игрока, либо на небольшом от него отдалении. В данном разделе игрок чаще и ближе всего наблюдает на экране своего персонажа, а вот приблизить камеру к окружению уже крайне затруднительно. Из современных представителей можно привести в пример нашумевший The Last of Us (Tomb Raider, Uncharted и многие другие). Модели главных персонажей в такого рода играх отличаются высокой плотностью сетки, и большой детализацией, но редко превышают цифру в 40к треугольников.
Рассмотрим модель Элли, из вышеупомянутой игры: Общий полигонаж составляет 31.535.

Детально: Голова 7.164, Волосы 6.054, Торс 5.851, Кисти рук 2.664, Ноги 2.549, Башмаки 1.758, челюсть 547, резинка для волос 359, рюкзак 2.693, ресницы 426, лакрима 558, глаза 912.

Состав текстур: Normal Map, Specular, Diffuse map и Ambient Occlusion для лица. Разрешение классическое: у тела 1024х1024, у головы 1024х1024, волосы 1024х512, ноги 1024х1024, челюсть и руки 512х512, башмаки 512х512, рюкзак 512х512, глаза 256х256, лакрима 128х128.

– Strategy — игры с максимальным отдалением камеры. Крайне интересный раздел, требующий экономии абсолютно на всем. Основная особенность — обилие малых объектов на экране. Самым известным представителем является все же Starcraft 2 (Homeworld: Deserts of Kharak и многие другие). Для данного раздела характерна максимальная экономия на всех объектах. Баталии из сотен анимированных юнитов в одних играх и тысячах в других , множество объектов окружения, ландшафт, все это создает огромную нагрузку на компьютер конечного пользователя.
Все остальные игры будут являться в той или иной степени смешением данных разделов.
2,5 D Game мы подробно рассматривать не будем, так как она близка к TPS, с одной лишь особенностью — камера в таких играх зафиксирована в одном положении, и может быть лишь приближена и отдалена от игрового действа, поэтому для статичных объектов рисуется только видимая половина, а для анимированных (в случае целесообразности, этот пункт мы рассмотрим чуть позже) используются группы материалов.

Игровые планы

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

1. Объекты расположенные на экране в максимальном приближении. В данном разделе кроется все оружие, отображаемое на экране игрока (FPS), и игровые персонажи (TPS).

Из-за того что игрок постоянно наблюдает модели данного плана, для них допускается плотная сетка. Но есть одна маленькая особенность, и скрывается она в различных группах материалов для таких моделей.
Итак, рассмотрим классический случай.
Дано: модель пистолета, револьверного типа, с общим числом треугольников 6.810. В постоянной видимости у игрока только часть наружного меша, если выделить ее, то мы получим всего лишь 3.060 треугольников, остальную часть модели игрок увидеть не может. Что бы не загружать всю модель в память, а подгружать нужные элементы поэтапно, игровая модель подготавливается с учетом нанесения на нее двух и более материалов: материал группа для постоянно видимого участка (на картинке желтым), и материал группа для участка видимого только во время анимации (на картинке красным).

Соответственно, на краткий миг анимации перезарядки и появляется на экране ранее скрытый объект. Это позволяет значительно сэкономить постоянные затраты памяти.

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

2. Анимируемые объекты второго плана, а именно: персонажи, и противники.

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

3. Интерактивные объекты.

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

4. Элементы локации:

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

Численность объектов

Степень детализации сетки зависит не только от положения камеры, но и от числа объектов на экране.
Сетка для часто повторяющихся объектов, например для травы, листьев, должна быть максимально простой.
Геометрия крупных часто повторяющихся объектов, находящихся на различном расстоянии от игрока должна иметь несколько ЛОДов, для облегчения нагрузки на видеокарту (Деревья, скалы, другие объекты)
Так же следует отметить, что для интерактивных объектов часто променяют уровни детализации (LOD).
Смысл ЛОДа — в создании дополнительной более низкополигональной модели, подменяющей оригинальную на больших расстояниях от камеры. Такие модели следует изготавливать с учетом возможного повторного использования текстур от нулевого ЛОДа. К сожалению, карту нормалей повторно использовать невозможно.
Наиболее простой алгоритм получения материала для ЛОДов — перепекать все карты непосредственно с нулевого ЛОДа.
К сожалению, у ЛОДов есть побочный эффект — в игровых движках они учитываются как отдельная модель, и они занимают дополнительное место в графической памяти.
Для сложных единичных объектов, решение о необходимости ЛОДов принимается в зависимости от максимального расстояния, с которого они должны быть видны.

Частые ошибки при создании игровых моделей

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

1. Сохранение не формообразующих высоту вертексов.

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

2. Несоразмерность детализации.

Как уже ранее говорилось, плотность сетки должна напрямую зависеть от возможности приблизить камеру к объекту.
На изображении ниже можно увидеть яркий пример несоответствия размеров кнопки и платы. плата предназначенная для установки в дверную кнопку выполнена из 1020 треугольников, при условии что теоретически на экране может занимать максимум 128х256 пикселей. Подобная плотность сетки недопустима.

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

3. Утечка нормалей

При запекании нормалей на цилиндрах, часто сталкиваешься с довольно неприятными последствиями — кольца расположенные на теле модели теряют свою форму.
Связано это с особенностью расположения нормалей и Smooth-group.

На изображении представлены различные сочетания Smooth-group, положений крышки Low-poly модели относительно Hi-poly.

1) Hi-poly модель, с которой и запекается карта нормалей.

2) Простая Low-poly, с одной Smooth-group, крышка в уровне Hi-poly. На данной модели при фронтальном расположении камеры мы наблюдаем заметное искажение кольца и фаски, при наклонной камере дефекты становятся незаметными. Подобный тип игровой содели следует применять для малых объектов и при условии расположения камеры под углом.

3) Простая Low-poly, с одной Smooth-group, крышка ниже Hi-poly. Проблемы аналогичны п. 2. дополнительно подчеркивается вредная фаска.

4) Простая Low-poly, с двумя Smooth-group, крышка в уровне Hi-poly. На данной модели при фронтальном расположении камеры мы не наблюдаем никаких искажений, при наклонной камере проявляются грани модели. Подобный тип игровой модели следует применять для малых объектов и при условии расположения камеры фронтально.

5) Простая Low-poly, с двумя Smooth-group, крышка ниже Hi-poly. Проблемы аналогичны п. 2. дополнительно теряется фаска.

6) Более сложная Low-poly с фаской и с одной Smooth-group. На данной модели любом положении камеры мы наблюдаем остаточные незначительные эффекты искажения. Подобный тип игровой модели следует применять для крупных объектов.

7) Более сложная Low-poly с фаской и с двумя Smooth-group. На данной модели при фронтальном расположении камеры мы не наблюдаем никаких искажений, при наклонной камере проявляются грани .

Методику построения лоуполи модели и выбора Smooth-group следует принимать в зависимости от положения игровой камеры. Если мы чаще наблюдаем объект фронтально, то лучше использовать случаи № 4, 7.
Если мы наблюдаем объект чаще под углом, то лучше использовать случай № 2.
Если объект обозревается игроком со всех сторон, то наиболее адекватным будет являться случай №6.

4. Оптимальность сетки

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

На изображении ниже представлены два цилиндра с одинаковым числом треугольников.

5. Лишняя геометрия

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

Интересные Факты

1.Вершинный Shader.

В игровых моделях, полигонаж считается в треугольниках, но данный расчет не отображает реальной картины.
Каждый 3D художник в своей жизни хотя бы раз пользовался Smooth-group (для Blender модификатор edge split). Особенностью применения данных функций, является умножение числа вертексов для создания Smooth поверхностей. Так же следует отметить, что Shaderы отрабатывают не по треугольникам, а именно по вершинам, что приводит к большей сложности вычислений на моделях, состоящих из большего числа Smooth-group.
Именно поэтому рекомендуется создавать игровые модели в одной Smooth-group, прибегая к разделению только в редких случаях.
Полностью отказаться от использования множественных Smooth-group к сожалению невозможно, ибо это приведет к резкому росту активного полигонажа модели. Каждый раз при подготовке Игровой модели, следует взвешивать, что лучше использовать: защитные бордеры (дополнительный лупс по периметру опасной зоны), либо Smooth-group.

2. Развертка модели

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

3. Требования движка.

При разработке модели необходимо учитывать так же специфические требования движка.
К примеру, у Unreal Engine отличается Tangent space, что приводит к некорректной работе карты нормалей: проявляются швы, перекручиваются нормали. Соответственно в моделях приходится закладывать дополнительные защитные бордеры, препятствующие проявлению дефектов.
И еще один пример из далекого 2004 г. Одна из самых технологичных игр того времени, DooM 3 обладала крайне специфичным Tangent space, и нормали было возможно запечь только в нем самом (за исключением плоских).
Подобные особенности характерны для всех движков без исключения. Просто так их все описать невозможно, необходимо детально изучить движок под который вы работаете.

Статья 3/7 про сетку. Lowpoly, Highpoly и вертекс нормали

Это третья из семи статей из цикла про этапы пайплайна. Подписывайся на , чтобы не пропустить следующий выпуск.

Прошлая статья была про драфты.

Сегодня статья посвящена второму этапу пайплайна — сетке.
А следующие статьи будут про развёртку, запечку, текстуры и подачу.


Сейчас мы разберём:

Что такое сетка, зачем она нужна и из чего состоит.

Как делать lowpoly и highpoly, как они связаны между собой.

— Какие моменты на этапе сетки влияют на свет, блики и развёртку.

— И немного поговорим об особенностях всех игровых движков, которые необходимо учитывать в работе.

Приступим!

Из чего состоит любая 3D модель

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

Прежде чем говорить о работе с lowpoly и highpoly давай разберём из чего состоят все модели и какие особенности игровых движков нужно знать.


Любая 3D модель состоит из:

⚫️ Точек (vertex, вертекс)
➖ Рёбер (edge, эдж)
⬛️ Плоскостей (tris, polygon, nGon, трис, полигон, эн-гон)


#1 Точки (вертексы)

Это простейший элемент модели.
И на самом деле это не просто точка, а точка, у которой, помимо её координат в пространстве, есть ещё один важный параметр — направленность.

Записывай, у каждой точки (вертекса) есть 2 параметра:

Вот он, красавец, висит в бескрайнем космосе 3D пространства
  1. Её положение в пространстве (по осям x, y, z)
  2. Её направленность. Эта характеристика называется «вертекс нормаль».

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

У поведения света в игре есть свои особенности, которые влияют как на работу с сеткой, так и на все последующие этапы пайплайна. Давай разбираться вместе! Очень скоро ты узнаешь, как кокретно поведение вертекс-нормалей влияет на блик твоей будущей модели. Не торопись и читай внимательно, чтобы не запутаться.

#2 Рёбра (edge)


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

#3 Полигоны (polygons)


3 точки создают треугольник. Как ты помнишь из школьной геометрии, 3 точки создают плоскость.


В программах для моделирования полигон может состоять не только из трёх точек. Помимо треугольников, есть четырехугольник (quad/квад) и n-gons (нгоны, многоугольники). При желании, ты можешь создать полигон из любого количества точек.


Но, будучи трёхмерщиком, ты не должен забывать, что под капотом всех игровых движков и программ для 3D моделирования лежит одна особенность — в них всё состоит из треугольников. Поэтому когда ты сделал квад или нгон, то программа всё равно у себя глубоко в коде видит только треугольники.

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


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

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

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


Слева — плохая триангуляция, справа — хорошая. Видишь разницу?

Поэтому одна из задач создания игровой сетки — триангуляция. Мы переводим всё в треугольники руками и поэтому на 100% уверены в том, что блик будет везде одинаковым, но об этом чуть дальше в статье.

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

такие полигоны называются непланарами (non-planar)

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

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


Поэтому, когда ты создаёшь самый примитивный объект в программе, например, куб, сразу создаётся 8 вертексов, 12 рёбер и 6 полигонов (которые делятся на 12 треугольников), а у каждого из вертексов есть вертекс нормаль, которая влияет на поведение света.

Несколько особенностей игрового света

#1 Вертекс нормали влияют на видимость полигона

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


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


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


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

Все мы иногда сталкивались с таким багом. Теперь ты знаешь, почему так происходит.

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

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

#2 Вертекс нормали влияют на блик каждого полигона

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

По-умолчанию, вертекс нормали перпендикулярны плоскости. Угол 90°.


Видишь, есть прямоугольник. Вертекс нормали расположены перпендикулярно.

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

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


погугли tree leaf vertex normal, и найдешь много клёвых игровых лайфхаков

В игре у тебя просто 4 точки и файлик с текстурой. Это всего 2 треугольника, зато если ты покрутил вертекс нормали, то лист на дереве будет бликовать так, как будто это уже не прямоугольник. Выглядит так, будто у него гораздо более сложная форма.

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

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

#3 Вертекс нормали влияют на жесткость граней

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

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


Если склеить нормали в одну — две стенки будут бликовать как одна плавная форма (на самом делее редактор оставляет только один вертекс, нормаль которого усредняет)


Записывай:

Объединение вертекс нормалей даёт гладкий блик.
Такой блик появляется из-за мягкого ребра (софт эджа, Soft Edge).
А если вертекс нормали направлены в разные стороны, то блик будет разделён, и между полигонами получится жесткая грань. Её называют хардом (Hard Edge).

Сначала все грани жесткие, затем часть граней делаем мягкими, а в конце все грани становятся мягкими

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

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


Правильные хард и софт эджи дают красивый блик, который подчёркивает нужные детали модели.

Например, здесь сначала вся модель покрыта жесткими эджами, и поэтому выглядит гранёной и несимпатичной. Затем мы сделали все эджи мягкими, и в части модели формы стали слишком мягкими + местами появились странные черные пятна. В конце я назначил автоматические харды и софты по углу в 60°, и тогда модель забликовала идеально!


Кстати, вот такое забавное следствие этой технологии — 4 квадрата имеют такой же блик, как и цилиндр, потому что так устроена магия вертекс нормалей

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


Особо часто вертекс нормали любят править в кино, чтобы блик был чистым и предсказуемым
Перерыв на рекламу.
Статья слишком уж большая, а мы даже до середины не дошли.
Мы не ставим рекламу в наши статьи, кроме рекламы нас самих, так что открой ютюбчик, найди немного рекламы, а потом возвращайся обратно.
Сделал? Все норм?
Прости за такие вещи, просто в интернете нельзя без рекламы. Времена суровые.
Теперь ты знаешь, что вертекс нормали могут сделать объемный блик на плоскости. Они также могут сделать острый стык двух плоскостей гладким. И всё это потому, что вертекс нормали задают поведение света. Он отражается не как настоящие фотоны, а так как ты ему скажешь. Этот лайфхак лежит в основе работы над LowPoly. Если голова плавится — отдохни, выпей чаю, сложное позади.
Готов двигаться дальше?

Чего мы хотим на этапе сетки?

Все зависит от пайплайна. В игровом ААА пайплайне нам нужно сделать 2 разные сетки: LowPoly и HighPoly.

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


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

Сколько точек тебе нужно? Подумай и напиши на листочке ответ.

Правильный ответ — тебе нужно ровно 8 точек. И ещё нужен очередной трюк — запечка нормала.

Как работает трюк с запечкой?

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


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

Зато есть клёвая технология Normal Map (карты нормалей).
Это текстура, которая создаёт виртуальные вертекс нормали внутри каждого пикселя.

Вот обычный куб, самый простой.


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


Просто синий цвет. 128,128,255 RGB

А теперь открой фотошоп и добавь на него вот такую детальку:


в красном канале горизонтальный градиент, в зеленом канале вертикальный

А теперь смотри что будет, если этот Normal Map привязать к модели:


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

Что и где нужно нажимать и как сделать Normal Map ты узнаешь в следующих двух статьях из Цикла. Пока достаточно того, чтобы ты понял принцип.

Ещё важный момент — никто не рисует Normal Map руками. Есть классные технологи запечки и рисования нормала. Скопируй этот куб в отдельный файл, замодель полигонами в нём любую детализаци. Получишь следующее:


Теперь у тебя есть 2 файла — просто куб. И куб с кучей деталей. В отдельных файлах.

Так вот, просто куб — это и есть твоя LowPoly модель. Именно её ты будешь вставлять в игровой движок. Она оптимизирована и в ней нет лишних полигонов. А есть HighPoly модель — это куб с кучей деталей.

Есть технология «запечки», которая позволяет перенести все вертекс нормали с детальной модели на лоуполи, и сохранить их в Normal Map. Тогда произойдёт чудо — у тебя всего 6 полигонов, а модель бликует как куб с кучей деталей!
Очевидно, что эту технологию обожают в геймдеве!


Теперь ты понял!

Обычный куб с нормал мапой бликует как детализировання модель, Но вся детализация на нем — не новые формы, а просто хитрое искажение вертекст нормалей с помощью отдельной текстуры.


Вот так выглядит та самая карта нормалей. У нее очень простая технология: каждый пиксель создает на поверхности модели виртуальную вертекс нормаль. Нейтральный голубой цвет (128,128,255 RGB) означает, что оригинальная вертекс нормаль не будет изменяться. Красный канал отвечает за отклонение нормали влево или вправо, зеленый — вверх или вниз. Синий имитирует глубину (в играх очень часто синий канал убирают для экономии)

О нормале подробнее поговорим в статье про запечку.

Давай повторим: Только что ты узнал, что всё в трёхмерке сводится к точкам, ребрам и плоскостям. Это и есть составляющие любой 3D модели, вне зависимости в какой программе ты работаешь.


У каждой точки есть направленность. Она называется нормалью (Vertex Normal). Свет в 3д редакторе — это математическая абстракция, и блики высчитываются благодаря вертекс нормалям. Это называется шейдингом (shading). Если несколько вертексов одного полигона направлены в одну сторону — этот полигон будет бликовать как плоскость.

Если все вертексы направлены в одну сторону, то полигонь будет бликовать как плоскость.
Если они направлены в разные стороны, то бликовать будут по-другому.


3 вида полигонов. Из этих ребят собирают все 3д модели в видеоиграх и кино.

Любые 3 точки, соединенные рёбрами образуют самую простую плоскость — треугольник. Но работать с треугольниками неудобно, поэтому умные дядьки сделали четырехугольники (квады) и многоугольники (n-gon).

#триангуляция

На самом деле все полигоны в редакторе или движке — треугольники, но для простоты работы редакторы умеют отображать квады и многоугольники.

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

У каждого полигона есть две стороны — передняя и задняя. По умолчанию внутренняя сторона прозрачна (это называется backface culling), однако современные 3д программы умеют заливать цветом или материалом задние стенки.

Есть программы работающие на других технологиях, например воксели (Voxel) — «пиксели» в 3д пространстве, и CAD технологии — работающие на основе математики, но в видео играх они не используются. В этой статье мы будем говорить только о полигональном моделировании.

Фух, было потно это писать!
Теперь ты готов к работе с сеткой!

Виды сетки

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

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



Это драфт. На нем вообще плевать за сетку. Видишь кучу nGon-ов и неравномерную сетку? На драфте так можно. Листай вправо – там примеры других видов сетки.

Теперь пришло время оптимизировать сетку для игры!

В чём заключается оптимизация?

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

Отсюда вытекает потребность в создании лёгкой модели, в которой всё из треугольников и минимум полигонов. Такая модель называется LowPoly.

Помнишь пример с кубом? Каждая из его 8 точек влияет на силуэт, удалять ничего нельзя, иначе это будет уже не куб. Это и будет LowPoly модель для игры, и именно её вставляют в игровой движок.

Если следовать пайплайну, то всю детализацию — все скругления и детали мы делаем через технологию запечки HighPoly на Normal. Поэтому мы должны взять драфт, сделать его супер детализированным, а потом просто запечь эти детали и натянуть на LowPoly модель через Normal map.


Как видишь, у последней картинки «Модель в игре» вего 8 полигонов. А вся детализация сделана через Normal Map.

Надеюсь, ты понял принцип работы.

Если работаешь по пайплайну для игры, то на этапе сетки нужно сделать LowPoly и HighPoly с правильной топологией.


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

Как это сделать мы разберём прямо сейчас, а про запечку будет отдельная статья.

3 вида сетки

Есть три вида сетки: лоу-, мид- и хайполи

  1. LowPoly — упрощённая и оптимизированная модель для игры с минимальным количеством полигонов.
  2. HighPoly — максимально детализированная модель, которая нужна, чтобы перенести всю детализацию на LowPoly через Normal Map
  3. MidPoly — компромис между бесконечно детализированными хайполи и оптимизированными лоуполи. Используется в основном для кино.

Давай разберём каждый из трёх видов по отдельности.

1. Low Poly

LowPoly для видео игры необходимо сделать максимально легким, с небольшим числом треугольников.

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

Лоуполи для разных игр отличаются. На мобилках лоуполи очень легкая, 2к — 10к треугольников. На некоторых ААА проектах любят вшивать всю геометрию в огромные цельные формы, а на других каждую деталь отбивают отдельной геометрией. Есть проекты, где на главного персонажа выходит 50-60к треугольников, а бывают проекты по 250к треугольников на персонажа.

в этой модели 55,4к треугольников https://skfb.ly/6HLRx

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

Лоуполи сильно зависит от технологии. На мобильной игре на важном объекте 5-7к полигонов. В старых играх важные объекты были в 10-15-20к полигонов. Сейчас игры легко тянут модели по 50-150к полигонов. Бывают и выше, по 200-300к полигонов на огромные модели, например, корабли/танки/дома. На лоуполи бывают разные правила. Одни модели делаются цельными кусками геометрии, другие разбиваются на детальки.


Картинка из интернета. Лоуполи с бампом (это как нормал, но чуть проще) и хайполи.

О Откуда берётся лимит на лоуполи?

Допустим, технический директор высчитал ограничение на локацию в 10 млн полигонов и 200 материалов. Отсюда высчитывается. По 150-200 моделей. В среднем от 10 до 100к полигонов. Это ограничение взялось из производительности движка и железа, под которое делается игра. И, конечно же, без опытного технического директора такие лимиты не высчитать.

Как работает видеокарта?

Она рендерит в среднем по 60 кадров игры в секунду. В реальном времени. На 1 кадр она требует около 10 000 проходов для отрисовки всех моделей, текстур, частиц, эффектов, интерфейса, и прочего. Для этого видеокарта отправляет вызовы отрисовки (draw call) процессору. Процессор — узкое горлышко любого рендера, поэтому работа над оптимизацией часто сводится к оптимизации вызовов отрисовки (поэтому делаются конструкторы, атласы и прочие хитрости для ускорения рендера).

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

Есть крутые ролики про то, как работает видеокарта:

Вот еще несколько роликов:

Rise of the Tomb Rider: https://youtu.be/PiMyGHLIoXA
Witcher 3: https://youtu.be/u8o44-91CRQ
GTA 5: https://youtu.be/sKA0KZGSJDM

Как сделать лоуполи?

Запомни правила лоуполи:

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

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


верхний ряд выглядит гармонично с одинаковой плотностью сетки, а на нижнем маленькие цилиндры слишком плотные, а большие недостаточно детальные.
  • Удаляй задние стенки у объектов.
  • А все пересекающиеся объекты немного утапливай друг в друга. Не стоит топить их сильнее — тогда ты впустую потратишь место на развертке, и не стоит их ставить впритык друг к другу — из-за особенности технологий может появиться зазор, через который шов будет уродливо бликовать.


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

Все не плоские четырёхугольники и многоугольники желательно превратить в треугольники вручную.

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

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


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

2 2. High Poly

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

Запомни: на хайполи можно всё.
Хайполи не ограничено количеством полигонов.
Главное ограничение — чтобы файл открылся у тебя на компе.

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

Когда нужно делать хайполи

В видеоиграх хайполи нужна для запечки нормала. Только для него.

Для сложных органических форм первым делают хайполи, а потом «ретопят» в лоуполи (обводят лоупольной сеткой, об этом сегодня говорить не будем, но вот короткая затравочка для тех, кому очень любопытно)

3 способа сделать хайполи


Это сабдив геометрия под запечку https://skfb.ly/6MDEM

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

Большинство трехмерщиков начинают изучать 3д именно с сабдива. Почему-то так принято вести большинство курсов по 3д. Мне кажется, что важнее научиться делать клёвые формы, и уже потом учиться сабдиву. Самое важное на сабдиве — понять, как строить лупы и кольца полигонов, чтобы они подчеркивали твою форму.


На левой модели полигональные кольца направлены без учета формы, а на правой они аккуратно обводят угол.

2) Скульпт — необходимо, если у твоей модели мягкие формы, органика. Неточные, неровные формы. Складки, грибы, мягкие формы — смело лезь в СКУЛЬПТ. Это как пластилин, только в 3д. Скульпт делает сетку настолько плотной, что мнешь ее как пластилин в специальных программах (zBrush, mudbox, 3d coat). Главная особенность скульпта — можно работать с десятками и сотнями миллионов полигонов!



клевый скупльпт https://skfb.ly/6MUvt
  • Есть еще воксельное моделирование в программах вроде 3D Coat и Polybrush — это тот же скульпт, но работающий чуть на других технологиях. Загугли если интересно.

3) CAD геометрия. Есть очень клевая софтина fusion360. Ее сделали для инженеров, чтобы они проектировали и собирали реальные мосты, машины, роботов и прочие штуки для реального мира. Но программа оказалась настолько удобной и клёвой, что в нее влюбились концепт художники. Чтобы делать роботов и железо.

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

  • Марвелоус дизайнер — прога для симуляции тканей. Сделана чтобы дизайнить одежду. Но оказалась настолько простой, что ее стали использовать в кино и играх.
Я не очень хочу останавливаться на теме хайполи — статья и без того огромной вышла, а хайполи — самая популярная 3D тема в интернете.
В этой статье мы сделали упор на те моменты, которые в рунете довольно сложно найти.
Главное, помни, что для видео игр хайполи делается только для того, чтобы запечь фаски.

3. Mid Poly

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


пример мидполи сетки из Love Death and Robots. Она уже достаточно детальная, и рендерится вот так, а большей детализации ей делать не нужно.

Подведём итоги

Сегодня ты узнал много нового про вертекс нормали и работу с топологией.
Ты понял суть того, как работает технология запечки, и зачем нужно делать 2 файла — лоуполи и хайполи, и как они связаны друг с другом.

К чему ведут провалы на этапе сетки?

— К плохой оптимизации и неаккуратному шейдингу.

— Плохую лоуполи даже текстуры не спасут.

— Ошибки с хардами и софтами испортят запечку и текстуры (об этом поговорим в статье про запечку поподробнее).

— Плохая хайполи с потягами и плохим шейдингом — пиши пропало, она не запечется.

— Хайполи и лоуполи должны совпадать. Они должны быть похожи друг на друга и покрывать друг друга. Иначе будут проблемы на запечке.

Что дальше?

Следующий этап пайплайна — делаем на лоуполи развёртку, чтобы можно было наложить на неё текстуры в самом конце.

А после развёртки мы будем запекать детализацию с хайполи на лоуполи.

Даты писать не будем — мы в них не попадаем (работы много, курсы, все дела, не успеваем статейки писать)

Жди продолжение!

Вступай в нашу группу, чтобы не пропустить следующий выпуск!

краткий туториал по работе в технике лоуполи — Gamedev на DTF

Опыт инди-разработчика.

Инди-разработчик Коул Читтим на своём YouTube-канале опубликовал короткий туториал, в котором рассказал о процессе работы в технике лоуполи, а также дал несколько советов для новичков.

По мнению Коула, чтобы сделать лоуполи-модель достаточно открыть 3D-редактор, например, Blender, и создать куб — далее, используя инструмент extrude, его можно превратить почти в любой нужный объект. Конечно, для этого понадобится референс, на который можно опираться при определении формы модели.

Коул советует сохранять максимальную простоту геометрии и не скруглять грани объекта. Если же модель состоит из слишком большого количества полигонов, то можно использовать модификатор Decimate в Blender.

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

Когда объект готов, можно заняться его стилизацией. Например, сделать так, чтобы все полигоны модели были одинаково освещены. Стилизация во многом зависит от цели разработчика: при желании он может сделать так, чтобы цвет имитировал освещение, или же, наоборот, чтобы объект был полностью плоским.

При этом можно совмещать эти техники. Например, в игре Коула Tiny Dino главный герой плоский, а окружение объёмное.

I’m excited to announce my next game coming very soon, Tiny Dino!

Protect your Dino friends from extinction by manipulating the planet.
🌎

#ScreenshotSaturday #indiedev

Статья 3/7 про сетку. Lowpoly, Highpoly и вертекс нормали — Gamedev на DTF

Это третья из семи статей из цикла про этапы пайплайна. Подписывайся на наш паблик в Вк или ФБ , чтобы не пропустить следующий выпуск.

Сегодня статья посвящена второму этапу пайплайна — сетке. А следующие статьи будут про развёртку, запечку, текстуры и подачу.

Сейчас мы разберём:

Что такое сетка, зачем она нужна и из чего состоит.

Как делать lowpoly и highpoly, как они связаны между собой.

— Какие моменты на этапе сетки влияют на свет, блики и развёртку.

— И немного поговорим об особенностях всех игровых движков, которые необходимо учитывать в работе.

Из чего состоит любая 3D модель

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

Прежде чем говорить о работе с lowpoly и highpoly давай разберём из чего состоят все модели и какие особенности игровых движков нужно знать.

Любая 3D модель состоит из:

⚫️ Точек (vertex, вертекс)

➖ Рёбер (edge, эдж)

⬛️ Плоскостей (tris, polygon, nGon, трис, полигон, эн-гон)

#1 Точки (вертексы)

Это простейший элемент модели.И на самом деле это не просто точка, а точка, у которой, помимо её координат в пространстве, есть ещё один важный параметр — направленность.

Записывай, у каждой точки (вертекса) есть 2 параметра:

Вот он, красавец, висит в бескрайнем космосе 3D пространства

  • Её положение в п

Создание Low Poly иллюстрации в Blender

Низко полигональные иллюстрации имеют большую популярность в наши дни. Мы их видим повсюду: книги, мультфильмы, музыкальные клипы, приложения и т.д. Сегодня Вы узнаете, как создавать такие иллюстрации в Blender. В этом уроке будет уделяться внимание созданию стиля Low Poly иллюстрации, а не тонкостям моделирования. Из данного примера Вы узнаете, как добиться желаемого результата.

Финальный результат

low-poly

Секретные ингредиенты

Модели с шейдингом Flat

Это, пожалуй, самое основное требование Low Poly иллюстрации. Все Ваши модели не должны быть сглаженными.
lowpoly1

Низкополигональные модели

Сами модели должны быть низко полигональными (что очевидно!). Все формы объектов должны быть максимально приближены к основным геометрическим формам. Если это органические модели, либо заранее созданные высоко полигональные, то Вы сможете легко их преобразовать в Low Poly при помощи модификатора.
lowpoly2

Треугольники

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

Освещение

Освещение является наиболее важной частью визуализации, так как в случае неправильной настойки, наша сцена будет выглядеть как 3D-игра 90-х годов. Сцена должна быть правильно освещена и мы должны использовать Ambient Occlusion.
lowpoly4
Теперь мы создадим сцену и научимся применять вышеуказанные пункты для достижения желаемого стиля.

Примерный план и макет

Первым делом нарисуйте 2D набросок (можно на листке, можно в любом графическом редакторе). Данный рисунок будет служить в качестве дальнейшего плана и Вам не придется выдумывать по ходу работы дальнейшие элементы. Хоть создавать сцену мы будем в 3D, конечный результат все равно будет в виде 2D изображения. Поэтому набросок должен быть привлекательным и сбалансированным.
lowpoly5

Моделирование местности

Удалите куб и создайте вместо него плоскость.
lowpoly6
Увеличьте размер плоскости (S) до размеров, показанных на рисунке:
lowpoly7
Перейдите в режим редактирования и подразделите плоскость 4-5 раз (W – Subdivide):
lowpoly8
lowpoly9
Удерживая клавишу Shift выделите 2 точки на плоскости:
lowpoly10
Находясь в режиме редактирования включите пропорциональное редактирование (O) и установите тип спада Smooth.
lowpoly11
Теперь переместите данный вершины вверх по оси-z (G|Z). С помощью колесика мышки регулируйте область воздействия пропорционального редактирования.
lowpoly12
Затем выделите одну вершину и подымете ее еще немного вверх:
lowpoly13
Выделите все с помощью клавиши A и преобразуйте меш в треугольник (Ctrl + T).
lowpoly14
Снимите выделение с плоскости и измените тип пропорционального редактирования на Random:
lowpoly15
Снова подымите выделенные вершины. При необходимости подкорректируйте индивидуально каждую вершину, чтобы придать горам необходимую форму.
lowpoly16
Выделите всю плоскость, нажмите W и выберите пункт Shade Flat. На этом создание гор завершено.
lowpoly17

Назначение материалов горе

С выделенной плоскостью перейдите на вкладку материалов и создайте новый материал.
lowpoly18
Назовите материал Green, установите для него зеленый цвет и установите Specular Intensity равным 0.
lowpoly19
Перейдите в режим редактирования (Tab), режим Wireframe (Z), режим выделения граней (Control + TAB – Face), вид сбоку или спереди и с помощью клавиши B выделите гору. Если будет нужно, удерживая клавишу Shift выделите дополнительные грани.
lowpoly20
На вкладке материалов нажмите +, чтобы создать новый слот материала и затем нажмите New.
lowpoly21
Назовите материал Brown, установите для него коричневый цвет и установите Specular Intensity равным 0.
lowpoly22
Нажмите кнопку Assign, чтобы применить новый материал к горе.
lowpoly23
Теперь создадим снежную верхушку для гор. Выделите верхнюю часть горы, создайте 3-й слот материала, назовите его White, укажите белый цвет и установите Specular Intensity равным 0.
lowpoly24
Нажмите кнопку Assign, чтобы применить новый материал к горе.
lowpoly25

Моделирование деревьев

Добавьте в сцену ICO-сферу (Shift + A – Icosphere):
lowpoly26
Нажмите .(точку) на NumPad клавиатуре, чтобы центрировать вид на ICO-сфере. Перейдите в ортогональный вид и вид справа (NumPad5|NumPad3). Добавьте в сцену цилиндр (Shift + A – Cylinder):
lowpoly27
На панели инструментов укажите количество вершин для цилиндра равным 6.
lowpoly28
Перейдите в режим редактирования и уменьшите размер цилиндра.
lowpoly29
Выделите верхнюю часть цилиндра и подымите ее вверх по оси-Z, чтобы создать ствол дерева.

Не забудьте отключить пропорциональное редактирование!

lowpoly30
Не снимая выделения в верхней части цилиндра, нажмите S и сведите вершины немного в центр.
lowpoly31
Сейчас мы сократим количество полигонов в верхней части нашего дерева. Выделите ICO-сферу и добавьте для нее модификатор Decimate.
lowpoly32
Уменьшите параметр Ratio, чтобы создать менее полигональную верхушку дерева.
lowpoly33
В завершении нажмите кнопку Apply.
lowpoly34

Создание материалов для дерева

Выделите верхнюю часть дерева и создайте новый материал (либо, Вы можете использовать уже готовый материал Green).
lowpoly35
lowpoly36
Затем создайте материал для ствола дерева (либо, Вы можете использовать уже готовый материал Brown).
lowpoly37

Делаем дерево цельным объектом

Выделите ствол и листья дерева и нажмите Ctrl + J, чтобы объединить их.
lowpoly38

Моделирование еще одного дерева

Добавьте еще один цилиндр, укажите для него 5-6 вершин, вытяните его по оси-Z и сузьте вверху:
lowpoly39
lowpoly41
lowpoly40
В режиме редактирования создайте два дубликата данного цилиндра (Shift + D), поверните их с помощью клавиши R и расположите так, как показано на рисунке:
lowpoly42
lowpoly45
lowpoly44
lowpoly43
Создайте ICO-сферу, расположите ее на одной ветке и примените к ней модификатор Decimate, как Вы делали на предыдущем дереве. Затем создайте дубликат ICO-сферы, увеличьте его в размерах и расположите на второй ветке.
lowpoly46
lowpoly47

Назначение материалов для нового дерева

Делаем все тоже самое что и для первого дерева и в конце объединяем все в один объект при помощи Ctrl + J:
lowpoly48
lowpoly51
lowpoly50
lowpoly49

Создание облаков

Добавьте в сцену ICO-сферу, перейдите в режим редактирования, создайте дубликат (Shift + D), расположите его сбоку и уменьшите масштаб. Затем данный дубликат снова продублируйте и расположите на противоположной стороне:
lowpoly52
lowpoly53
lowpoly54
Вернитесь в объектный режим и примените к облачку модификатор Decimate (все как обычно, уменьшаем количество полигонов).
lowpoly55
Затем примените к облачку новый материал, или используйте готовый материал White.
lowpoly56
lowpoly57

Соединяем все вместе

Перейдите на вид сбоку (или спереди) и расположите дерево на земле. Уменьшите его масштаб до необходимых размеров. Проделайте это и для второго дерева.
lowpoly58
Затем на виде сверху создайте нужное Вам количество копий деревьев и расположите их в нужных местах Вашей сцены:
lowpoly59
Выберите вашу камеру и расположите ее в необходимом месте Вашей сцены:

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

lowpoly60
lowpoly61

Настройка освещения

Добавьте в сцену солнце (Sun) или измените тип лампы по умолчанию. Расположите его справа от нашей сцены и поверните так, чтобы оно светило на нашу сцену.
lowpoly62
Установите оранжевый цвет для света солнца и включите опцию Ray Shadows:
lowpoly63
Нажмите F12 для создания пробного рендера:
lowpoly64
Перейдите на вкладку мира и выставите настройки, как показано на изображении:
lowpoly65
Добавьте большую черную плоскость слева от сцены, чтобы она не получала слишком много света с этой стороны.
lowpoly66
На вкладке мира установите цвет Ambient Color темно-фиолетовым. Это придаст интересный тон изображению.
lowpoly67
На этом работа закончена! Жду Ваших Low Poly сцен!

источник урока

Иллюстрации в стиле Low Poly в Photoshop

Стиль low poly (от английского low — низко и polygon — полигон) означает использование трехмерной модели с небольшим числом полигонов. Это очень сложная техника, но дизайнер Брено Битенкурт (Breno Bitencourt) составил подробный урок, демонстрирующий весь процесс. К уроку прилагается видео.

«Шаг за шагом я покажу вам как создавать эффектные портреты в Low Poly при помощи Illustrator и Photoshop. Секрет создания таких работ кроется в работе с качественными исходными фотографиями и прежде всего Брено покажет, как их получить (используя себя в качестве модели). Затем вы увидите, как их нужно обработать в Photoshop и как создается векторная версия в Illustrator».

Конечный результат

011

Процесс

021

031

041

051

061

071

081

09

10

11

12

13

14

15

Видео процесса

Статья 3/7 про сетку. Lowpoly, Highpoly и вертекс нормали — Gamedev на DTF

Это третья из семи статей из цикла про этапы пайплайна. Подписывайся на наш паблик в Вк или ФБ, чтобы не пропустить следующий выпуск.

Сегодня статья посвящена второму этапу пайплайна — сетке.А следующие статьи будут про развёртку, запечку, текстуры и подачу.

Сейчас мы разберём:

Что такое сетка , зачем она нужна и из чего состоит.

Как делать lowpoly и highpoly , как они связаны между собой.

— Какие моменты на этапе сетки влияют на свет, блики и развёртку .

— И немного поговорим об особенностях всех игровых движков , которые необходимо учитывать в работе.

Из чего состоит любая 3D модель

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

.

Немного о Игра LowPoly

Здравствуйте, уважаемые читатели Render.ru. Меня зовут Олег, моего коллегу соавтора зовут Владимир, и я являюсь Game Low-Poly моделлером. В данной статье мне бы хотелось бы познакомить вас с азами создания игровых моделей.
Данная статья будет в первую очередь полезна начинающим, но будет интересна и ветеранам индустрии.

Преамбула

Данная статья вынашивалась мною достаточно давно.
В последнее время очень большое число людей направляет свой взор в сторону игровых моделей, но, к сожалению, обладая замечательными навыками в создании Hi-poly и Mid-poly моделей, совершенно не имеют представления о Low-poly.Как итог, модели получаются хоть и красивыми, но совершенно негодными для дальнейшего использования.
Часто от начинающих игровых художников можно услышать фразу: «Модель делалась для себя, над оптимизацией не задумывался», она является кроне неверной.
Построение Low-poly модели начинается именно с определения, а зачем же она собственно нам нужна?
В данной статье я хотел бы показать именно различные виды использования, используемые игровые модели, и о их специфичных требованиях.

Терминология

Вертекс (Vertex, прим. Перевод: Вершина) — вершинная точка пространственной фигуры. Имеет набор атрибутов, таких как координаты в 3D пространстве X, Y, Z, и в 2D пространстве U, V.

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

Полигон (Полигон, прим.перевод: Многоугольник) — общее название плоских фигур геометрии. Один полигон минимум состоит из одного треугольников. Состоит из вертексов соединенных гранями.

Треугольник (Треугольник) — имеется фигурой любой модели. Состоит из трех вертексов соединенных тремя гранями.

Квадрат (Четырехугольники, прим. Перевод: квадратный полигон) — Полгигон составий из четырех вертексов.

Триангуляция (триангуляция) — Процесс разделения полигона на треугольники.

ЛОД (LOD, Уровень детализации прим. Перевод: Уровни детализации) — набор моделей применяемых с отдалением и приближением игровой камеры.

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

Игровые разделы

Игровых жанров существует несметное множество стратегий, шутеры, ролевые игры, квесты, интерактивные новеллы, платформеры, квесты и многие другие жанры, и множество под жанров.
Для каждого жанра существуют свои требования к моделям, но есть кое-что, что объединяет их всех — положение игровых камер, если быть более точным, то процент используемой моделью площади на экране. В дальнейшем, для упрощения мы будем использовать положение камеры.
В первую очередь сетка Low-poly модели будет зависеть от положения игровой камеры. Чем ближе игрок может рассматривать модель, тем плотнее должна быть сетка.

Соответственно из всего сонма жанров мы можем использовать для себя все три направления, наиболее характерно отличающиеся по положению камеры:

— FPS (шутер от первого лица) — игра от первого лица, для камеры расположенной ближе всего к игроку и игровому окружению. Особой особенностью данного направления является возможность увидеть в максимальном приближении любую деталь, расположенную на игровом уровне, именно по этой модели в игрех от первого лица самая высокая плотность сетки.Ярким и представителем данного направления являются Wolfenstein: The New Order (Crysis3, Fallout 4). Модели для такого типа игр доходят до 25к треугольников, но в целом используются куда как более скромные версии. Так, в вышеупомянутом Wolfenstein, немецкий солдат вместе со всей системой повреждений укладывается всего в 14 333 треугольника.

Чуть более детально: Тело 7.410, Голова 2.222, Глаза 128, Шлем 888, Маска 760, Лицевая броня [намордник] 678, Челюсти 238, система повреждений разбитая на пять частей: ч1 — 476, ч2 — 356, ч3 — 199, ч4 — 219, ч5 — 759.Краткий итог, из полного постоянно видимого комплекта: 12086 треугольников.

Состав текстур: Normal Map с Ambient Occlusion в альфа канале, Specular, Diffuse map. Разрешение немного нестандартное: у тела 3840х3840, у головы 1920х1920, у каски, объеденной с намордником 1920х1920, маска 960х960, система повреждений 960х960, глаза 512х512.

— TPS (стрелок от третьего лица) — игра от третьего лица, для камеры расположенной на плече игрока, либо на небольшом от него отдалении.В данном разделе игрок чаще и ближе всего наблюдает на экране своего персонажа, а вот приблизить камеру к окружению уже крайне затруднительно. Из современных представителей можно привести пример нашумевший Последний из нас (Расхитительница гробниц, Неизведанные и многие другие). Модели главных персонажей такого рода играх высокой плотностью сетки, и большой детализацией, но редко превышают цифру в 40к треугольников.
Рассмотрим модель Элли, из вышеупомянутой игры: Общий полигонаж составляет 31.535.

Детально: Голова 7.164, Волосы 6.054, Торс 5.851, Кисти рук 2.664, Ноги 2.549, Башмаки 1.758, челюсть 547, резинка для волос 359, рюкзак 2.693, ресницы 426, лакрима 558, глаза 912.

Состав текстур: Normal Map, Specular, Diffuse map и Ambient Occlusion для лица. Разрешение классическое: у тела 1024х1024, у головы 1024х1024, волосы 1024х512, ноги 1024х1024, челюсть и руки 512х512, башмаки 512х512, рюкзак 512х512, глаза 256х256, лакрима 128х128.

— Стратегия — игры с максимальным отдалением камеры.Крайне интересный раздел, требующий экономии абсолютно на всем. Основная особенность — обилие малых объектов на экране. Самым известным представителем является все же Starcraft 2 (Родной мир: Пустыни Харака и многие другие). Для данного раздела характерна максимальная экономия на всех объектах. Баталии из сотен анимированных юнитов в одних играх и тысячах в других множестве объектов окружения, ландшафт, все это создает огромную нагрузку на компьютер конечного пользователя.
Все остальные игры будут являться в той или иной степени смешением данных разделов.
2,5 D Игра мы рассматриваем не будем, так как она близка к TPS, с одной особенностью — камера в таких играх зафиксирована в одном положении, и может быть лишь приближена и отдалена от игрового действа, поэтому для статичных объектов рисуется только видимая часть, а для анимированных (используется половина целесообразности, этот пункт мы рассмотрим чуть позже) группы материалов.

Игровые планы

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

1. Объекты расположенные на экране в максимальном приближении. В данном разделе кроется все оружие, отображаемое на экране игрока (FPS), и игровые персонажи (TPS).

Из-за того, что игрок постоянно наблюдает модели данного плана, для них плотная сетка. Но есть одна маленькая особенность, и скрывается она в различных группах материалов для таких моделей.
Итак, рассмотрим классический случай.
Дано: модель пистолета, револьверного типа, с общим числом треугольников 6.810. В постоянной видимости у игрока только часть наружного меша, если ее, то мы получим всего лишь 3.060 треугольников, остальную часть модели игрок увидеть не может. Что бы не загружать всю модель в память, а подгружать нужные элементы поэтапно, модель подготавливается с учетом применения на нее двух и более материалов: материал группа для постоянно видимого участка (на картинке желтым), материал группа для участка видимого только во время анимации (на картинке красным).

Соответственно, на краткий миг анимации перезарядки и появляется на ранее скрытый объект. Это позволяет сэкономить постоянные затраты памяти.

Примечание:
–разбивку на материале группы не всегда целесообразно применять, например, когда некая часть модели обладает малым полигонажем.
— экранная модель, будь это модель игрока, или модель оружия, имеет две версии: собственно экранная с максимальной детализацией, и мировая модель, где к сетке применяются требования как к объектм нижеописанных игровых планов.

2. Анимируемые объекты второго плана, а именно: персонажи, и противники.

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

3. Интерактивные объекты.

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

4. Элементы локации:

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

Численность объектов

Степень детализации сетки зависит не только от положения камеры, но и от числа объектов на экране.
Сетка для повторяющихся объектов, например для травы часто листьев, должна быть максимально простой.
Геометрия крупных повторяющихся объектов, находящихся на различном расстоянии от игрока должна иметь несколько ЛОДов, для облегчения нагрузки на видеокарту (Деревья, скалы, другие объекты)
Так же следует отметить, что для интерактивных объектов часто используются уровни детализации (LOD).
Смысл ЛОДа — дополнительная более низкополигональной модели, подменяющей оригинальной на больших расстояниях от камеры.Такие модели следует изготавливать с учетом возможного повторного использования текстур от нулевого ЛОДа. К сожалению, карту нормалей повторно использовать невозможно.
Наиболее простой алгоритм получения материала для ЛОДов — перепекать все карты непосредственно с нулевого ЛОДа.
К сожалению, у ЛОДов есть побочный эффект — в игровых движках они учитываются как отдельная модель, и они занимают дополнительное место в графической памяти.
Для сложных единичных объектов, решение о необходимости ЛОДов принимается в пределах от расстояния от которых они должны видны.

Частые ошибки при создании игровых моделей

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

1. Сохранение не формообразующих высоты вертексов.

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

2. Несоразмерность детализации.

Как уже ранее говорилось, плотность сетки должна напрямую зависеть от приблизить камеру к объекту.
На изображении ниже можно увидеть яркий пример несоответствия размеров кнопки и платы.плата предназначенная для установки в дверную панель выполнена из 1020 треугольников, при условии что теоретически на устройстве может занимать максимум 128х256 пикселей. Подобная плотность сетки недопустима.

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

3. Утечка нормалей

При запекании нормалей на цилиндрах, часто сталкиваешься с довольно неприятными последствиями — кольца расположенные на теле модели теряют свою форму.
Связано это с особенностью расположения нормалей и Smooth-group.

На изображении представлены различные сочетания Smooth-group, положения крышки Low-poly модели относительно Hi-poly.

1) Привет-поли модель, с которой и запекается карта нормалей.

2) Простая Low-poly, с одной Smooth-group, крышка на уровне Hi-poly. На моделях при фронтальном расположении камеры наблюдаем заметное заметное изображение кольца и фаски.Подобный тип игровой содели следует применять для малых камер и при условии расположения под углом.

3) Простая Low-poly, с одной Smooth-group, крышка ниже Hi-poly. Проблемы аналогичны п. 2. дополнительно подчеркивается вредная фаска.

4) Простая Low-poly, с двумя Smooth-group, крышка на уровне Hi-poly. На модели при фронтальном расположении камеры. Подобный тип игровой модели следует применять для малых объектов и при условии расположения камеры фронтально.

5) Простая Low-poly, с двумя Smooth-group, крышка ниже Hi-poly. Проблемы аналогичны п. 2. примерно теряется фаска.

6) Более сложная Low-poly с фаской и с одной Smooth-group. На модели любого положения камеры наблюдаем остаточные незначительные эффекты изображения. Подобный тип игровой модели следует применять для крупных объектов.

7) Более сложная Low-poly с фаской и с двумя Smooth-group. На модели при фронтальном расположении камеры мы не наблюдаем никаких искажений.

Методику построения лоуполи модели и выбора Smooth-group следует принимать в зависимости от положения игровой камеры.
Если мы чаще наблюдаем объект фронтально, то использовать случаи № 4, 7.
.

4. Оптимальность сетки

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

На изображении ниже представлены два цилиндра с одинаковым числом треугольников.

5. Лишняя геометрия

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

Интересные Факты

1.Вершинный шейдер.

В игровых моделях, полигонаж считается в треугольниках, но данный расчет не отображает реальные картины.
Каждый 3D-художник в своей жизни хотя бы раз пользовался Smooth-group (для Blender-модификатор с разделением краев).Особенности применения функций, является умножением числа вертексов для создания гладких поверхностей. Так же следует отметить, что шейдеры отрабатывают не по треугольникам, а именно по вершинам, что приводит к большей сложности вычислений на моделях, состоящих из большего числа Smooth-group.
Именно рекомендуется создавать игровые модели в одной Smooth-group, прибегая к разделу только в редких случаях.
Полностью отказаться от использования множественных Smooth-group к сожалению, приведет к невозможности этого к резкому росту активного полигонажа модели.Каждый раз при подготовке Игровой модели, следует взвешивать, что лучше использовать: защитные бордеры (дополнительный лупс по периметру опасной зоны), либо Smooth-group.

2. Развертка модели

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

3. Требования движка.

При разработке модели необходимо так же специфические требования движка.
К примеру, у Unreal Engine отличается Касательное пространство, что приводит к некорректной работе карты нормалей: проявляются швы, перекручиваются нормали. Соответственно в моделях закладывает дополнительные защитные бордеры, препятствующие проявлению дефектов.
И еще один пример из далекого 2004 г. Одна из самых технологических игр того времени, DooM 3 обладает уникальными характеристиками касательного пространства, и может быть запрограммирована только в нем самом (за исключением плоских).
Подобные особенности характерны для всех движков без исключения.Просто так их все описать невозможно, необходимо детально изучить движок под который вы работаете.

.

Дизайн низкополигональных персонажей / Хабр


Персонаж — это личность. Без истории нет индивидуальности. Каждый хороший персонаж начинается с истории, а дизайн персонажа должен рассказать эту историю.

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

Это особенно справедливо, когда вы создаете низкополигонального персонажа. Нужно рассказать историю, использовав как можно меньше форм.

Изложенная концепция подходит для дизайна персонажа игры, фильма, иллюстрации или другого личного проекта.



Я буду работать в Blender . В Maya, Max и других 3D-редакторах есть похожие инструменты, так что не беспокойтесь об этом.

Намечаем персонажа


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

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

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

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

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

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


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

Дизайн


Я отношусь к low poly как к удалению как можно большего количества деталей без утери сущности того, что мы создаём.

Именно поэтому я важным сначала наметить персонажа, а уже затем погружаться в процесс дизайна.

Если мы ограничиваем себя в количестве полигонов и текстур, то нам нужно очень чёткое понимание того, что хотим показать.

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

Мы хотим добавить детали только там, где они действительно важны. Давайте взглянем на простой пример:


Как видите, чтобы показать персонажа, нам нужно очень мало черт. Нам даже не нужны кисти, ступни и даже лицо, и тем не менее мы понимаем, что это женщина на службе. Возможно, это стюардесса или полицейский?

Вот ещё один пример:


На рисунке показаны 4 уровня сложности — от лица с носом, глазами и бровями до почти отсутствующих черт.

И тем не менее, очевидно, что на каждом мужчине изображении запечатлён молодой. Здесь нам нужно принять решение: какой объём информации НЕОБХОДИМ, чтобы донести наш посыл.

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

Далее мы обсудим формы, но прежде чем приступим к этому, я хотел бы сделать краткое отступление, чтобы вы поняли, что такое на самом деле low poly.

Low Poly и мультфильмы


Не волнуйтесь, мы скоро вернёмся к низкополигональному дизайну.

Низкополигональная графика обычно идёт рука об руку с мультфильмами. В сущности, я считаю, что графика low poly и является своего рода мультфильмом, по крайней мере, его близким родственником.

Я имею в виду, что в мультфильмах обычно используются упрощенные формы, преувеличенные и с яркими привлекательными цветами. Существуют и более печальные вариации, но они все равно основаны на этих фундаментальных свойствах мультфильма.

Одна студия сделала особый вклад в то, как выглядят сегодня почти все мультфильмы. И вы знаете, какую студию я имею в виду… разумеется, я говорю о Disney.


Студия Диснея всегда умела мастерски воспринимать их через нечто подобное.

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

Его друг Гуфи — это пёс, а ещё у Микки есть собака-питомец по имени Плуто… Хм, а почему же Гуфи не домашняя собака? Он пёс, как и Плуто, но почему нас это не озадачивает?

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

Это превосходный пример того, как художники определяют персонажу социальный статус и встраивают его в дизайн.

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

Формы и силуэт


Я вспомнил Disney, потому что эта студия очень хорошо создаёт дизайн чётких, читаемых форм.

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

Если вы плохо рисуете от руки, то могу посоветовать делать черновики форм в цифровом ПО для скульптинга, например, в Zbrush или Blender.Оно позволит вам быстро набросать базовые формы.

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

Хороший трюк — определить наиболее важные черты персонажа и преувеличить ( СИЛЬНО ).

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

Возьмите для примера Джессику Рэббит из фильма «Кто подставил кролика Роджера».


Процесс создания дизайна


Давайте теперь отдохнём от лекций и создадим низкополигонального персонажа! После этого мы рассмотрим технические советы по моделированию низкополигональных персонажей.

Мы будем делать каменного персонажа.


Он может быть врагом или боссом в фэнтезийной видеоигре, скорее всего, живущим в горах.

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

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

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

Я начал с очень грубого наброска, чтобы хотя бы иметь представление о том, что хочу сделать.


Уродливый, но полезный концепт-арт

Как видите, в нём нет ничего особенного, и такой набросок я бы не стал никому показывать. Он просто нужен нам в референса, чтобы использовать его в качестве в качестве 3D-редактора.

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

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

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


Этапы создания каменного монстра

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

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

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

Эффект термоусадки


Это субъективная тема, так что если вы не согласны с изложенным ниже, это вполне нормально.

Что же я подразумеваю под эффектом термоусадки (эффект термоусадки)? Представьте, что у вас есть область равномерно распределенных полигонов, и вы оборачиваете ее вокруг своего объекта.

Это создаёт равномерно распределённые полигоны, обёрнутые вокруг объекта.


Слева — модель с эффектом «термоусадки», справа — в модель добавлены «морщины» и измятости.

Хоть иногда может показаться довольно необычной и плоской.

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

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


Удаляя и добавляя детали, вы можете управлять своими сообщениями по наиболее важным областям.

Материалы


Многие вполне качественные низкополигональные изображения проваливаются на этапе создания материалов и освещения.

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

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

Вот пример с нашей женщиной. Слева только использован диффузный шейдер. Поступательный результат.


Для кожи в финальном изображении я использовал шейдеры Diffuse , Glossy и Subsurface Scatter . На изображении ниже показан граф шейдеров.При работе с кожей недр (подповерхностное рассеяние) особенно важно. Также его можно применять и к другим объектам, придавая им более мягкий внешний вид.
Платье состоит из Diffuse , Glossy и Velvet . Я использовал бархат, чтобы более глубокий и прохладный оттенок для придания вариативности.

Освещение


Освещение так же важно, как и всё остальное. И оно сильно зависит от сцены, необходимого настроения, формы объектов и т.д. Когда дело доходит до освещения, нужно пробовать множество разных вариантов.

Я обычно начинаю с добавлением в качестве базового света окружающего освещения. Она может быть внутри, главное, чтобы она соответствовала изображению. Сфера создаст хорошую базу изображения.

Затем я добавляю три простых точечных источников освещения — основной свет, заполняющий свет и задний свет. Попробуйте поэкспериментировать с цветами этих источников, обычно стоит сделать заполняющий свет более тёплым, а задний — более холодным, мы постоянно видим такую ​​схему в фильмах.


Расположение источников света для каменного монстра

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

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

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

Ретопология


Выше я говорил, что мы рассмотрим ретопологию нашего персонажа.

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

Вот некоторые из трюков, которые я использую;

Retopo Flow:


Инструмент Contours в TopoFlow

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

В составе Retopoflow есть несколько отличных инструментов для создания чистой топологии на основе скульпта.

Термоусадочная упаковка:

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

Это в буквальном смысле выполнит «термоусадку» куба вокруг скульпта, быстро давая нам нужную форму, но уже с подходящей для работы геометрией.


Подразделённый на части куб обхватывает руку.

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

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

Есть и другие способы сделать это, но в моём случае эти два метода покрывают все аспекты, необходимые для ретопологии низкополигональных объектов.

Подводим итог


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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *