Про оптимальную топологию 3d моделей

Комментарии (60)

+1
Anya90
самые основы) жаль, что ведущий путался в терминах, на экране одно, в колонках - другое, а ведь видео не такое длинное, можно было заморочиться и переписать, кмк

отдельное спасибо за кнопку Divide для сплайнов) Сколько лет живу, а не знала, что отрезки можно на равные части делить таким простым способом
+4
albatr0s
точно так же можно и ребра у полигонов на равные части делить при помощи SoulburnScripst
0
Anya90
хм, не могу найти этой кнопки. Или это плагин?
0
albatr0s
это бесплатный набор скриптов
+1
Motocat
А простой коннект чем не нравится?
0
albatr0s
коннект не умеет ребра делить, если нужно разделить только одно ребро на части, при правках дорог и тротуаров это часто требуется
0
albatr0s
спасибо) в 14 эта кнопка совсем незаметна в рибоне и не подписанаhttp://prntscr.com/rvc3gm 
+8
-NiK-
Это потому что у вас риббон горизонтальный, а у меня вертикальный.
0
shinodem
Комментарий удален
0
AlexHappy
Благодарю!
+2
snake
Век живи, век учись. Нам и жизни не хввтит чтобы освоить в совершенстве 3d, но инструменты, нужно знать все. Это наши руки в 3d (образно). По уроку скажу что в ряде случаем иногда не использую turbosmooth, хватает quadchamer если хорошая сетка. Кто кстати переход в game dev, прекрасно начинает понимать в оптимизации модели и архи моделерам тоже надо стремится к этому. Дальний план всегда low. Спасибо за урок.
+1
Twixwell
Спасибо большое за урок. Очень полезно)
+6
kokoasfalt
https://www.youtube.com/watch?v=quHARaejk_E - вот еще нормас, на мой взгляд. "Секреты идеальной топологии полигональных моделей", выступление Александра Миловского на AU в 2013 году. и сами слайды презентации где-то в сети были
+1
MaxMood
thank you!
0
3dsteps
Ну Edge я удалил, а Vertex остаються https://cdn1.savepice.ru/uploads/2020/4/8/522bbc54e3aabc13be1131976325d30e-full.jpg 
+5
Nick_pan
Ctrl+Backspase надо удалять, тогда точки тоже уйдут)
+2
supergex
Спасибо автору за полезный урок, и в особенности начинающим! Раньше, когда мы только начинали изучать моделирование, для нас было табу добавление лишних ребер и в каждом самоучителе били за это по рукам.
+2
dontpiter
Если на боксе оставить только чемфер и не добавлять промежуточные рёбра -при сабдиве поплывёт развёртка. Сетка модели под сабдив должна быть максимально равномерной.

Поэтому смысл в моделинге боксободобных(простых, типа мисок, тарелок стканов) объектов под сабдив весьма туманен. Под сабдив нужно моделить только сложные формы типа лепнины или органики, где плотность сетки и так предполагается высокой.
0
mr.spoilt
В целом - согласен, но я бы еще сказал, что смысл моделить под сабдив есть, если модель простая, но имеет плавные форму, потому что на низкополигональной сетке проще задавать форму, далее можно сгладить, сколапсить и оптимизировать сетку, удалить множество лишних лупов, ну а далее развертка и т.д.
0
dontpiter
Вы сейчас раскрываете изначальный смысл сабдива, каков он есть)) Сабдив - это метод моделирования. Точнее один из методов разбивки модели для дальнейшей работы.( под скульптинг, например) Но здесь описан совсем другой подход. Сабдив используется, как финальный алгоритм построения формы модели. А это неправильно.
0
Terllok
почему сабдив не финальный алгоритм? тачки все под сабдив делают и детализацией управлять можно и весит меньше модель. А развертка почти не страдает, если правильно сетку строить и заранее думать как разворачивать будешь.
0
dontpiter
Потому. Никто в здравом уме не использует модели под сабдивом. Особенно динамические. Сабдив не управляет детализацией. После применеия сабдива вы получаете возможность добавить на модель больше мелких деталей. Потом вся детализация запекается в карты дисплейса и проявляется только во время рендеренга.А работают с лоу- или мид- поли моделью.
+3
mr.spoilt
Неверный подход, Александр Счастье. Вы ориентируетесь на размер полигона, когда выбираете его у стакана и чайника, чтобы убрать "лесенку". А ориентироваться нужно на угол между соседними полигонами, только если этот уго между полигонами будет у моделей одинаковый, только в этом случае с одного и того же расстояния вы будете видеть равные внешне изломы на криволинейных поверхностях. Объяснить почему так или сами поймете?

