MOI3D
October 5, 2021

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) Нужны ли дополнительные обрезания для сложных необрезанных поверхностей

Нет :)

На этом всё по топологии что удалось мне узнать.

Буду рад если все это вам понадобится, или хотя бы поднимет настроение.
Рома, за мат, извини.

Давай, я погнал. Брякни, там, маякни, что тебя не убили, дома будешь, пиши, я спать не буду. Все равно еще в телефоне полчаса буду копаться.