Рано или поздно каждый начинающий 3D художник сталкивается с необходимостью замоделить отверстия в геометрии. В создании этой простой геометрической формы на плоскости нет ничего сложного. Однако, дырявливание цилиндрических объектов порой превращается в весьма нетривиальную задачу, особенно когда модель создаётся с прицелом на «сабдив». Другой проблемой круглых форм становится выполнение их геометрией на низкополигональной модели lowpoly, оптимизированной для игрового движка. Правильные круглые элементы лоуполи вроде отверстий, колёс и т.д. сильно бьют по общему полигонажу, нагружая движок и приводя к просаживанию скорости отрисовки общей картинки в игре. Простое решение избавиться от «жирных» геометрических деталей приводит к заквадрачиванию кругов, что портит общий вид модели. Не так давно мне посчастливилось ознакомиться с методикой выполнения отверстий в одной из деталей высокополигональной модели оружия, лежащей в закромах
youtube канала школы компьютерной графики XYZ. Также каким-то удивительным образом я получил доступ ещё к одному очень полезному уроку школы, в котором преподаватель представил один очень полезный фокус по теме «дырки и круги в лоуполи».
Итак, всё по порядку.
Несмотря на то, что я пользуюсь 3Ds Max, а не Maya, я не столкнулся с какими-либо трудностями в понимании подаваемого контента. Принципы полигонального моделирования, работы в графических редакторах, универсальны и применимы в любых программах.
Первый урок был про создание пламегасителя с отверстиями и хитрой общей формой с изгибом и зубчиками. Пламегас создавался для высокополигональной модели, т.е. под сабдив. Дырявые цилиндры я уже до этого делал, с паттернами тоже был знаком и считал, что в этом случае буду лицезреть знакомые чемферы вертексов, булины или бенды. Бенды конечно были, но общий подход был не похож на то, что я видел ранее. Эдакий моделинг «задом наперёд». Ключевыми моментами тутора были: тщательное изучение референса, нахождение в нём повторяющихся элементов «паттернов», сам моделинг. Всё это дело было приправлено теорией, заметками бывалого и лёгкой приятной музыкой.
Второй урок в силу моего нубства и не совсем идеального конечного результата по началу не показался мне каким-то открытием. Но в дальнейшем, когда я столкнулся со схожей задачей, припомнил хитрую методу. Метода заключается в выполнение отверстий в лоупольной версии пламегаса из первого урока с помощью «альфы», т.е. канала прозрачности текстуры. Представленный способ выполнения, осложнённого круглыми формами, элемента позволяет создать идеально круглые дырки в пламегасе, но при этом оставить полигонаж элемента в разумных пределах или даже уронить этот предел. Кроме того, в уроке была показана очень интересная функция незаменимого помощника любого геймдев моделлера — программы marmoset toolbag. Кроме того, что эта замечательная программа умеет рендрить на лету, печь различные карты, в том числе карту нормалей, и причём очень неплохо, так ещё и имеет эдакую расчёску нормалей, помогающую исправить неверно запечённые участки нормалки.
Взятые на вооружение знания и уловки я стал применять на деле. Для начала я поэкспериментировал с созданием низкополигонального колеса с протектором, выполненным заквадраченным цилиндром с круглой лицевой частью выполненной плейном с круглой картой прозрачности.