В максе есть 2 кнопочки, Loop и Ring, если уж Вы решили переводить термины (интсрументы), переводите их правильно. Вы лупы (петли) называете кольцами (rings), что кого-то может запутать. Вы же замахнулись на фундаментальные основы полигонального моделировния, стоило самому себя проверить перед такой публикацией, а если для Вас разницы нет - ну, норм, че.

Я, надеюсь, когда Вы переработаете урок и выложите его заново, там будет сказано, что я Вам это объяснил? )))
Жаль я свой блог удалил, я там это все в 2013 году еще объяснял.

Со сплайном тоже самое. Вы не опнимаете, что создает нелюбимую Вами "лесенку". Это не длина сегмента, а угол между соседними сегментами.
0
AlexHappy
Справедливо. Благодарю. В терминах путаюсь.
+2
AlexHappy
Но вот на счёт угла я не согласен. Посмотрите на пример с цилиндрами. У них у всех в начале одинаковое количество полигонов по периметру, значит угол между полигонами одинаковый, значит так и надо оставить? И всё же при одинаковом угле между полигонами на большем диаметре изломы более заметны. Это же касается и сплайна. Объяснить почему? :)
+1
mr.spoilt
"У них у всех в начале одинаковое количество полигонов по периметру, значит угол между полигонами одинаковый,"
"И всё же при одинаковом угле между полигонами на большем диаметре изломы более заметны."
Вы упорно путаете в этих фразах угол и длину сегмента.
Нет, угол между полигонами разный, потому что радиус разный. https://i.postimg.cc/VL064P98/2020-04-08-20-24-26.png 
+1
-NiK-
Угол не зависит от радиуса при равном количестве ребер. У него было равное, у вас нет. Это же очевидно.
Как и то, что вы придираетесь :)
0
mr.spoilt
Еще раз пересмотрел. Александр утверждает, что ориентироваться нужно на длину ребра и что она должна быть равной, а это уже зависит от радиуса, о чем я и говорил. Ориентироваться нужно на угол между ребрами, а не на длину ребра.
Придрался в предыдущем комменте несправедливо, но только потому что уцепился за идею равной длины ребра.
Если окружности с разными радиусами подгонять под равную длину ребра, получается, что меняется и количество ребер и угол между ними. Поэтому действовать, уравнивая визуальную "лесенку" нужно ориентируясь исключительно на угол между ребрами (при неизменном радиусе количество ребер будет меняться).

Во, нашел. Спасибоhttps://web.archive.org/web/20161106061456/http ://yn3.ru/2013/03/spline-optimization/
+1
AlexHappy
Давайте попробую другими словами объяснить. Мелкий шурупчик с расстояния 1 метр, сделаете Вы его из 8 полигонов или из 128.. выглядеть на рендере он будет одинаково, хотя угол будет разный...Это отчётливо видно даже на превью к уроку. А если не видно разницы, зачем плодить полигоны (или по Вашему - зачем делать одинаковый угол)?
+1
mr.spoilt
Начина с 1:16 до 2:10 Вы рассказываете, что нужно ориентироваться на длину ребра (размер полигона) на всех объектах. А я говорю, что это неправильно, риентироваться нужно на угол между полигонами и на стакане нужно делать сетку плотнее, чтобы из-за его маленького радиуса окружности плавность кривой была равна плавности чайника.
Смотрите скриншот из Вашего же видео.
https://i.postimg.cc/1339bGSS/2020-04-08-22-53-09.png 
+3
AlexHappy
Хорошо, не вижу смысла ещё раз пересказывать одно и то же. Будем делать исходя из своего понимания "правильности".
+3
VladimirClopot
Спасибо большое за урок!
Вообще все что касается топологии для новичков - это действительно важная тема и лекций в интернете малова-то.
Как идея для Вашего канала, если еще будете снимать видео по топологии, сделайте пожалуйста акцент на 3D моделях для 3D стоков в виде разбора готовых моделей, к примеру взять какие-нибудь готовые 3D модели которые имеют статус FREE и объяснить что не так с топологией и показать пример как должно быть.
+2
AlexHappy
Интересная мысль. Хорошо, подумаю.
+1
alexkopylov
Все визуализаторы говорят вам спасибо за урок :)
+2
Quasar
Есть одно хорошее правило заменяющее все эти видео. Полигонов должно быть ровно столько, что бы читалась форма объекта. Для геймдева эта форма божет быть немного ломанной в силу ограничений, но это на данный момент. В архитектурной визуализации требования совсем другие.

