Blog

Техники 3d-моделирования

2018-01-24

Если у вас возникла необходимость в 3d-модели то существует два способа её получить. Первый и самый простой это просто приобрести её на специализированном ресурсе. Благо таких ресурсов — море. Например:

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

1) Полигональное моделирование.

Первая самая классическая техника моделирования – полигональная. Полигональная техника самая простая и понятная, она базируется на операциях с четырёхугольниками. Четырёхугольники – полигоны или квады состоят из точек (vertex) и рёбер (edge). Пространство, заполненное между рёбрами, называется гранями (face). К базовым операциям можно отнести: перемещение (translate), вращение (rotate), масштабирование (scale), выдавливание (extrude), разделение (subdivide), слияние (merge), скольжение (slide). Эти операции будут очень часто повторяться. В любом пакете общего назначения существуют полигональные заготовки — примитивы: плоскость (plane), куб (cube), сфера (shere), цилиндр (cylinder), конус (cone). На основе этих простых объектов можно компоновать более сложные. Либо использовать простые как основу для более сложных. Методом разделения, последовательного выдавливания и череды простых трансформаций фрагментов куба можно получить человеческую руку или шланг от пылесоса. Кому как нравится или как того требует задача.

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

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

В технике полигонального моделирование существуют правила построения полигональной сетки или меша (от англ. mesh — сетка). Правила описываю подходы позволяющие формировать и поддерживать корректную топологию сетки. Топология как раздел математики изучает явление непрерывности пространства. Что это означает применительно к сетке? Выстраиваясь полигоны образуют направления — полигональные кольца или петли (loop). В зависимости от того как взаимно расположены или склеены полигональные петли зависит то, как будет происходить сглаживание объекта при операциях подразделения. Дело в том, что сложные полигональные объекты состоят из тысяч полигонов. 3d-художник редактирует форму объекта только на базовом уровне детализации, а финальное сглаживание выполняет модификатор подразделения. Для того, чтобы такое сглаживание приводило к ожидаемому результату, 3d-художнику нужно предусмотреть расположение полигональных петель на критичных участках формы. Иначе будут заметны артефакты сглаживания или форма объекта будет казаться оплавленной. Также нужно следить, чтобы плотность сетки была одинаковой по всей поверхности объекта и состояла только из квадов. Иногда допускается врезка треугольных фейсов, но это исключение. Есть небольшие различия в моделировании высокополигональных моделей (для кино) и моделей предназначенных для визуализации реального времени (интернет, игры). Для высокополигональных моделей важна правильная топология и сетка состоящая из четырёхугольных граней, а для игровой графики важна оптимизация. Поэтому модели, которые прошли оптимизацию имеют большую угловатость и состоят приемущественно из треугольных граней.

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

Полигональное моделирование одинаково хорошо реализовано во всех современных конкурентноспособных пакетах моделирования: Blender, 3Dsmax, Maya, Cinema 4D, LightWave, Modo.

Полигональные петли

Полигональные петли «до» и «после» подразделения

Варианты размещения полигональных ептель для получения требуемой фаски или закругления формы

Артефакты проявляющиеся при подразделении если топология – мусорная

Процесс моделирования от простой формы к сложной

2) Скульптинг или воксельная лепка.

Следуюшая технология — скульптинг основана на принципах скульптурной лепки, позаимствованных из реальной жизни. 3d-художник лепит форму объекта, не задумываясь о топологии сетки. По взмаху виртуальной кисти на модели появляются вмятины, вздутия или текстурный рельеф. Естественно после такого творческого процесса топология получается очень мусорная и нужно производить в обязательном порядке ретопологию. Ретопология это уменьшение количества полигонов (полигонажа) за счёт создания в ручную новой более оптимизированной сетки. Ретопология это буквально обрисовывание высокополигональной модели. Чтобы работать в такой технике требуется мпециализированный софт: ZBrush, 3D-Coat, Mudbox.

 3) Сплайновое NURBS-моделирование.

Третий способ моделирования основан на использовании криволинейных поверхностей. Такие поверхности называют NURBS-поверхностями (с англ. Non-uniform rational B-spline). От полигональной техники данный метод отличается тем, что 3d-художник оперирует не гранями, а кусками ограниченными кривыми линиями. Чтобы изменить характеристики поверхности нужно изменить кривизну линии. NURBS-поверхности имеют бесконечную детализацию, так как форму таких поверхностей описываются математическими формулами, а не расположением вершин как в полигональном моделировании. Перед тем как визуализировать такую поверхность программа предварительно её триангулирует. Триангуляция это процесс разбиения на треугольные грани. У данного метода моделирования есть преимущества перед полигональным. А именно - точность. Данную методику применяют для изготовления точных промышленных изделий, который потом будут изготавливаться литьём штамповкой и т. д. Данная технология реализована в 3dsmax и Maya и доведена до совершенства в CAD-пакетах: Rinoceroc, Katia, Fusion 360.

Модель собранная из NURBS-кусков (Blender)

NURBS-поверхность (Rhinoceros)

 

4) Процедурное моделирование

Четвёртый подход к моделированию процедурный. Процедурное моделирование востребовано в таких задачах, где требуется создание систем объектов и поверхностей, которыми нужно еще и гибко управлять. К таким системам можно отнести деревья (растения), небоскрёб или целый город (архитектурные объекты), толпу людей, взаимодействующих по определённому сценарию. Процедурное моделирование может быть линейным (стековым) и нелинейным (узловым или нодовым). Линейную процедурность поддерживают все серьёзные пакеты моделирования, она основана на вертикальном стеке модификаторов. Нодовое процедурное моделирование хорошо реализовано в Houdini, Cinema 4D с модулем MoGraph, Rhinoceros с плагином Grasshopper. Процедурное моделирование имеет большое преимущества над всеми остальными за счёт отсутствия деструктивных операций. В любой момент 3d-художник может вернуться на любой этап моделирования и изменить нужный параметр. Естественно рабочая сцена хранит всю информацию о произведённых действиях пользователя. В определённый момент, если не контролировать процесс моделирования и своевременно не чистить историю, рабочий файл может разростись до гиганских размеров. Компьютер перестанет справляться с возросшим объёмом информации. В параметрическом моделировании легко уживаются сплайны и полигональные объекты.

Процедурное дерево (SpeedTree)

Процедурная модель здания, выполненная с помощью нодового редактора (Houdini)