Программа для оптимизации 3д моделей
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Статья относится к принтерам:
Мы, техническая поддержка компании Imprinta, очень много времени уделяем процессу печати. Начиная от подбора оптимальных каких-то коэффициентов для разных пластиков и заканчивая обработкой и генерированием управляющих программ проблемных моделей, которые подкидывают пользователи наших принтеров. Каждый раз мы доказываем, что на наших принтерах Hercules и Hercules Strong можно печатать просто невообразимо сложные объекты.
Но сегодня речь пойдет не конкретно о какой-либо модели принтера и не о процессе печати. Мы хотели бы рассказать о том, как сделать процесс подготовки модели к печати эффективнее.
Все мы знаем, что большое рабочее поле это хорошо. Но что делать, когда мы начинаем пробовать создавать управляющие программы для громадной детали и программа уходит в вечное ожидание на этапе рассечения слоёв или экспорта кода в файл. Были случаи, когда программа готовилась более суток. Чтобы понять что происходит, нужно немного вникнуть в алгоритм процесса, который происходит внутри «Черного ящика» слайсера. Немного, потому что достаточно знать, что самое сложное и затратное дело, в процессе подготовки программы, это рассечение модели по слоям и формирование по этим сечениям траекторий.
Вся сложность в качестве.
В качестве модели.
В качестве печатной детали.
В оптимальности качества.
В желаемом качестве.
Иногда это очень растяжимое понятие… и так далее. Но у нас не минутка философии.
Перейдем к конкретике. Примером из жизни.
В результате 3д-сканирования, неаккуратного, незаконного и неэкономного моделирования, различных преобразований и конвертирования, возникают случаи, когда сетка модели становится пропорционально плотной, с большим количеством лишних полигонов. Это значительно увеличивает «вес» stl-файла. Документ начинает занимать много памяти и увеличивает время формирования кода управляющей программы, приводит к зависанию слайсера и переходу его в низ списка процессов операционной системы. В таких случаях, модель необходимо оптимизировать, т. е. уменьшать плотность сетки без потери качества геометрии и качества деталей.
Программное обеспечение для подготовки управляющей программы – тяжелый, сложный, неудобный, но на наш взгляд жутко эффективный, Slic3r.
Установите и запустите Blender. Для импорта модели зайдите File –> Import –> stl, выберите необходимую модель.
Для оптимизации модели воспользуемся модификатором Decimate. Этот модификатор позволяет уменьшить количество полигонов в сетке модели с минимальными изменениями геометрии.
Переключитесь в режим Object mode (1), в панели Editing (2) выберите вкладку Modifiers (3), добавьте Add Modifier –> Decimate (4)
Ratio. Коэффициент от 0,0 до 1,0. Соотношение детали до и после оптимизации. 0,0 (0%) - все грани удалены. 1,0 (100%) - все грани остались без изменения. По мере того, как коэффициент изменяется от 1 до 0, количество полигонов в сетке уменьшается.
Для того, чтобы оценить уровень детализации, до которого модель будет упрощаться без потери качества (визуально печатная деталь соответствует математической 3D - модели). Если совсем вдаваться в подробности, то необходимо учитывать соотношение физического размера печатаемой модели, диаметра сопла и высоты слоя. Ниже, количественно, показано к чему приводят такие процедуры оптимизации.
Как не надо делать.
Теперь зайдем с другой стороны. Слишком низкий коэффициент уменьшает качество детализации: Ratio 0.05 – 0.03. Для модели небольшого размера (20-30 мм) подойдет Ratio 0.05-0.03, т. к. высота слоя и диаметр сопла физически не позволят напечатать необходимую детализацию, которая сохраняется при более высоких коэффициентах. А мы все помним, что диаметр сопла 0.3мм, а на выходе пластиковая нить еще чуть больше. А это значит что все острые грани будут иметь радиус минимум 0.15мм.
И в финале немного снимков того, к чему могут привести чрезмерные увлечения заветным параметром Ratio.
В общем вы поняли.
Хотения и надежды.
Искренне верим, что этот материал будет вам полезен, вы начнете/продолжите эффективно использовать возможности своего 3D принтера.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Некоторые программы, к примеру, ZBrush, предрасположены к созданию большого количества многоугольников, из-за чего преодолеть рациональный лимит очень просто. К счастью, есть способы, позволяющие быстро и эффективно сократить количество полигонов. Этот процесс также известен под названием «упрощение объекта». Большинство программ для 3D-моделирования обладают этой функцией, но вы также можете воспользоваться не менее эффективной альтернативой – MeshLab. Это приложение доступно для операционных систем — Windows, OSX и Linux.
На рисунке показаны результаты упрощения модели простой игрушечной машины, у которой изначально было 480 000 полигонов. Сократив их до 120 000, мы не заметили особенной разницы в качестве. Но с каждым последующим упрощением объект становился всё грубее и грубее.
Оптимизация 3D модели при помощи MeshLab
Если вы ещё не загрузили и не установили MeshLab, то сделайте это и импортируйте свою модель.
В главном меню выберите следующие вкладки Filters > Remeshing, simplification and construction > Quadratic Edge Collapse Detection. Далее, открыв новую панель с наборов функций нажмите на кнопку «Help», Вы получите дополнительную информацию о каждой из доступных опций.
Доступны следующие параметры настройки:
Target number of faces (заданное количество поверхностей ) установите самостоятельно.
Quality threshold (порог качества) значение от 0 до 1. Заметьте, чем оно выше, тем труднее MeshLab придерживаться исходной формы модели. В документации чётко не указано, какими будут последствия использования высокого значения порога. Вместе с тем, значения 1 вполне достаточно для отличных результатов.
Preserve Boundary of the Mesh (сохранение границ полигональной сетки). Выбираем Yes. Разработчики объясняют это тем, что упрощение объекта не означает разрушение его границ. Этот параметр не влияет на водонепроницаемые полигональные сетки.
Optimal position of simplified vertices ( оптимальное положение вершин ) выбираем Yes.
Комментарий от создателя MeshLab: «Когда деформируется край полигона, оптимальная позиция выбранных вершин позволяет минимизировать предполагаемые ошибки. Если эта опция отключена, то края будут привязываться к одной из двух вершин треугольника. Таким образом, новая полигональная сеть станет сокращённым вариантом исходной. Эта опция установлена по умолчанию.
Planar simplification ( упрощение планарной структуры), также нужно выбрать — Yes.
Пояснение от разработчика: «Вы обеспечите дополнительные ограничения для упрощения, что позволит сохранить текущую форму треугольников. Таким образом, можно значительно улучшить форму треугольников на совершенно плоских участках полигональной сетки. Как и параметр порога качества, эта настройка влияет на соотношение точность/сложность. Эта функция отключена, ведь она полезна только в отдельных ситуациях – когда в модели есть совершенно плоские участки».
Чтобы ваша модель не рябила артефактами и ошибками, выглядела одинаково хорошо на всех платформах и не пожирала ресурсы, необходимо ее оптимизировать. Что такое texel density, mip mapping и padding, зачем нужна триангуляция и как сделать правильный шейдинг. Обо всем этом расскажет Евгений Петров Lead Weapon Artist компании Ulysses Graphics .
Shading
Шейдинг — это подложка под запекание нормалки. Чем лучше он выглядит, тем красивее будет финальная модель и normal map. Слева на скриншоте пример хорошего шейдинга, справа — плохого.
То есть слева low poly модель, максимально похожая на high poly: выглядит красиво, нет никаких артефактов и искажений. Справа видны ошибки в шейдинге, искажения.
Основные инструменты воздействия на шейдинг — это добавление большего количества геометрии. Если этот вариант не подходит, — проставление хардов. Изначально шейдинг модели на гифке ниже недостаточно корректно отображает ее форму. С добавлением edge loops модель шейдится лучше. Ее форма становится понятней.
Это самый лучший, но и самый затратный способ, потому что используется большое количество полигонов. Если у вас ограничения по полигонам, можно использовать харды. Однако в этом случае придется делать разрез на UV.
Поэтому хороший шейдинг — это баланс между софтами и хардами.
Совет всем начинающим: настраивайте шейдинг во время low poly стадии. Таким образом вы прямо по ходу ретопологии сможете понять, где добавить дополнительную геометрию, а где поставить hard edge.
Многие сначала делают ретопологию, разворачивают, запаковывают и только потом настраивают шейдинг по хардам. Это не самый корректный способ. Результат будет более оптимальным, если изначально опираться на шейдинг.
Texel Density
Это количество пикселей на текстуре, которое соответствует физическому размеру объекта. Слева на скриншоте — UV развертка ствола пистолета. Допустим, на текстуре 2К он длинной в 10 пикселей. Справа мы видим сам ствол. Предположим, что его длина 10 сантиметров. Таким образом Texel Density будет 1 пиксель на сантиметр.
Это нужно для того, чтобы абсолютно все объекты на уровне имели одинаковое разрешение текстур. Предположим, на уровне есть две бочки — одна маленькая, другая большая. Если мы применим к ним одинаковую текстуру в 2К, плотность их текстур будет отличаться. Маленькая бочка будет крайне плотная и детализированная, большая будет замыленная. Чтобы избежать этих проблем появился термин Texel Density.
Очень часто бывает, что клиент задает необходимое значение Texel Density, но не задает разрешение текстур. Раньше это создавало трудности. Приходилось колхозить. Сейчас в UV Editor Maya 2018 есть специальный инструмент. Выбираете необходимый UV Shell, нажимаете Get и вам выдает числовое значение, в зависимости от разрешения текстур. Точно так же можно выбрать любой Shell, задать цифру, нажать Set и Texel Density будет такой, как вы задали.
Распределение Texel Density.
Предположим, что желтый цвет — это Texel Density, которого мы должны придерживаться. Чем краснее цвет, тем его значение больше, текстура плотнее, детализация выше. И наоборот, — чем синее, тем значение меньше.
Прием с увеличением значения используется, в основном, в оружии от первого лица. Потому что, заднюю часть пистолета мы видим больше всего, и было бы неплохо сделать ее более детализировано.
С другой стороны, уменьшить детализацию там, куда никто не смотрит — это прием из разряда «must have». Абсолютно независимо от того, какой объект вы делаете.
Для одного из тестовых я делала квадратный генератор. Его днище, которое в принципе никогда никто не увидит, я разювишил точно так же, как и все остальное. То есть оно занимало ¼ моего UV пространства. Это было абсолютно не оптимальное использование текстуры. Для экономии пространства, в невидимых местах, заполненных геометрией, необходимо использовать крайне маленькие шеллы текстур.
Reuse
Повторное использование текстур — еще один не менее важный инструмент. Я использую его даже в работах для портфолио, потому что он тоже экономит много пространства.
Возьмем, например, пистолет. Его рукоять симметричная. Почему бы не использовать одну и ту же текстуру для обеих сторон? Все, что на гифке отмечено красным, используется повторно. То есть на UV пространстве оно занимает одно место, а на модели используется дважды.
Данный прием экономит не только пространство на UV, но и время на текстуринге, потому что текстурить вам нужно только одну сторону. Но есть и небольшой минус. Надписи, логотипы, цифры, текст, будут отображены зеркально. В таких случаях тоже есть уловка: можно использовать символы, которые читаются с двух сторон. Это жертвы, на которые стоит идти, чтобы, убрав лишнюю работу, повысить качество модели.
Ровные UV Shells
Для примера, я запек два кубика с одинаковым Texel Density и текстурой. Но в кубе слева все UV Shells выровнены по горизонтали и вертикали, а справа повернуты под углом.
Ровные шеллы создают хорошую, красивую фаску. Если же шеллы повернуты, мы видим эффект лесенки. Это крайне некрасиво. Особенно на игровых разрешениях текстур. Потому что в играх используется маленькое разрешение, на котором это очень заметно. Поэтому любой прямоугольный шелл нужно выравнивать. Даже если это не идеальная прямоугольная форма на самом объекте, я его специально выравниваю, чтобы на UV он был ровный.
Mip Mapping и Padding
Если игрок отдаляется от какого-то игрового объекта, то модель этого объекта меняется на менее полигональную. Точно так же с текстурами — чем дальше мы отходим, тем меньшая текстура к нему применяется. 4К подменяется на 2К, когда мы отходим еще дальше — на 1К. Этот прием экономит ресурсы вашего компьютера.
Padding — это расстояние между UV Shells. Чем меньше это расстояние, тем сложнее отображать текстуры при Mip Mapping. Потому что при уменьшении текстур, уменьшается и расстояние между шеллами. Padding нужно всегда делать побольше, или хотя бы следить за тем, чтобы он везде был равномерным. Для персональных работ, в принципе, все равно, но если вы делаете проекты для клиентов, на это следует обращать внимание.
Триангуляция
Это очень важный момент. Изначально полигоны прямоугольные — квады. Соединив два вертекса, получается два треугольника.
Любой движок, работающий с геометрией, триангулирует модель, чтобы корректно ее отобразить.
Если оставить квады на ровной поверхности, никаких проблем не будет. Но бывают не идеально ровные полигоны. И вот тут уже, в зависимости от того, как мы соединяем вертексы, меняется форма. В одном случае он вогнутый, в другом выпуклый.
Если запекать в квадах, то бейкер триангулирует модель каким-то своим образом, и на базе этой триангуляции выдает нормалку. Если затем эту модель закинуть в движок, то не факт, что он триангулирует ее также. Из-за несоответствия нормалки с триангуляцией, появятся ошибки и артефакты.
Чтобы быть уверенным, что ваша нормалка будет везде красиво смотреться, триангулируйте меш до запекания.
Градиенты на нормалях
Если вы все правильно сделали, нормалка будет выглядеть как на картинке слева. Она стремиться к однородному цвету, а градиентная информация находится по фаскам. Справа пример плохой нормалки с большим количеством градиентов.
Почему градиенты — это плохо? Текстуры — самая затратная часть любой игры. Когда вы качаете игру на 150 гигов, 100 из них — текстуры. Но все они компрессируются, что ухудшает их качество. Лучше всего компрессия видна в тех местах, где есть градиенты. Поэтому при максимально ровной нормалке ошибок быть не должно. Они, конечно, будут, но значительно меньше, чем с градиентом.
Следуя этим правилам, вы легко повысите качество своих работ, сократив усилия, необходимые для их создания.
Во второй части статьи рассмотрим основные правила хорошего текстурирования, которые помогут оживить вашу модель и сделать ее более интересной.
Подписывайтесь на нас в Facebook , Telegram , Vkontakte , Pinterest , чтобы ничего не пропустить.
Приступая к обзору программного обеспечения для трехмерного моделирования и проектирования, необходимо очертить две глобальные задачи, на решение которых оно нацелено:
- обработка данных 3D-сканирования и моделирования; .
В этой статье мы рассмотрим основные функциональные возможности и преимущества ПО для обработки данных сканирования, представляемых на российском рынке компанией iQB Technologies.
Важно понимать, что сам по себе процесс сканирования – только первый этап работы, это просто сбор «сырой» информации. Чтобы получить конечный результат, мы должны обработать сканы с помощью специализированного ПО.
Задача программного обеспечения этого типа – создание виртуальной трехмерной копии физического объекта для ее последующего использования в системах автоматизированного проектирования, технологической подготовки производства и инженерного анализа (CAD/CAM/CAE).
После того как сканирование выполнено, полученная информация обрабатывается в специализированном ПО. 3D-сканеры представляют данные в виде облака точек, а современные модели – в виде полигональных моделей (точек, которые сшиваются между собой методом триангуляции). С помощью ПО можно устранить ошибки в отсканированной модели, создать набор NURBS-поверхностей, спроектировать полноценные параметрические твердотельные модели, проанализировать возможные изменения и погрешности, провести исследования, сравнительный анализ, а также контроль размеров и качества физического объекта.
Обработка данных сканирования решает следующие задачи:
-
(в том числе в процессе эксплуатации для измерения износа, входной и выходной контроль изделий); (для восстановления и/или оптимизации формы детали, обратный инжиниринг и построение CAD-модели); для их реконструкции или перепланировки;
- проверка изделий на собираемость;
- создание цифровых архивов.
На производстве 3D-сканирование применяется прежде всего для контроля геометрии и реверс-инжиниринга.
Обратное проектирование затрагивает все этапы производства от готового изделия к проекту. Оно позволяет воссоздать объекты или их элементы в случае отсутствия конструкторской документации (в том числе изношенные или устаревшие с целью их модернизации). В полученную 3D-модель вносятся необходимые корректировки, можно изменить масштаб, геометрию и т.д. Реверс-инжиниринг – это далеко не всегда копирование, это прежде всего возможность перенести физический объект или отдельные его элементы в цифровую форму для последующего создания усовершенствованных или принципиально новых продуктов средствами промышленного дизайна. Готовая CAD-модель может быть использована для изготовления изделия как аддитивными, так и традиционными методами.
При контроле качества в серийном производстве 3D-сканер, в сравнении с классическими инструментами измерения, позволяет существенно сэкономить время и трудозатраты, в том числе за счет частичной автоматизации процесса.
В каких отраслях востребовано 3D-сканирование:
-
; промышленность;
- приборостроение;
- ювелирное дело; ; образование;
- архитектура, дизайн, искусство.
Программные продукты Geomagic
Наиболее продвинутые инструменты для обработки данных сканирования – ПО Geomagic от компании 3D Systems: Wrap, Control X, Design X, плагин для SolidWorks, а также комплект ПО для образовательных учреждений.
В программах 3D-сканирования Geomagic реализованы инновационные технологии топологического распознавания форм и их дальнейшего преобразования в твердотельную модель с сохранением истории. Они обеспечивают оперативное проектирование конструкторской документации либо восстановление утраченных чертежей посредством реверс-инжиниринга, а также позволяют выполнять детальный анализ отклонений и износа с возможностью автоматизации выгрузки отчетов. В плане скорости и эффективности это отличные решения для «лечения» и преобразования областей сканирования, а по универсальному набору функций и алгоритмов обработки данных им нет аналогов на рынке.
Geomagic Wrap: удобный инструмент для работы в 3D
Высокопроизводительная программа для обработки области точек и полигональной сетки. Это быстрый и точный инструмент для дизайна, моделирования, «лечения» и оптимизации с сохранением качества текстуры и фактуры. Wrap дает возможность легко преобразовать трехмерные данные в точные 3D-модели, которые можно незамедлительно использовать в различных сферах, передавать в 3D-печать или архивировать. Wrap по удобству работы с трехмерными объектами – своего рода Photoshop в мире 3D.
- наличие сценариев макросов для автоматизации процессов;
- самый простой способ сохранить, преобразовать текстуру и фактуру поверхности, в том числе и в карту текстуры;
- инновационная возможность преобразования скрученных поверхностей в плоские для их измерения, моделирования текстуры и фактуры, создания 2D-эскизов;
- простой и оперативный способ создать из области точек 3D-модель для печати;
- поддержка всех трехмерных цифровых преобразователей, камер и сканеров формата XYZ/ASCII и обработка упорядоченных и неупорядоченных данных поверхностей и объемов.
Geomagic Control X: мощный софт для контроля геометрии
Гибкий программный продукт для выявления и решения проблем в области контроля качества, предлагающий многофункциональные и интуитивно понятные инструменты измерения, управления и анализа.
Непосредственная задача ПО – сравнение данных 3D-сканирования эксплуатационного изделия с эталонной моделью и составление полноценных отчетов в удобном формате. Процесс формирования отчетности может быть автоматизирован, а полученной информацией легко обмениваться со всеми участниками проекта. Control X позволяет значительно повысить показатели предприятия при выполнении проверок качества продукции.
- возможность сравнения полученных сканов как с эталоном, так и с другими данными;
- контроль и анализ полученной информации в сравнении как с эталоном, так и с другими данными;
- настраиваемые выгружаемые отчеты, с возможностью автоматизации контроля;
- поддержка данных, полученных не только с помощью 3D-сканирования, но и другими способами;
- поддержка большого количества форматов, что позволяет контролировать и анализировать данные из различных источников;
- интуитивно понятный интерфейс.
Geomagic Design X: новые возможности работы в САПР
Наиболее комплексное ПО для реверс-инжиниринга, начиная с обработки данных сканирования до создания твердотельной параметризированной модели (CAD).
Design X быстро обрабатывает сканы моделей, позволяя сэкономить средства на реализацию проекта и быстрее вывести продукт на рынок. ПО предлагает обширный выбор передовых инструментов САПР и работы со сканами и будет незаменим в сложных проектах.
В частности, у этой программы 3D-сканирования есть специальный инструмент для предварительной обработки полигональных моделей, ускоряющий дальнейшую работу (удаление шумов, острых граней, самопересечений, микротоннелей и т.п.).
- возможность создания дерева построения САD-детали в наиболее распространенных международных САПР;
- воссоздание истории построения САD-детали в самых передовых САПР;
- быстрое воссоздание моделей по сканам;
- многообразие инструментов и алгоритмов обработки.
Geomagic for SolidWorks: кратчайший путь от физического объекта к рабочей среде CAD
Еще одно программное решение для реверс-инжиниринга с широким набором функций. Это набор программных инструментов, который обеспечивает расширенные возможности по использованию облаков точек и многоугольников в процессе проектирования. Представляет собой плагин, совместимый с популярными моделями 3D-сканеров и поддерживающий импорт стандартных форматов точечных и полигональных файлов.
- скоростная автоматизированная обработка облака точек;
- мощные инструменты выравнивания;
- автоматическая обработка поверхности;
- формирование поперечных сечений сеток;
- 3D-сравнение с анализом отклонений начального уровня;
- контроль отклонений на всех этапах проектирования;
- создание высококачественных твердотельных моделей;
- интеграция с промышленными 3D-сканерами для работы по прямой схеме «сканер – SolidWorks», включая FARO, Hexagon, Nikon, Vialux и Capture от 3D Systems;
- дружественный, интуитивно понятный интерфейс.
Комплект Geomagic для образования
Набор программ 3D-сканирования, предназначенный для учебных заведений, включает в себя:
- плагин для Solidworks;
- Design X;
- Control X;
- техническое обслуживание всего ПО на 3 года;
- обучающие материалы для студентов в формате видеоуроков;
- лицензии на 20 рабочих мест;
- бесплатное обучение для преподавателя. Дистанционный курс в формате видеоуроков от центра обучения iQB Technologies рассчитан на 16 часов для каждого продукта.
Комплект от Geomagic помогает упростить и ускорить цифровое воспроизведение и проектирование, обеспечивая высокую точность результатов. С его помощью учащиеся смогут сократить время создания сложных 3D-моделей реальных объектов и контроля целостности изготовленных деталей.
Учебным заведениям мы предлагаем специальную цену на комплект Geomagic. Стоимость одной образовательной лицензии в 3,5 раза дешевле коммерческой! Запросить цену вы можете в каталоге нашего сайта.
FARO: от построения плана зданий до выявления отклонений
FARO – один из мировых лидеров на рынке 3D-измерений. В частности, компания выпускает наземные лазерные 3D-сканеры для оцифровки крупных объектов и ландшафтов. Для обработки данных сканирования FARO предлагает три программных продукта.
Читайте обзоры и смотрите видео в блоге:
Creaform: простая и быстрая обработка данных сканирования
Компания Creaform поставляет свои устройства в комплекте с полностью интегрированным программным обеспечением VXelements, плюс отдельно можно приобрести модули VXModel и VXInspect.
-
– универсальная платформа, объединяющая все важнейшие элементы и инструменты в рамках удобной для пользователя, простой и оптимизированной рабочей среды. – ПО для реверс-инжиниринга. Преобразует данные 3D-сканирования для использования во всех распространенных программах САПР или 3D-печати. – ПО для контроля качества.
Читайте обзоры и смотрите видео в блоге:
Creafrom выпускает отдельную линейку доступных профессиональных сканеров peel 3d, для которых разработано специальное ПО. Это интуитивно понятная программа 3D-сканирования, позволяющая значительно ускорить и оптимизировать работу с полученными данными. Программный продукт peel 3d имеет все необходимые функции для ручного и автоматического выравнивания системы координат и поддерживает различные форматы экспорта файлов.
Команда экспертов iQB Technologies готова проконсультировать вас по любым вопросам, связанным с темой статьи и с 3D-технологиями в целом. Мы разработаем и внедрим уникальные 3D-решения для вашего предприятия или проекта.
Читайте также: