31 января 2020 31.01.20 1 1215

3D в играх: Создание полигональной модели

+4

3D в играх. Часть 2.5

Создание полигональной модели

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

Рассказывая про полигоны, я забыл упомянуть про масштабирование. А ведь это одно из полезнейших их преимуществ. С точки зрения, что математики, что производительности, расстояние между вершинами полигона в 10 или 100 условных единиц одинаково. Поэтому создать, скажем, полигональную матрешку по времени – это чуть больше, чем время на создание одной фигурки. Дальше все копируется и масштабируется просто и быстро.

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

И про способы полигонального моделирования. Тут, на самом деле, все зависит в основном от трех вещей: программного пакета, стоящей задачи и опыта/предпочтений того, кто моделирует. Различают три основных подхода (я говорю про традиционное моделирование, без использования 3D сканирования и т.п. технологий современности): параметрическое, наращиванием полигонов и на основе сплайнов. В первом случае за основу берется некоторое геометрическое тело, внешний вид которого можно задать небольшим количеством параметров, например шар (диаметр); куб (длина, ширина, высота); тор (внешний и внутренний радиус) и т.п. Затем с помощью инструментов, предоставляемых программным пакетом, и/или перемещением вершин полигонов, форма уточняется.

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

Моделирование на основе сплайнов (по простому – линия или набор линий в пространстве) подразумевает создание некоего контура на основе которого затем будет создана уже объемная полигональная модель.

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

Теперь про то, почему в качестве модели была выбрана именно керосиновая лампа?

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

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

Перед созданием модели проверяется единицы измерения, так как это важно при импорте в игровой движок. Вначале создаются low poly элементы лампы.

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

После того как все low poly элементы смоделированы, они копируются и переименовываются с заменой суффикса на hi (для удобства и предотвращения путаницы). И на их основе создаются высокополигональные элементы. Подхода тут два. Первый: увеличение количества полигонов путем разделения каждого четырехугольного на четыре с помощью модификатора 3ds max. Второй: создание фасок на острых гранях, так как в реальности острые грани практически не встречаются, тем более на бытовых приборах. В итоге мы получаем низкополигональную модель с количеством полигонов равным 1 820 и высокополигональную с количеством — 11 388 полигонов.

В конце визуализация в так называемом сермате без применения материалов и текстур.

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

 

На этом данная часть завершена, до новых встреч!


Лучшие комментарии

Предлагаю к ознаКомлению!
Читай также