Как сделать низкополигональную модель

Обновлено: 08.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На сегодняшний момент разработано множество компьютерных программ, позволяющих работать с 3D графикой. Люди разных профессий: дизайнеры, конструкторы, визуализаторы, применяют их в проектировании. Самый первый метод, используемый в конструировании 3D объектов – полигональное моделирование, оно же самое распространённое при проектировании интерьеров, зданий, среды обитания человека.

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

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

Что собой представляет эта технология?

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

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

  • Ребро – представляет собой линию, выступающую за границу грани;
  • Грань (полигон) – плоскость, состоящая из треугольных или четырёхугольных ячеек, образующих сетку. Количество ячеек неограниченное;
  • Вершина – точка, соединяющая рёбра.

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

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

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

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

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

Конструирование происходит в несколько уровней, по стандартной схеме, путём постепенного увеличения полигонов.

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

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

Сплайновое и полигональное моделирование, основные отличия

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

Сплайновое моделирование

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

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

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

Чтобы добиться максимального сходства с прототипом, изделие должно иметь как можно больше полигонов, к примеру: объект, состоящий из 250 полигонов, будет иметь степень детализации в 35 градусов, кода аналогичный образец, но уже с 1500 полигонами, 10 градусов.

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

Методики построения полигональных моделей

В 3D Max полигональное моделирование – применяется при проектировании трёхмерных изображений. Способ позволяет создавать реалистичные модели с высокой степенью детализации, что даёт преимущество перед другими редакторами.

Создать полигональную модель можно разными способами:

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

3D max

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

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

Редактирование полигональных моделей осуществляется в окне одного меню Polygons Edit, с помощью этих окон, можно осуществлять другие команды. Они составляют основу любого 3D редактора. Кроме базовых окон, существуют дополнительные панели, без которых получить качественную модель невозможно, к ним относятся:

  • Инструмент Edit Polygons – предназначен перемещать рёбра, грани или вершины, таким образом, меняется форма изделия.
  • Extrude Face – обеспечивает выдавливание граней или вершин;
  • Split Polygon Tool – разбивает грани, путём создания дополнительных рёбер;

Для достижения удачного процесса моделирования следует помнить основное правило построения:

  • Лишние подобъекты не нужные для создания формы, желательно удалить, так как это замедляет процесс обработки. К примеру, некоторые вершины могут оказаться лишними от них избавляются, переключив режим редактирования, что бы удалить не нужные;
  • Симметричные модели желательно создавать из одной половины, после генерируется зеркальная копия. Далее объекты сливаются в одно целое, получившееся изделие сглаживается.
  • Чтобы добиться гладкой поверхности, используют инструмент (Smooth), однако метод заключается в увеличении числа полигонов, по этому, злоупотреблять этим не желательно. В противном случае на обработку детали уйдёт много времени, что затруднит процесс проектирования.

Приемы моделирования объектов

Конструирование с помощью вершин

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

В качестве наглядного примера, используется куб, затем, активировав F9, не снимая выделения, переходят в режим редактирования вершин. Задействовав инструмент Move Tool, верхние точки перемещаются, так, что бы примитив принял другую форму. При необходимости сохранить симметрию, удобней всего воспользоваться инструментом Scale Tool. Воспользовавшись различными инструментами можно добиться совершенно уникальных результатов, например, при вращении, вершинах приобретут спиралевидную форму.

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

Использование рёбер в проектировании

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

Проектирование моделей с помощью полигонов

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

Дополнительно доступно множество приёмов по преобразованию граней.

Проектирование моделей с помощью полигонов

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

Применение полигонального моделирования

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

Недостатки метода

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

  • Сложность построения объектов требует определённой квалификации от специалиста, наличие знаний по компьютерному моделированию;
  • Объекты с большим количеством полигонов требуют дополнительного времени на обработку;
  • В отличие от сплайнов, полигональные модели нельзя масштабировать без потери качества.

Autodesk Maya
Autodesk Softimage

Применяемые программы

На сегодняшний день, существует множество зd редакторов, трудно найти более популярный, чем Autodesk 3D Max. Программа подходит для создания трёхмерной графики, с её помощью были созданы спецэффекты ко многим фильмам. Сюда же можно добавить не менее известную программу Autodesk Maya, Autodesk Softimage и множество похожих редакторов.

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

5 Лучших генераторов для создания Low Poly изображений.

Image by Денис Марчук from Pixabay

История низкополигональных (англ. low poly) изображений берет свое начало в 40-х годах XX века, на заре зарождения компьютерной анимации. Многие методы, которые сейчас используются для генерации подобных изображений были изобретены в то время.

