Метод моделирование сложного мэша на основе булевых операций, без турбосмус

Всем привет, в этой статье хотелось бы разобрать метод быстрого моделирования хард сурфейс поверхностей, основаного на булевых операциях. Моделинг таким способом поможет вам значительно сократить времязатраты, на построение правильной топологии под сглаживание и получить на выходе качественную лоуполи модель с развёрткой.

Итак, для работы нам понадобится следующий софт: 3d Max (либо любой другой 3д пакет для полигонального моделирования я использую Modo), Zbrush и плагин к нему DynaMesh Master, substance painter (либо любой другой софт для запекания нормали).

Моделируем объект, с помощью булей или любым способом, как вам удобнее, не заботясь о топологии, нам нужно получить лишь нужную форму. Единственное что требуется, если вы используете в модели цилиндрические, либо округлые формы, старайтесь делать их более сглажеными, например тут я использую цилиндры с 40 гранями и довольно плавные скосы на углах.

Далее, нам нужно треангулировать поверхности имеющие более 4 вершин, чтобы при импорте в zbrush не было артефактов.

Теперь нужно сделать развёртку, при этом помним, что разрезы на uv должны быть во всех местах, где мы хотим контролировать сглаживание угла. Вот что у меня получилось.

Экспортируем и сохраняем наш объект в формате obj

Открываем zbrush и импортируем меш кнопкой import в панели Tool, либо используем GoZ. Вот как выглядит объект в zbrush

Теперь нам нужно разбить объект на полигруппы. Заходим в панель Polygroups и жмём Auto Groups Witch UV. Должно получится следующее

Далее переходим в Zplugin, нам потребуется DynaMesh Master, здесь практически ничего не нужно настраивать, за исключением количества желаемых полигонов, у меня стоит 1,5 млн. и слайдера Blur, его ставим на 0. Жмём DynaMesh и наш объект перестраивается и приобретает такой вид

Теперь переходим к сглаживанию острых углов. Для этого заходим в панель Deformation и используя 4 первых ползунка Polysh добиваемся нужной кривизны.

Особое внимание тут следует уделить ползунку Polysh Crisp Edge и переключателю справа от него. Но в принципе тут нет ничего сложного и вы можете разобраться как это работает, довольно быстро, методом проб.

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

На выходе получаем такую сглаженую модель.

Чтобы облегчить меш, теперь можно использовать Decimation Master. Я не использую здесь каких то особых настроек, просто жмём Decimate All и получаем такой результат. Количество точек сократилось с 1,5 млн, до 300 000

На этом работа в Zbrush завершена, экспортируем меш и переходим обратно к заготовке.

Теперь нужно подготовить лоу поли модель, здесь мной были убраны лишние грани на целиндре и скошеных краях, а так же более внимательно осмотрена модель на наличие многоугольников получилось вот так. 262 полигона.

На всякий случай проверьте развёртку и поправьте, если найдёте ошибки, у меня всё было в порядке. Экспортируем эту модель и переходим в substance painter для дальнейшей запечки.

Создаём новый проект и указываем лоу поли модель в качестве меша. размер документа у меня 2048 пикселей.

Переходим во вкладку Texture Set Settings и жмём кнопку Bake Mesh Maps

Здесь все настройки по умолчанию, только выберете размер запекаемой текстуры, у меня 2048, и хай поли меш который мы сохранили из zbrush. 

Жмём Bake Default Mesh Maps и получаем уже готовую модель.

Плюс этого метода заключается в том, что мы получаем низкополигональную модель сразу готовую к текстурированию со всеми необходимыми картами.

При кажущейся сложности такого пайплайна, после нескольких повторений, вы поймёте, насколько это удобно и экономит время, например данная модель у меня заняла около 15 минут. При соблюдении верной топологии, это заняло бы намного больше времени.

Напоследок,покажу вам пример, где человек таким методом моделировал двигатель грузовика.

На этом всё, желаю вам успехов в моделинге и удачных рендеров!

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

+3
StunBreaker
Modo из бокса всё это может делать - Mesh Fusion
0
iolanta989
Да, это лишь пример, форма была взята из головы, однако в начале указано, что этот метод отлично подходит для хард сурфейса, а в нём как раз преобладают прямоугольные и цилиндрические формы, которые я использую. И всё же меш фьюжн даёт другой результат, здесь получается очень лёгкая модель, идеально подходящая для стоков и геймдева.
+4
StunBreaker
"И всё же меш фьюжн даёт другой результат":

В смысле? )
Mesh Fusion (+Strips) это лучший вариант для таких вещей (булевые операции хард сурфейс + фаски)..
Тем более если вы изначально в Modo делали болванку..
Посмотрите хорошенько, что может Mesh Fusion(+Strips) - и все вопросы сами отпадут.. )
0
iolanta989
Тут вопрос пайплайна, смотря что нужно на выходе, здесь мы имеем базовую болванку с развёрткой, которая уже практически готова для запекания, + в збраше есть контроль над мелкими деталями, можно что-то долепить, а после меш фьюжена, получим только геометрию, всё равно требующую в дальнейшем далать лоу польку и развёртку. Не спорю что можно встроить меш фьюжн в пайплайн и возможно будет даже удобнее, но пока я использую такой метод.
+1
StunBreaker
Mesh Fusion это и есть Modo - что его встраивать то?
Я так понял Modo у вас и так уже в "пайпе" раз вы им пользуетесь, вместо макса..
Ладно в общем дело ваше, каждый сам решает для себя что ему ближе )
0
irishman
лучший вариант для двигла как привел автор? ты не знаешь о чем говоришь..
0
booka80
Годный и понятный урок. Сам так делал с модельками из Fusion 360, но кое чего не знал, что тут написано. +5 и в закладки!
+2
MpaKo6ec
Сначала подумал мол: "Чеее, зачем, есть же раунд корнер в шейдере, зачем вот так-то страдать."
Но потом вспомнил, что например в арнольде его нет номрального, и результат он дает одинаковый на всех эджах, а тут по сути получаешь карту нормалей с разынми радиусами, и юзай ее хоть в риалтайме.

А действий судя по всему минимум, если не париться с радиусами (не маскировать) то вообще в 3 клика считай.

Найс, нам точно пригодится!
+7
Yehat
посмотреть бы как раз на моделирование этого движка
+1
Zolty
С moi такая методика на ура. проходит.
0
DoCentttt
Интересно. На первый взгляд вяглыдит, конечно, муторнее чем просто лупов наделать под смусс. Нужно пробовать
+3
Zolty
Интересно сколько по времени займет просто лупы прокидывать на таком двигателе под смусс?
0
Yehat
Булеан в максе сдохнет задолго до этого движка.
0
iolanta989
Да, движок я думаю в каде делался
0
Zolty
булить в той же зебре при динамеше не кошерно?
0
iolanta989
кошерно, но потом придётся ретопить
0
Yehat
Ну тут же соль типа в том, что с 3дмакса всё начинается и в него назад заходит.
0
Zolty
Ну ок, создай все в максе (болванку + вычеты) в зебре забулинь и релаксни грани как описано выше. Все вернули обратно))
+1
Yehat
Не-е-е-е, я знаю, что такое булеан в максе. Я не такой оптимист, чтобы ему доверять.
+5
hmnd
была же статья на поликаунте 2 года назад про этот пайплайнhttps://polycount.com/discussion/168610/proboolean-dynamesh-hardsurface-workflow-tutorial.  Кто интересуется мне кажется сможет ее отыскать, а кто не интересуется, тому и не надо.
+2
vinigor
Как при экспорте-импорте из макса через GoZ добиться правильного масштаба модели?
+1
Zolty
Да интересный вопрос. Я Из-за этого бросил его и обычным obj експорт делаю
+1
Slashtore
Комментарий удален
+3
searsh
кинуть модель в Zbrush при помощи GoZ. затем в закладке экспорт в ZBrush выставить значение scale 100 вместо 1. вернутся в макс и снова нажать GoZ. теперь при прогоне модели через GoZ размеры будут вменяемыми. Значение масштаба можно менять в зависимости от размеров модели.
+1
Zolty
шыкардос, спасибо)
0
vinigor
Не получается толком поэкспериментировать - GoZ срабатывает один раз, после этого работает только экспорт из макса. Обратно ни в какую. Пробовал переименовывать и сабтул, и объект в максе. Снова работает только если закрыть и макс и зебру и тоже только один раз.
+1
Quasar
https://youtu.be/VPWYVWjou7c


Лучшего пока еще не видел. Но он дорогой - по меркам блендера))
0
akkoxe
Интересно, но не понятно, зачем это вообще делать в максе? Нет, разумеется, если нет лопаты, то и ложкой можно окоп выкопать, но в данном случае это немного не рационально. Не проще ли не изобретать велосипеды, а просто решать задачи в том софте, который для этих задач предназначен? Тем более что в конце получилась такая же сетка, которую предлагает тот же солид при правильном экспорте.
0
Quasar
В максе?) Где макс?
0
akkoxe
Цитата: "Итак, для работы нам понадобится следующий софт: 3d Max"
0
Quasar
Ну это урок больше для игровой индустрии, в общем для движков и там важен контроль над сеткой, над кол-вом мешей в модели. В солиде сетку не поправишь.
0
Quasar
Или ты про хайпольку?
0
Al3XXX
Ключевое в уроке - как запечь скругления без лишних усилий.
0
Romaneus
Как один из вариантов, наверное вполне годный способ, но перекидывать модели из одной проги в другую, замахаешься. А если где-то не доглядел - ошибся (если речь идёт о чём-то более комплексном)? Снова экспорт-импорт и всё по-новой))). Я уже не говорю о стоимости этих софтин Поэтому, CAD-моделирование даже для геймдева из моды не выйдет.
Тут уже говорили про альтернативы, скажу и я. Пробовал в Blender моделить под Hard-Surface c использованием плагина Hard-ops, довольно годный результат получается и с нужной кривизной фасок в процессе работы.
Приобрёл себе в коллекцию ещё и такой аддончик, как SpeedFlow. Похож на Hard-ops, но со своей логикой.
Самое главное преимущество: всё в одной программе, никуда не выходя и ничего не экспортируя.
И да, почти задаром. https://postimg.cc/image/ji0cdn9on/ 
0
iolanta989
Спасибо, интересно. По поводу када, на мой взгляд главная проблема там в том, что нужно учитывть особенности запечки, перпендикулярные поверхности плохо запекаются, должен быть скос, т.е. если мы вырезаем цилиндрическое отверствие, оно должно быть в форме усечённого конуса, в каде это геморойно делать, поэтому мне больше нравится с булинами работать в модо, используя заранее заготовленый китбаш и вручную доделывать, что надо.