MOI3D VS. TOPOLOGY. Part 2.
При полигоноукладке важно следить за топологией, это касается и CAD.
Мы снова будем говорить о автоматической топологии которая создает moi3d.
Все что я протестировал это базовые примеры.
Хватит базового понимания топологии в редакторах.
Эту статью нужно читать после первой, там база. Дальше будем двигаться по сценарию.
1) Экструды кривых
Базовый экструд
По сути всю топологию такой сюрфейс заимствует от кривой. Что значит все угловые точки (corner point) станут эджами нового сюрфейса.
Это конечно хорошо, но иногда мешает. Такие точки можно удалить с кривой, и проебать угол, но если включить смекалку то можно все исправить.
Ща будет краткий тутор как ГРУБО* удалить угол. Это справедливо к любому углу.
* — Для снобов. Это просто методика, я понимаю что будут слабые отклонения и кривизна, но если делать правильно, то на экспорте можно нарулить ровный полигон. Не нудите)
0) Есть 2 стула, на циановом стуле будем рубить угол.
1) Выделим кривую и начнем добавлять точки.
2) Точки поставим вокруг угла. Это похоже на то как мы добавляем сапорт-эджи, при моделировании лоу-польки под сабди.
3) Удалим нашу угловую точку и увидим что появилась кривизна на кривой (удивительно!) Это плохо. Кривая должна быть прямая (ошалеть!)
4) Добавим еще точек. А вот сколько их добавлять решайте сами, Но от угла надо как минимум по 2 точки. Я иногда ставлю по 3, для уверенности, но кривой станет тяжелее манипулировать.
5) Теперь правим точки. Двигаем их ближе к нашему углу чтобы получить острый угол. Важно сохранять вектор движения, и чтобы не накосячить, нарисуйте гайд-лайны, при условии что угол не прямой, а тупой или острый.
Отмечу тот факт, что серая стрелка показывает что одну из точек, которую я переместил в угол, чтоб красивее и правильно было.
6) Теперь экструдим и видим, что на циановой поверхности нет ребра, а у красной есть. Для наглядности я не стал прям очень острый циановый угол делать.
Теперь врубаем экспорт и смотрим. Циановая поверхность потеряла угол. Потому что мои3д считает это одной поверхностью. Учитывайте это при экспорте.
Можно порезать эджи перед самым экспортом, чтобы вернуть угол, но тогда появится нгон, как вы помните.
Осталось уточнить по деформированному сюрфейсу. Тут справедливы все правила из первой части статьи про смещенные CV поверхности, это полезно повторить.
2) Бленды, филеты, сабдивы
Тут все очень похоже на прошлые методы. По порядку на пикче:
0) Бокс. 6 поверхностей, все нормально
1) Бокс с эжд лупами. 54 поверхности, но при экспорте это будут полигоны которые можно насабдивить.
2) Чамфер. Все прекрасно, 26 поверхностей. Пока все норм.
Это все простые модификации. Теперь идем к филетам.
3) Филет. А тут пожалуй остановимся.
Филет по сути это созданный по алгоритму нетворк, ГРУБО. Говоря про нетворк, я отсылаю читателя в первую часть. Так как там, по сути описан принцип как работает мешинг поверхностей. Но подвох в том что нетворк случай единичный/уникальный, а филеты это процесс автоматический, а значит этих поверхностей бывает много.
Как мы видим, филеты очень жирно отъедают полигонаж. Оно и понятно, это кривизна, ей надо достоверно показать твои нюрбсы.
Что делать? Вспомним про авойд и рассмотрим частный случай:
Есть 2 схемы. На что смотреть на пикче выше:
1) Синий прямоугольник, очень сглаженная поверхность.
2) Шина проводов, условный свип по профилю.
3) Чип на плате, это поверхности с филетами.
На пикче ниже, при 6° все кривые сюрфейсы очень жирные. При 35° все кривые очень лоуполи.
Оба варианта это крайности. Значит применяем авойд.
Теперь первая модель, при параметрах Англ 3° + Авойд 1, не уменьшила полигонаж. Так как Авойд сожрал все полимеры. Авойд 1 — это дохера, надо уменьшать.
А если Авойд добить до 0,05 мы получим странную, но подрезанную геометрию под номером 1. Шина стала сглаженее, но при этом не тяжелая. А филету не достаточно, можно еще Авойд понизить до 0,01.
Будьте аккуратны, авойд жрет полигоны, и превращает бленды и кривые поверхности в кашу, за то очень упрощает модель.
Теперь уточню чуть более нагляднее про бленд и UV.
Стандартный филет правильно формирует UV, и формирует нормальную геометрию, следовательно меш тоже будет верный. Но местами кривизна поверхности бывает не точна.
U — этоЮризонтальГоризонталь, V — значитВендетаВертикаль.
Хотя реально это XY, только для 2D.
Но если совершить всякие манипуляции, чтобы сделать верную кривизну, можно получить странный результат в UV. Выбор, как говорится за вами.
Сабдив это инструмент, который внедрил в мои3д Максим Смирнов
Суть его проста, берем четырехугольные BRep’ы, а потом по всем правилам сабди сглаживаем поверхность, превращая их в Нурбсы.
По факту можно получить самые обыкновенные полигоны при экспорте в мешере в 180°.
Тема сабди очень глубока, тут я не буду рассказывать.
3) Цилиндры, и их поехавшие крыши
Все до этого рассмотренные случаи топологии применимы к цилиндрам, но рассмотрим интересный нюанс. По порядку:
0) Цилиндр обыкновенный. У него есть конечно подвох, но о нем ниже.
1) Филет цилиндра, пока все спокойно.
2) Чамфер цилиндра, все круто.
3) Опа, а чё это там за смещение?
4) Конус. Это просто очень большой чамфер.
Однако, бывают случаи, когда BRep линия при загадочных обстоятельствах смещается.
Что такое BRep? Линии описывающие границы сюрфеса.
Как видно на примере ниже, все линии что выделены слева это и есть BRep.
Справа показано то как мешер мешит геометрию, оставляя брепы на своих местах, даже при высоких углах.
Так вот, где-то что-то дернулось, пробежала мышь, кошка, жизнь, и филет крутануло… Бывает. Всяко бывает. Но что делать?
Нужно иметь в виду то что, по брепу можно увидеть от какой линии будут строиться полигоны, и по возможности следить за тем куда эта линия смотрит, и тем самым на экспорте получится ровный результат.
Как видно на первых двух примерах, что крышка не стыкуется, но по факту она соединится нгонами, и будет беда все это ручками корявить.
Больший угол не меняет картины. Однако, я грешу что просто так совпало, и третий случай частный, но… Если выставить угол кратный повороту крышки (у меня, как оказалось, 6°), то получится установить полигоны стык-в-стык.
4) Как правильно резать кольца и сферы
Есть один подвох который может криво делать сечения у объектов. Сам подвох в том что, зачастую плоскость сечения это либо линия, либо простая плоскость, либо булев другим объектом. В целом это мы уже прошли, обновим в памяти что бывает когда режешь объект нетворком.
А что если я порежу тор рингом? Произойдет именно то что ожидаешь. Сечения кольца четко совпадают с полигонами тора, а значит то что нужно.
А теперь рассмотрим не такой очевидный пример, и порежем арбуз диском.
Получается не то. Сама по плоскость не даст полигонов внутри (без дивайда), она просто рандомно соединит точки на сечении в нгон и ебись с этим сам.
Но что же мы сидим, у нас есть метод который нам поможет!
В мешере установим режим Output = Quads & Triangles.
В этом режиме мешер (а на самом деле любая идеально круглая поверхность) посчитал наш сюрфейс как идеальный диск, и построил треугольники.
В режиме нгонов такой радости не будет.
5) Нужны ли дополнительные обрезания для сложных необрезанных поверхностей
На этом всё по топологии что удалось мне узнать.
Буду рад если все это вам понадобится, или хотя бы поднимет настроение.
Рома, за мат, извини.