Исправление меша: замкнутый, чистый, нормали наружу
Перетащите модель и получите её обратно: дубликаты вершин объединены, вершины без рёбер и рёбра без граней удалены, все дыры заполнены, нормали развёрнуты наружу, а на странице видно, сколько проблем нашлось и сколько осталось. Четыре исправления, на которые чаще всего жалуются слайсеры и импортёры, выполняются в Blender на нашем сервере.
STL — для слайсера, GLB или FBX — для движка. По умолчанию — формат загруженного файла.
Четыре исправления по порядку
Сначала объединяются вершины, стоящие друг к другу ближе десятой доли миллиметра: так модель, экспортированная с разделёнными рёбрами, снова становится одной связной поверхностью. Затем удаляются вершины без рёбер и рёбра без граней — случайные точки, которые оставляет сканер, и вспомогательные линии, о которых забыл моделлер. Третьим шагом каждая открытая граница заполняется одной гранью любого размера, и поверхность замыкается. Наконец, нормали граней пересчитываются наружу, чтобы слайсер не принял деталь за вывернутую.
Отчёт считает вершины, грани, открытые и немногообразные (non-manifold) рёбра и изолированные вершины до и после. Если до исправления таких рёбер много, а после нет ни одного, экспортёр разрезал модель по жёстким рёбрам: для GLB и FBX это обычное дело, и после объединения оно безвредно. Если немногообразные рёбра остались и после, значит, в каком-то ребре сходятся три грани или больше, а заполнение это не исправит.
Чего этот инструмент не умеет
Дыры заполняются плоско
Каждая граница становится одной плоской гранью. Дыра в изогнутой поверхности получает плоскую заплатку, заметную на гладкой модели. Деталь от этого становится пригодной для печати, но недостающая поверхность не вылепливается заново.
С ключами формы не работает
Объединение опирается на базовую форму и сварило бы две вершины, которые ключ формы разводит в стороны. Меш с ключами формы (shape keys) не принимается; UV-развёртка, которая ничего не добавляет и ничего не удаляет, его по-прежнему принимает.
Самопересечения и вывернутые оболочки остаются
Грани, проходящие друг сквозь друга, не трогаются, а оболочка, у которой все нормали смотрят внутрь, разворачивается наружу, только если по её геометрии понятно, где внешняя сторона. Перекрывающиеся части сборки исправляются по отдельности и не объединяются.
Одна задача за раз на общей машине
Задачи выполняются по очереди на одном конвертере. Плотная модель может обрабатываться несколько минут; задача, которой нужно больше пяти минут работы Blender, останавливается с сообщением, а не висит без конца.
Три дня, потом удаляются
Загруженный файл и результат удаляются через три дня после задачи, независимо от того, скачали вы результат или нет. Истории на странице нет: сохраните ссылку на скачивание в закладках или заберите файл, пока он доступен.
Частые вопросы
Результат получается замкнутым?
Он замкнут (без дыр в поверхности) везде, где у меша была открытая граница, а счётчик немногообразных рёбер в отчёте показывает, осталось ли что-то. Рёбра, общие для трёх граней и более, и пересекающиеся грани — это не проблемы границ, и здесь они не исправляются.
Что расстояние объединения значит для моего файла?
Это десятая доля миллиметра в собственных единицах модели с учётом масштаба объекта. Для GLB в метрах это 0.0001 единицы; для STL, смоделированного в миллиметрах, — 0.1 единицы. Детали мельче этого могут слиться.
Почему число вершин так сильно упало?
Экспортёры часто пишут отдельную вершину на каждый угол грани, чтобы у каждой грани были свои нормаль и UV. Объединение сводит их обратно к одной вершине на позицию. Вид не меняется; зато меш теперь связный, а это и нужно для заполнения дыр и нормалей.
Можно исправить VRM или персонажа с ригом?
Модель с ригом без ключей формы — да, веса скиннинга сохраняются. У VRM есть ключи формы для выражений, поэтому он не принимается; его меш лучше оставить таким, каким его построил автор.
Какой формат выбрать для 3D-печати?
STL. В нём только геометрия, а больше слайсер ничего и не читает, и в файле не указаны единицы измерения, так что перед печатью проверьте размер в слайсере.