Wrapping
Нежестко подгоняет одну геометрию к другой. Например, базовая сетка оборачивается вокруг конкретного 3D-скана. Позволяет управлять процессом подгонки, предоставляя определяемые пользователем соответствия точек. Также позволяет исключить определенные полигоны из процесса подгонки.
Обертывание — очень эффективный подход при работе с большим набором похожих объектов, например, сканированием человека, чтобы все они могли быть описаны с помощью одной и той же топологии.
Ограничения базовой сетки
- Manifold-топология
Топология базовой сетки должна быть :ref:`манифолдной<NonManifold> `.
Если базовая сетка имеет неманифолдной <NonManifold> ` топологию, используйте ноды :ref:`RepairGeom, чтобы преобразовать ее в манифолдную.
- Связанность
Все полигоны должны быть связаны между собой, никакие несвязанные части вроде глазных яблок, зубов не допускаются.
Если базовая сетка содержит несколько несвязанных частей, у вас есть несколько вариантов.
Если изменение порядка вершин приемлемо, используйте ноды SelectPolygons или SelectSmallComponents для выбора частей и DeletePolygons для их удаления.
Если порядок вершин должен быть сохранен, вы можете обернуть модель без этих несвязных частей, а затем применить деформацию к исходной модели, используя ноду Lattice.
- Предварительное выравнивание
Базовая сетка должна быть примерно предварительно выровнена по целевой геометрии.
Если модели не выровнены, вы можете использовать ноду RigidAlignment, чтобы выровнять их путем переноса, ориентации и масштабирования.
Совет
Если базовая сетка головы содержит ротовое и/или глазные отверстия, выберите соответствующие полигоны и передайте их в качестве четвертого входа узла переноса. Это исключит их из процесса подгонки.
Как работвет Wrapping
Wrapping использует подход «от большого к малому». Базовая сетка деформируется набором управляющих узлов (отображаемых в виде белых точек во время процесса враппинга). Процесс разделен на несколько этапов. На каждом шаге на базовой сетке генерируется набор управляющих узлов с определенной плотностью, которая увеличивается с каждым новым шагом. Алгоритм пытается найти такое положение управляющих узлов, чтобы базовая сетка как можно ближе соответствовала целевой геометрии. Когда решение найдено, переходим к следующему шагу. Он выбирает базовую сетку с большим количеством контрольных узлов и снова повторяет подгонку. Чем больше количество узлов управления на текущем этапе, тем точнее результат.
Редактор
У ноды Wrapping есть редактор, который показывает плавающую геометрию, фиксированную геометрию, точки и свободные полигоны при подключении вводов.
Входы
- изменяемая геометрия
Geometry
Геометрия, которую нужно деформировать (базовая модель)- закреплённая геометрия
Geometry
Целевая геометрия, к которой выполняется подгонка- соответствия точек
PointCorrespondences
(опционально) Набор соответствующих точек между изменяемой и закреплённой геометриями- свободные полигоны
PolygonSelection
(опционально) Набор полигонов, которые будут исключены из процесса враппинга, т. е. они не будут пытаться соответствовать фиксированной геометрии, а будут деформироваться настолько жестко, насколько это возможно, чтобы соответствовать остальным полигонам.
Выход
Geometry
Заврапленная геометрия
Параметры
- Автовычисление:
если установлено, нода будет пересчитываться каждый раз, когда изменяются некоторые параметры или входные данные.
- Вычислить:
если Автовычисление отключено, начинается процесс враппинга в окне предварительного просмотра
Вкладка «Параметры»
- подразделения:
количество шагов подгонки
- Итерации АБТ:
количество подэтапов выравнивания внутри каждого этапа подгонки
- итерации оптимизации:
максимальное количество подэтапов оптимизации внутри каждого шага подгонки
- начальная выборка:
плотность узлов управления на первом этапе подгонки
- конечная выборка:
плотность контрольных узлов на последнем этапе подгонки
Вкладка «Дополнительные параметры»
- начальная гладкость:
жесткость сетки на первом этапе подгонки
- окончательная гладкость:
жесткость сетки на последнем этапе подгонки
- вес контрольных точек:
количество силы, применяемой для сшивания определенных пользователем точек cоответствия друг с другом
- максимальное количество итераций оптимизации:
максимальное количество итераций оптимизации
- порог нормалей:
не пытаться подогнать плавающие и фиксированные вершины, если угол между их нормалями больше определенного значения в радианах
- начальное Dp:
дельта оптимизации на первом этапе подгонки
- финальное Dp:
дельта оптимизации на последнем этапе подгонки
Примечание
Для точного враппинга чистых сканов с минимальным шумом
Уменьшите параметры конечная выборка и конечная плавность.
Увеличение итераций ICP и итераций оптимизации
Для надежного враппинга зашумленных сканов с большим количеством артефактов.
Увеличьте параметры конечная выборка и конечная плавность.