NodeIcon Wrapping

Нежестко подгоняет одну геометрию к другой. Например, базовая сетка оборачивается вокруг конкретного 3D-скана. Позволяет управлять процессом подгонки, предоставляя определяемые пользователем соответствия точек. Также позволяет исключить определенные полигоны из процесса подгонки.

Обертывание — очень эффективный подход при работе с большим набором похожих объектов, например, сканированием человека, чтобы все они могли быть описаны с помощью одной и той же топологии.

Ограничения базовой сетки

Manifold-топология

Топология базовой сетки должна быть :ref:`манифолдной<NonManifold> `.

Если базовая сетка имеет неманифолдной <NonManifold> ` топологию, используйте ноды :ref:`RepairGeom, чтобы преобразовать ее в манифолдную.

Связанность

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

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

Если изменение порядка вершин приемлемо, используйте ноды SelectPolygons или SelectSmallComponents для выбора частей и DeletePolygons для их удаления.

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

Предварительное выравнивание

Базовая сетка должна быть примерно предварительно выровнена по целевой геометрии.

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

Совет

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

Как работвет Wrapping

Wrapping использует подход «от большого к малому». Базовая сетка деформируется набором управляющих узлов (отображаемых в виде белых точек во время процесса враппинга). Процесс разделен на несколько этапов. На каждом шаге на базовой сетке генерируется набор управляющих узлов с определенной плотностью, которая увеличивается с каждым новым шагом. Алгоритм пытается найти такое положение управляющих узлов, чтобы базовая сетка как можно ближе соответствовала целевой геометрии. Когда решение найдено, переходим к следующему шагу. Он выбирает базовую сетку с большим количеством контрольных узлов и снова повторяет подгонку. Чем больше количество узлов управления на текущем этапе, тем точнее результат.


Редактор

У ноды Wrapping есть редактор, который показывает плавающую геометрию, фиксированную геометрию, точки и свободные полигоны при подключении вводов.

Входы

изменяемая геометрия

Geometry Геометрия, которую нужно деформировать (базовая модель)

закреплённая геометрия

Geometry Целевая геометрия, к которой выполняется подгонка

соответствия точек

PointCorrespondences (опционально) Набор соответствующих точек между изменяемой и закреплённой геометриями

свободные полигоны

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

Выход

Geometry Заврапленная геометрия

Параметры

Автовычисление:

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

Вычислить:

если Автовычисление отключено, начинается процесс враппинга в окне предварительного просмотра

Вкладка «Параметры»

подразделения:

количество шагов подгонки

Итерации АБТ:

количество подэтапов выравнивания внутри каждого этапа подгонки

итерации оптимизации:

максимальное количество подэтапов оптимизации внутри каждого шага подгонки

начальная выборка:

плотность узлов управления на первом этапе подгонки

конечная выборка:

плотность контрольных узлов на последнем этапе подгонки

Вкладка «Дополнительные параметры»

начальная гладкость:

жесткость сетки на первом этапе подгонки

окончательная гладкость:

жесткость сетки на последнем этапе подгонки

вес контрольных точек:

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

максимальное количество итераций оптимизации:

максимальное количество итераций оптимизации

порог нормалей:

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

начальное Dp:

дельта оптимизации на первом этапе подгонки

финальное Dp:

дельта оптимизации на последнем этапе подгонки

Примечание

Для точного враппинга чистых сканов с минимальным шумом

  1. Уменьшите параметры конечная выборка и конечная плавность.

  2. Увеличение итераций ICP и итераций оптимизации

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

  1. Увеличьте параметры конечная выборка и конечная плавность.