В 80-х годах, когда начали появляться первые 3Д видео игры, разработчики стали использовать низкополигональные 3Д сетки для проектирования различных объектов и персонажей. К тому моменту подтянулась и киноиндустрия, которая стала эксплуатировать предоставленные ей возможности.

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

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

1. DMesh

5 Лучших генераторов для создания Low Poly изображений. DMesh.

DMesh – это десктоп приложение, разработанное креативным технологом Дофлом Й.Х. Юном (англ. Dofl Y.H. Yun) для создания сложных низкополигональных изображений. Среди конкурентов, приложение выделяется тем, что умеет проводить анализ изображения и на его основе создавать шаблон триангуляции, который графически превращает любое загруженное в него изображение в низкополигональный концепт.

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

Приложение очень простое и подходит для новичков.

Основные возможности:

  • Автогенерация полигонов на основе загруженных изображений
  • Гибкое управление структурой сетки
  • Сохранение в SVG
  • Сохранение в PNG
  • Сохранение в OBJ

2. Генератор Делоне

5 Лучших генераторов для создания Low Poly изображений. Генератор Делоне.

Триангуляция Делоне – это математическая функция, которая позволяет построить треугольники таким образом, что проходящая через угловые точки окружность, не содержит точек других треугольников. Была впервые описана в 1934 году советским математиком Борисом Делоне.

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

Основные возможности:

  • Генерация простых фонов
  • 7 Виртуальных источников света
  • Сохранение в SVG

3. Triangulator

5 Лучших генераторов для создания Low Poly изображений. Triangulator.

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

Сервис предлагает 3 алгоритма обработки изображений: Yape06, Yape и Fast Corners. Вы также можете установить размер сохраняемого на выходе изображения в соответствии со следующими разрешениями: 720p, 1080p и 2160p. Или использовать разрешение базового изображения.

Основные возможности:

  • Автогенерация полигонов на основе загруженных изображений
  • Сохранение в PNG

4. Triangulation

5 Лучших генераторов для создания Low Poly изображений. Triangulation.

Triangulation – это онлайн приложение, которое в своей работе также опирается на алгоритм триангуляции Делоне, но включает в себя некоторые улучшения скорости работы.

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

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

Основные возможности:

  • Автогенерация полигонов на основе загруженных изображений
  • Сохранение в SVG
  • Сохранение в PNG

5. LowPoly Generator

5 Лучших генераторов для создания Low Poly изображений. LowPoly Generator.

LowPoly Generator – это небольшое онлайн приложение для работы с низкополигональными изображениями. Обладает широким функционалом и большим количеством настроек.

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

Основные возможности:

  • Автогенерация полигонов на основе загруженных изображений
  • Сохранение в PNG

Всего доброго. Ваш MrVector 🙂

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

Трендовые темы для микростоковых авторов на: Patreon и VK Donate

Что такое карты нормалей, и как происходит их запекание для низкополигональных моделей.

3D-художник Карлос Лемос опубликовал на сайте 80 LEVEL туториал, в котором подробно рассказал о принципах, на основе которых работают карты нормалей, а также поэтапно описал процесс запекания. А мы выбрали из него ключевую информацию, которая поможет новичкам разобраться в этой теме.

Чтобы понятнее объяснить принципы работы карт нормалей, Лемос обратился к истории 3D-моделирования. Первые 3D-модели выглядели примерно так.

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

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

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

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

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

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

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

Благодаря этому поверхность воспринимается гладкой — результат можно сравнить с моделью, состоящей из огромного количества полигонов. Именно по этому принципу работают группы сглаживания в 3ds Max, Blender и устанавливается рёбра как hard или smooth в Modo, Maya.

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

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

Каждая вершина может иметь одну или несколько связанных нормалей. Если у неё есть одна нормаль, то она называется усреднённой нормалью вершины (averaged vertex normal), а если несколько, то разделённой (split vertex normal).

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

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

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

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

Чтобы объяснить принцип запекания карты нормалей, начнём с примера.

А это высокополигональная модель, на основе которой нужно сделать карту нормалей для предыдущей плоскости

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

Обратите внимание на третий этап — программа для запекания смотрит на то, в каком направлении находятся нормали хайполи-модели. На следующем шаге она придаёт такое же направление нормалям на лоуполи-модели

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

Красный канал показывает, как модель должна выглядеть при освещении справа, зелёный — сверху или снизу, а синий — спереди

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

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

Читайте также: