MOI3D VS. TOPOLOGY. Part 1.
При полигоноукладке важно следить за топологией, это касается и CAD.
Мы будем говорить о автоматической топологии которая создает moi3d.
Я протестировал несколько базовых примеров, и сделал выводы…
Выводы будут чуть понятнее, с базовым пониманием топологии в редакторах.
Начнем с того, что было протестировано много геометрии, и толку нет разбирать все на реальных примерах. Я конечно покажу немного, но главное понять базовый принцип.
0) Мешинг
Сразу закрепим пару понятий которыми я буду тут оперировать:
- Angle/Угол/Энгл — грубо говоря аппроксимация вершины полигона к сплайну. Проще говоря полигонаж от угла 0,1° — хайполи, от 180° — лоуполи
- Divide/Деление/Дивайд — Деление плоских и/или кривых поверхностей на более плотные поверхности
- Avoid/СХЛОПЫВАНИЕ/Авойд — Уменьшение плотности полигонов на условное размерное значение. Чтоб фасочки не были плотнее остальной геометрии…
- Aspect/Нюанс*/Аспект — Дополнительное уплотнение полигонов у длинных объектов
* — Я знаю что не нюанс
Полигон = Сюрфейс. Все о базовых принципах.
0) Сюрфейс
Я не буду объяснять что такое BRep или Nurbs. Но в целом можно… Хотя нет…
Да что там объяснять. Я написал понятия на английском, чтоб можно было копировать и вставить в гугл. Так вот.
Сюрфейс 1×1 это базовый полигон, Если его дивайдить, может уплотнятся полигонами. Потому что кривые которые обрисовывают поверхность, имеют бесконечное количество точек, а значит алгоритм может уплотнять сетку сюрфейса до бессмысленного количества полигонов. Хотя поверхности класса А очень требовательны к полигонажу.
Как и любой квад полигон в OpenGL/DirectX, делится на 2 треугольника. Но у треугольников есть один момент, го на след. пример.
1) Сюрфейс с порезанными эджами
Если нарезать эджи, но не трогать поверхность, то при экспорте в нгоны/треугольники, в местах разреза, превратятся в точки.
Этим можно манипулировать чтоб получить точку в необходимом месте, но только уже после того как закончил модель. Перед экспортом такие порезанные ребра мешают.
2) Порез сюрфеса
Если резануть поверхность, то по факту мы получим +4 ребра, а значит на экспорте будет 4 сюрфейса. А как мы уже знаем:
Базовый полигон, Если его дивайдить, может уплотнятся полигонами.
Следовательно мы получим дополнительные ребра для геометрии которые мы сделали самостоятельно, и мешеру придется вести отсчет отталкиваясь от этих ребер.
Но этим тоже можно иногда пользоваться чтобы нарезать геометрию там где необходимо. Чуть подробнее об этом будет в 5 главе.
3) Твист CV
Сюрфейсы можно усложнять, добавляя точки контроля на поверхность, так называемые CV (Control Vertices/Control Points). Я создал много точек и крутанул их вокруг центра, и визуально поверхность не изменилась, но топология у нее еще как изменилась.
Топология формируется под CV, а значит и при экспорте тоже учитывается.
Еще этим приемом пользуются при сложном Флоу.
4) Кривонарезанная поверхность
Если резать поверхность кривой, то вы получите кашу из треугольников. Чтобы этого избежать можно чуть-чуть нарезать поверхности, чтоб уменьшить количество полигонов
5) Нетворк
Чтобы получить сложные сюрфейсы, можно навертеть сеть из кривых и применить нетворк, Мои3д нагенерит красивую поверхность и при экспорте вполне сделает все красиво.
При энгле до 45 градусов меш нетворка в целом выдает хорошую лоупольку, но выше 45, сюрфейс становится плоским, но мои3д считает что это все еще кривая поверхность и отображает вертексные нормали как говно.
Но все же, это не проблема, если порезать сюрфейс изокривыми, об этом далее…
6) Изокривой разрез
Любой фейс можно выбрать чтобы разделить его изокривой, это помогает поделить поверхность на части, иными словами, нарисовать дополнительные эджи.
Поделим наш нетворк этим методом и получим даже при угле 180°(Максималочка) правильную кривую поверхность.
Стало лучше, по крайней мере остался изгиб. Важно помнить, что лучше всего дополнительно резать эджи и сюрфейсы уже не посредственно перед экспортом. В процессе моделинга это все будет мешать.
7) Поверхностный разрез
Так повелось, если порезать(cut) или забулинить(bool) объект(object) сюрфейсом(surface) то разрез будет иметь форму сюрфейса, а значит нужно быть внимательнее к тому чем вы режете объекты.
А еще значит все правила из пунктов 5 и 6 справедливы для порезанных объектов.
На этом всё для поверхностей. Далее будут следующие приколы:
- Экструды кривых
- Бленды, филеты, сабдивы
- Цилиндры, и их поехавшие крыши
- Как правильно резать кольца и сферы
- Нужны ли дополнительные обрезания для сложных необрезанных поверхностей
Пишите нужно ли вам все это. Есть ли польза от таких статей. Будете ждать вторую часть?