Создание механического ленивца в Blender и Substance 3D Painter
Олег Сенах вернулся, чтобы рассказать нам о проекте Mechanical Sloth и поделиться интересным рабочим процессом, который полностью исключает этапы высокополигонального моделирования и ретопологии.


Введение
Здравствуйте, друзья! Прошло немало времени с тех пор, как я в последний раз участвовал в интервью, в основном из-за трудностей переезда в другой город и подготовки к первому году учёбы в университете. Но теперь я готов поделиться информацией о гибридном пайплайне, который я придумал!
Я Олег Сенах, фрилансер-3D-художник из России. Я начал заниматься 3D-моделированием ещё в школе и занимаюсь этим уже 4 года.
Каждое лето я выбираю действительно сложную концепцию для воссоздания и делаю всё возможное, чтобы создать достойный образец для портфолио. На этот раз это был потрясающий концепт-арт Лонгкуэ Чена с ArtStation. Думаю, что любой, кто интересуется компьютерной графикой, мог видеть его в какой-то момент, и в течение года репосты этой концепции продолжали появляться в моей ленте. Казалось, что она просто создана для того, чтобы воплотить её в трёхмерной среде. И я начал думать о том, как подойти к такому объекту, используя свои текущие навыки.

Проект «Меха-Ленивец»
Вкратце: у меня была только модель low poly/mid poly без фасок, но с достаточно плотной геометрией, чтобы цилиндры и другие изогнутые объекты не выглядели слишком угловатыми. Затем я запек карту нормалей на основе фильтра в Blender, создав фаски и булевы объединения. На основе этой карты нормалей я получил карты мира нормалей и кривизны. Карта Ambient Occlusion была запечена из низкополигональной сетки, поэтому края выглядели резкими. Но это было легко исправить, размазав карту нормалей в Substance 3D Painter. Используя все эти карты, я мог работать над текстурами, как если бы это была высокополигональная модель для запекания в low poly.
А теперь подробности!
Как я уже сказал, я не использовал в этой модели запекание сетки. Это принесло некоторые трудности: затенение поверхности должно было быть хотя бы в какой-то степени приличным, так как возможности легко исправить это не будет. В большинстве случаев это было простое низкополигональное моделирование и элементы кривых, но есть несколько советов для сложных частей:
- Булевы операции + передача данных. В некоторых случаях булевы операции действительно портят затенение, но с переносом нормалей с исходных сеток это довольно простое исправление. Сочетание слегка изогнутой поверхности с прямым срезом выглядит приятно для глаз, и вы можете увидеть простой подход к такой форме здесь.


- SubDiv + булевы операции. С помощью куба SubDiv с парой Loopcuts и одной итерацией булевых операций действительно легко создать несколько интересных форм. Вот пример.

Для кабелей на боковой стороне сборки двигателя я использовал надстройку Cablerator, чтобы легко добавить кабельные заглушки и экземпляры, чтобы добавить немного ворса к строгим и простым формам.
Я построил робота от тела до конечностей, добавляя и развивая простой риг по ходу дела. Этот дизайн не выглядит очень практичным и имеет ограниченную свободу движений, но мне нужны были хотя бы некоторые возможности позирования для основных и дополнительных снимков.
При моделировании я старался разделять части сетки, помня о запекании карты нормалей. Геометрия в одном объекте будет «слита» вместе при запекании, поэтому все движущиеся суставы и поршни должны были быть разделены.
Развёртка UV была выполнена в Blender с помощью надстроек UV Packmaster и UV squares. UV были упакованы в несколько UDIM для поддержания достаточно хорошей плотности текселей для объектов второго плана/фоновых объектов.

Запекание
Итак, на этом этапе у меня получилась готовая (в некоторой степени) низкополигональная модель. Добавление фасок и плавных булевых объединений — это приятная функция надстройки TexTools baker. Но если бы эти детали были одинакового размера по всей модели, она могла бы получиться скучной. Чтобы решить эту проблему, я запек 3 варианта карты нормалей — с относительными размерами фасок 0,01, 0,02 и 0,03.

Затем все карты были импортированы в Substance 3D Painter и смешаны с масками в качестве заполняющих слоёв. Так выглядит поверхность с гладким металлическим матикапом.