Автор перепутал все и вся. Вот просто все смешал в кучу. Изначально его идея основана на принципах геймдева, где объекты в зависимости от их размера в сцене должы иметь соответствующую плотность сетки. Но это не очень правильно применять в визуализации. Если это стакан, то сетка должна быть плотной ровно на столько, что бы не были видны угловатости. почти на любой дистанции. Вот и все.
+2
AlexHappy
"сетка должна быть плотной ровно на столько, что бы не были видны угловатости" - с этим согласен с припиской - с той дистанции, с которой в 95% будут эту модель рендерить.. для остальных 5% можно добавить возможность применять турбосглаживание.
0
3d Vlad
Да в гейм там все картами почти делается, и вообще там тонущих полигонов нельзя допускать, иначе в текстуру место занимать будут, в топологии чтобы она была красивой!
+1
lnnleon
Я думал напишете Полигонов должно быть ровно столько сколько должно быть! и точка)
+1
bildyukevich
Спасибо!
+2
v3rtex
Правильный урок. А то понабрали RTX 2060 и на оптимизацию совсем забили. А потом сцены по десять минут сохраняются
+1
AlexHappy
Да, есть такое.. моделеры-то одну модельку крутят, а визуализаторы сотню-другую..
0
Disah
Комментарий удален
+3
Disah
На параллелепипеде все правильно, а на стакане (5:30) удалили нужные лупы и вот почему:https://yadi.sk/d/PRl-uBxiITnrMw  эта "болезнь" фасок почти во всех моделях встречается. Можно группами сглаживания решить, но они опять же далеко не на всех моделях настроены, а правильно настроить автоматически задав угол не всегда получается, и приходится в ручную, а потом они все равно сбиваются.
Лучше намертво решить вопрос задав "экстра грани" вручную, либо 2-я модификаторами Chamfer (Quad), один с Tension=0, второй Tension=0,5 и Amount меньше первого.
+1
Nick_pan
Я вот сколько уже смотрю как чамфер делают с дополнительными лупами! А чем не устравиет кнопка SmoothChamfersOnly?))) которая сглаживает по группам только чамфер?))
+3
Disah
Получается резкая граница из за "разрыва" нормалей между плоскостью и фаской https://yadi.sk/d/PRl-uBxiITnrMw  Из далека не так заметно, но есть куча других причин.

1) Группы сглаживания часто сбиваются при редактировании модели или просто из за глюков 3дмакса (об этом уже написал). С экстра гранями достаточно одной группы сглаживания на всю модель.

2) Эта проблема не только с фасками, а везде, где 2-е плоскости соединены под углом но одна плоскость должна выглядеть плоско, а не скруглено. В ролике на (5:30) такая ситуация - верхняя плоскость стакана без доп граней будет тоже со скругленными нормалями.

3) Даже со SmoothChamfersOnly часто модели не делают. Приходится постоянно исправлять эту "болезнь" вручную, или бывает быстрее замоделить с нуля получается.

4) Материал Corona round edges и Vray EdgesTex не назначить, если фаски уже есть в модели.

5) Лучше бы вообще не делали фаски в моделях, проще накинуть 2 модификатора, чем вручную ковыряться.

