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


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


Текстовая расшифровка видео

Всем привет. Это базовый урок о том, как использовать Instant Meshes, бесплатную программу с открытым исходным кодом, которая позволяет выполнять ретопологию и уменьшать количество полигонов 3D-моделей. Одна из самых интересных возможностей программы — вручную задавать направления топологии, чтобы управлять созданием low-poly сетки.

Чтобы показать практический пример, я буду использовать 3D-модель, полученную методом фотограмметрии. Я реконструировал эту модель в Meshroom, используя тот же рабочий процесс, который объяснял в своей базовой серии по Turntable фотограмметрии. В результате модель имеет большое количество вершин и некачественную топологию.

Instant Meshes можно скачать либо в виде исходного кода для компиляции, либо в виде готового исполняемого файла по ссылке в описании. Это автономная программа, которая принимает модели в формате OBJ или PLY.

Я немного очистил модель, полученную с помощью фотограмметрии. Теперь экспортирую её в формате OBJ, чтобы импортировать в Instant Meshes.

После запуска Instant Meshes нажмите кнопку Open Mesh, чтобы импортировать 3D-модель в формате OBJ. Вращать 3D-вид можно левой кнопкой мыши. Масштабирование выполняется колесом мыши. Перемещение вида осуществляется правой кнопкой мыши.

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

Параметр Target Vertex Count имеет немного вводящее в заблуждение название, потому что он не обозначает точное количество вершин в итоговой сетке. На самом деле это ориентировочный параметр плотности создаваемой сетки. Он служит целевым ориентиром для алгоритма, но не является строгим ограничением или гарантированным результатом. Instant Meshes предлагает значение, которое не рекомендуется превышать, поскольку исходная сетка может не иметь достаточного разрешения. Нас в первую очередь интересует ретопология с хорошим упрощением, поэтому значение, предложенное Instant Meshes, можно даже уменьшить. Программа не подходит, если требуется точное количество полигонов, но геометрию всегда можно дополнительно упростить позже в Blender или другой программе.

Теперь можно нажать первую кнопку Solve в разделе Orientation Field, чтобы Instant Meshes вычислил начальные направления топологии. После нажатия Solve на объекте появятся первоначальные линии направлений. В некоторых случаях они будут работать хорошо, например на ногах или других вытянутых частях, но в других местах их потребуется скорректировать для получения более подходящей топологии.

Чтобы просмотреть и изменить начальную топологию, в разделе Orientation Field доступны три инструмента для корректировки направления в определённых областях. В этом же разделе есть поле Singularities, где Instant Meshes показывает количество критических точек, в которых направление резко меняется. Такие сингулярности часто приводят к появлению вершин с тремя, пятью или большим количеством соединённых рёбер.

Используем первый инструмент под названием Comb, который позволяет задавать собственные направления, проводя линии по геометрии с зажатой левой кнопкой мыши. Чтобы повернуть вид, нужно временно отключить инструмент Comb, а затем снова активировать его. Линии можно удалить, нажав значок X рядом с каждой новой линией. Обратите внимание, как каждый штрих влияет на количество Singularities, иногда улучшая, а иногда ухудшая результат.

Чтобы отобразить Singularities Orientation Field, можно включить их отображение в вкладке Advanced, которую мы кратко рассматривали ранее. Здесь также можно изменить размер значков этих сингулярностей. Ещё один способ визуализации — активировать кнопку Attractor с иконкой магнита. В любом случае можно попробовать заново задать линии направления с помощью инструмента Comb. Поток пересчитывается автоматически, поэтому повторное нажатие Solve не должно приводить к заметным изменениям. Имейте в виду, что некоторые сингулярности практически невозможно устранить, например на лицах или, в случае маленького волка на этой статуе, в области ушей. Например, я попытался задать новый поток топологии, чтобы исправить проблему, но в итоге добавил две новые сингулярности.

Orientation Field — это первый из двух этапов. Второй этап — Position Field, где мы работаем с областями, в которых четырёхугольная топология имеет разрывы в распределении вершин. Нажмём кнопку Solve в разделе Position Field, чтобы перейти к этому этапу. Теперь видны линии новой топологии, созданные на основе направлений из Orientation Field. Однако и здесь заметны проблемные области. Их также называют Singularities.

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

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

Когда редактирование завершено, остаётся только экспортировать результат. Нажав Export Mesh, можно задать параметры выходной геометрии, например Pure Quad Mesh для создания сетки, состоящей только из четырёхугольных граней, а также при необходимости применить несколько итераций сглаживания. Затем нужно нажать Extract Mesh, чтобы Instant Meshes сгенерировал финальную геометрию для экспорта, и её можно будет предварительно просмотреть в 3D-виде. После этого нажмите Save, чтобы указать имя и расположение OBJ-файла. Обязательно вручную добавьте расширение OBJ, иначе Instant Meshes не сохранит файл.

Теперь можно импортировать OBJ-файл в Blender и сравнить его с исходной high-poly версией. Сразу станет заметно, что количество вершин значительно выше значения, указанного в поле Target Vertex Count в Instant Meshes. Как я уже говорил, этот параметр является скорее ориентиром плотности, чем точной целью. Однако топология стала значительно чище по сравнению с исходной моделью и позволяет проще упрощать или модифицировать объект. Внешний вид выглядит очень гранёным, потому что все рёбра помечены как Sharp Edges, а также потому, что у меня включена опция Cavity. Чтобы получить более сглаженный вид, я удаляю Sharp Edges через меню Edges в Edit Mode и отключаю опцию Cavity. Совпадение с high-poly моделью хорошее, что позволит без труда запечь Base Color и Normal Map с high-poly версии, но это уже тема для другого урока.

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


РАСШИРЕННАЯ ИНФОРМАЦИЯ О ПОЛИТИКЕ КОНФИДЕНЦИАЛЬНОСТИ И ИСПОЛЬЗОВАНИИ ФАЙЛОВ COOKIE