В то же время я обработал карту AO на основе low poly с помощью фильтра Blur, который получился на удивление хорошо, с очень небольшим количеством артефактов. Все мы знаем, как работает размытие в Substance. Примечание: AO был запечен в двустороннем режиме, чтобы размытие не выявляло пустые белые области за гранями сетки.

Перед работой над текстурами я запек дополнительные карты, которые не требуют высокополигонального запекания, такие как кривизна, мировые нормали и позиция.
Текстурирование
Процесс текстурирования был тем, который я постоянно пересматривал до финальных рендеров, добавляя мелкие детали, перерабатывая грязь и настраивая шероховатость для окрашенных частей.
Вот несколько советов о том, как я текстурировал крупный промышленный объект:
- Все следы износа и царапины многослойные: сначала проявляется грунтовка, а затем — необработанный металл. Используя фильтр Rust MatFX в Painter, я за несколько кликов назначил металлические части источником ржавчины.
- Грязь также состоит из двух компонентов — скоплений полостей и грязных разводов с пятнами от воды.
- Комки мха добавляются с помощью маски ориентации нормалей мира, умноженной на маску полости.
- Детали поверхности, такие как углубления, швы панелей, розетки, вентиляционные отверстия и всё остальное, создаются с помощью альфа-карт с ArtStation Marketplace. Эти детали перекрываются невидимым слоем заливки высоты сверху с режимом наложения «прозрачный», а с помощью привязки на этом слое поддельные детали жёсткой поверхности также влияют на генераторы эффектов царапин и грязи.
- Наклейки, такие как предупреждающие знаки, надписи, узоры, взяты из огромного атласа наклеек с того же маркетплейса.
- Лёгкое выгорание пыли добавляется с помощью World Normals, в основном влияющих на шероховатость.
- Внутренняя часть кабины собрана из альфа-высот и штампов, что создаёт некоторый «шум», чтобы разбить плоские поверхности внутри. Я не стал вдаваться в сложный процесс ручного моделирования всего, что находится за стеклом, потому что рендеры интерьера или крупных планов не планировались.
Когда основные материалы были более или менее определены, я начал работать над основной сценой рендеринга. Я хотел следовать идее концептуального кадра, но немного изменить её в пользу лучшей презентации модели. Для растительности я использовал библиотеку Megascans, а также надстройки Graswald и Botaniq. Graswald, безусловно, пригодился благодаря своим функциям рассеивания для множественных систем частиц, что позволило плавно смешать мох, маленькие листья и маленькие кусты на большой ветке.
Достаточно оснащённую модель было очень легко расположить на ветке именно так, как я хотел.
Освещение и рендеринг
Освещение сделано с помощью двух карт HDRI, смешанных вместе, и солнечной лампы. Карты HDRI были смешаны для создания эффекта тумана или водопада под роботом, потому что моя первоначальная идея заключалась в том, что он висит над долиной вдали от земли. Итак, нижняя часть карты окружения — это своего рода HDRI над облаками, а верхняя часть — лесная. Также я разместил несколько веток перед солнцем, чтобы отбрасывать тени на робота.
Чтобы сделать снимок более живым, я взял несколько сканов и случайных 3D-моделей из своей библиотеки и разместил их по всей сцене. Летающие и сидящие птицы. Операторы роботов отдыхают. Моя старая модель бумбокса увидела своё применение в качестве фонового реквизита после нескольких лет пребывания на жёстком диске. Мне нравится думать, что он этому рад. И держу пари, что большинство зрителей не заметили Calibri возле верхней части ветки.
Фон настроен с помощью панорамы джунглей и некоторых изображений баобабов. Между слоями я вставил почти невидимые синие заливки, чтобы имитировать небесную дымку. В таких рендерах большое значение имеет постобработка, просто взгляните, какое влияние она оказывает на настроение сцены:
Чтобы легко настроить такие эффекты, как тени, отражения, непрямой свет, я использовал отдельные проходы рендеринга, такие как Raw Composite, AO, Diffuse Indirect, Glossy Direct, Glossy Indirect.
Короче говоря, я увеличил все проходы, чтобы повысить контрастность. Это особенно заметно на прямых отражениях. Косвенные проходы использовались в качестве освещающих слоёв с масками, чтобы затемнить очень тёмные участки на роботе, такие как вентиляционные отверстия, путаница кабелей и тому подобное. Вся работа в постобработке была выполнена в Adobe Photoshop, вот так выглядит стек слоёв:
Как я уже говорил в начале, я также хотел придумать способ продемонстрировать всю модель. Хорошим способом было бы снять серию кадров в огромном ангаре. Я нашёл фото ангара среднего разрешения с идеальной отражающей поверхностью пола и увеличил его. С помощью fSpy я создал настройку камеры для Blender с правильной перспективой и параметрами камеры.
Совмещение 3D-модели и фотографии, особенно с блестящим полом, — довольно забавная задача. Чтобы добиться более или менее правдоподобного вида, я использовал несколько слоёв рендеринга в Blender:
- Слой объекта — объекты видны напрямую, плоскость пола видна косвенно, приёмник тени отключён. Используются проходы Raw Composite и постобработки.
- Слой отражения — объекты видны косвенно, плоскость отражения видна напрямую, приёмник тени отключён. Использовался только проход Glossy Indirect.
- Слой тени — объекты и плоскость отражения видны косвенно, приёмник тени виден напрямую с прозрачностью.
Вот настройка слоёв для всех снимков:

С минимальной очисткой и шумоподавлением эти кадры получились именно такими, какими я хотел:

После раздумий я решил дополнить работу постером. Идея ретрофутуристического потрёпанного индустриального постера пришла ко мне, когда я просматривал Pinterest в поисках вдохновения. В целом, весь постер — это сочетание нескольких альфа-слоёв, наложения в стиле гранж и наложения с эффектом сложенной бумаги. Но есть одна хитрость — чертежи «чертёжного» типа с разных ракурсов. На самом деле это очень просто сделать с помощью модификатора Grease Pencil в Blender 2.93, который называется Line Art. Я отметил все края, чтобы они отображались в виде линий Grease Pencil, и включил только их в генераторе линий. Затем я визуализировал слой Grease Pencil только с прозрачным фоном и добавил его на постер. Вот настройки для модификатора Line Art:

Заключение
Вот и всё, ребята. Но перед тем как уйти, я хотел бы поделиться несколькими советами для тех, кто готовится выполнить большой проект, подобный этому. Прежде всего, вы должны знать, что именно от вас требуется от начала до конца. Я думал о плагинах, которые буду использовать, о конвейере, кадрах и техниках для этого проекта в течение недели, прежде чем даже создать папку проекта. Второй совет — всё организовать. Назовите папки, итерации файлов проекта, объекты и коллекции, запечённые изображения, экспорт и описания сцен. Эти проекты могут растянуться на недели и даже месяцы, и не ожидайте, что ваш и без того перегруженный мозг вспомнит «где я сохранил этот экспорт одной детали с самого начала, чтобы использовать его как китбаш».

Кроме того, я настоятельно рекомендую искать вдохновение в любой смежной области, например, я использовал научно-фантастические и промышленные ссылки и в то же время завершал поиск внешнего вида для всех кадров. И помните — планирование важнее любых имеющихся знаний. С хорошим подробным планом вы сможете тщательно изучать новое на ходу. Без него есть шанс попасть в ловушку прокрастинации, потеряв track того, что вы уже сделали, и того, что вас ждёт в будущем.

Что касается использованного мной рабочего процесса: я думаю, его главное преимущество — соотношение модели и времени, поскольку процессы высокополигонального моделирования и ретопологии полностью пропущены. Его можно адаптировать как под требования геймдева и инди-кино, так и использовать в качестве этапа прототипирования для модели более высокого качества. Я хотел бы узнать, есть ли у вас другие идеи о том, как применить этот конвейер в реальных случаях.
Это интервью было отличной возможностью поделиться моими последними исследованиями конвейера на 80 Level, большое спасибо сотрудникам сайта и особенно Арти Сергееву за интересные вопросы!
Вы можете ознакомиться с этой и другими работами в моём профиле на Artstation.
Олег Сенах, Фрилансер-художник
Интервью провёл Арти Сергеев
Автор: Oleg Senakh
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.