6) Иногда нужно что то поменять в модели. Редактировать без фасок легче в разы.
+1
abdufattoh93
Я использовал ваш метод, почему такие углыhttps://yadi.sk/i/D7AjIJr7LGhw5w  граненными выходят, может сделал что то ни то?
0
Disah
1) Самое простое уменьшить Amount https://yadi.sk/i/ySTgMmjogzP3Sg  Либо поглубже утопить филенку.
2) Чуть посложнее способ - попробовать поменять топологию https://yadi.sk/i/jzXfNMhkgtKDxQ 
3) Может быть на референсе филенка имеет шов между составными частями https://yadi.sk/i/MWJqNxOJ21njiQ  тогда этот вогнутый угол легко исправить
4) Чамфер в 3д максе работает далеко не идеально, в 3 дмакс 2020 вроде бы улучшили, но еще не смотрел.
5) Для достижения идеального результата придется выделять грани, и применять чамферы по отдельности
https://yadi.sk/i/4uOMj1aSybNo9Q 
0
abdufattoh93
Спасибо огромное! Исправил ошибку. В настройках Input Options у меня был включен Min. Angle = 5.00, я его свел на 0,00
0
Disah
Да, так топология на углах будет лучше. Чамфер применится ко всем граням. Такой способ оправдан когда нет скруглений в геометрии. Например на цилиндре уже придется задавать минимальный угол.
Проблема чамфера в3дмаксе - это диагональные и несвязанные грани. (doesn't work well with diagonal and unconnected edges) есть скрипт, который это "лечит"http://www.scriptspot.com/3ds-max/scripts/insetfix-modifier 
Но скрипт мало у кого есть, и в базу нельзя загружать с модификатором от скрипта.
В 2020 максе посмотрел - там добавили к модификатору чамфер настройку Insert, которая добавляет экстраграни, чтобы не делать 2 модификатора. Но на 2020й макс тоже не все перешли.
+2
Disah
Еще одна "Болезнь" моделей со стоков которые сильно ТОРМОЗЯТ во вьюпорте при работе.
Модели состоящие из 100-и и 1000-ч объектов объединенных в группу, или еще хуже, группы с множеством подгрупп. Чаще всего это люстры.
Приходится тратить кучу времени, чтобы объединить объекты с одинаковыми материалами в один.

Я понимаю, что инстансы быстрее рендерятся, но на работу во вьюпорте с моделями состоящих из 1000 инстансов тратится в 10 раз больше времени, а экономия на рендере не ощутимо мала. Материалы переназначить тоже целая эпопея. Нужно объединять обьекты с одинаковыми материалами в один.

Исключение объекты боле, чем со 100 тысячами полигонов, тяжелые объекты тоже тормозят, их нужно разбивать на 2 и более, если их нужно редактировать.

В общем проблемы в ролике не самые страшные. Отжирают время косячные чамферы, и люстры в основном.
+1
Sasha-GHOST
"Приходится тратить кучу времени, чтобы объединить объекты с одинаковыми материалами в один."? А что с attach mult. не так?

Выделил, конвертнул в мэш, разгрупировал все под ноль, выделил один объект, нажад на мультаттач и собрал все в один объект уже с мультисаб матами. На самый сложный объект уходит не больше минуты
0
Sasha-GHOST
Комментарий удален
+1
Disah
"А что с attach mult. не так?" 3дмакс на долго или на мертво задумывается при аттаче большого количества объектов разом. Если нажать Undo (Ctrl+z) после Аттача в 30% случаев Макс выкидывает и закрывается. Приходится только кристалики в люстрах в 20 присестов аттачить по 30-40 объектов сохраняясь (перестраховываясь). Еще нужно отключить турбосмусы на всех объектах, и проводить всю операцию для частей под турбосмус отдельно . Все в дин объект тоже нельзя, больше 100 тысяч полигонов начинает подтормаживать, если зайти в подобъекты.
+1
Sasha-GHOST
Выделил, конвертнул в мэш все смусы норм. Есть скрипт Quick Attach, он все быстро делает даже разгруппировывать не надо:https://www.scriptspot.com/3ds-max/scripts/quick-attach 

Хз какая версия макса, но обычно никогда с этим проблем не было.
0
Disah
Ок про скрипт не знал он малоизвестен. Пишут, что аттачит большое количество объктов (brings together a large number of objects) затем и написали скрипт, .т.к. с этим проблемы. Спасибо проверю. Остается еще отключить турбосмусы тоже скриптом, т.к. вручную долго перебирать, и для объектов под смус делать операцию отдельно. Все равно лишние телодвижения и лишние скрипты.
+1
photo_med
Лучше всегда делать low, а потом уже если надо, добавлять сегменты...
0
Krutishnizer
Спасибо)
0
Spartic
Познавательный урок, благодарю!
0
PaulKorenchuk
Спасибо за урок!