Моделирование космического корабля в Blender
Гези Бекеи проанализировал ещё один проект с жёсткой поверхностью, выполненный в Blender, и поделился полезными аддонами, советами по освещению и деталями рабочего процесса.

Введение
Здравствуйте! Меня зовут Геси Бейкейей, и в настоящее время я проживаю в Санкт-Петербурге. Я работаю старшим 3D-художником в Trace studio. Мои интересы в 3D в основном связаны с научно-фантастическими элементами твёрдой поверхности, такими как космические корабли, интерьеры, оружие и механические элементы.
Как начался проект
Проект Asteroid Cutter начался с того, что я был сильно вдохновлён реалистичными космическими кораблями и космосом в целом. Я посмотрел на старые и современные российские космические корабли и задался вопросом, что произойдёт, если я интегрирую явно функциональные промышленные наземные машины в космический корабль. В голову пришла классная идея: камнерезная пила, встроенная в российский космический корабль, который будет использоваться для резки астероидов. Эта идея может показаться сумасшедшей, как говорят мои коллеги, но я хотел чего-то, чего никто раньше не видел; чего-то причудливого, но выглядящего функционально.
Блок-аут
После сбора многочисленных справочных изображений космических кораблей первым шагом было разработать форму, которая выглядела бы интересно, но реалистично и соответствовала бы современным традиционным конструкциям космических кораблей. Я черпал вдохновение из японского подводного дрона Toshiba ROV:

Я извлек формы и интегрировал их в свой космический корабль. Планировалось позже покрыть его плотно прилегающими изоляционными материалами, такими как бета-ткань и ткани хромель-Р. Сначала был создан блок-аут, со всеми отверстиями и будущими деталями, вырезанными в объекте. Важно получить окончательный дизайн базового корпуса до того, как обтянуть его тканью.

На изображении выше вы можете увидеть первоначальную итерацию формы. Будущие детали запланированы заранее с помощью простых заполнителей. В этой итерации моя пила была слишком массивной и недостаточно интересной, поэтому я решил удалить её и начать всё сначала. На этих ранних этапах важно быть гибким и не бояться вносить масштабные изменения. Чтобы сохранить здравый ум, важно разбить части объекта на слои и организовать сцену. Я использовал новую систему коллекций Blender 2.8, чтобы помочь мне в этом.
Моделирование ассета в Blender
Для этого ассета я использовал Blender для моделирования и несколько дополнений, чтобы помочь на этапе концепт-арта. Среди них были Hard-ops и Box-cutter. Для организации сцены я использовал очень мощное дополнение под названием «GroupPro». Это дополнение позволило мне создавать «Группы» в Blender, а также размещать эти группы по сцене, не расходуя всю оперативную память моей системы.
Поскольку у меня есть работа на полную ставку, близкий человек, попугай и собака, у меня не было много свободного времени, чтобы создавать «чистые» сетки с помощью sub-D, low poly, а также полностью UV и текстурировать их. Я хотел иметь возможность создавать что-то чистое и высокодетализированное, но используя то небольшое количество времени, которое у меня было каждый день. Это привело меня к использованию мощного метода в Blender. Метод прост: смоделировать базовую сетку, добавить складки ко всем жёстким краям, подразделить, чтобы получить гладкую сетку. Эта сетка, хотя и сглажена с помощью sub-D, всё равно имеет острые края из-за складок. Здесь я использую узел фаски Blender, чтобы добавить искусственную галтель в края.

Теперь одна проблема, которая возникает при использовании этого метода, заключается в том, что малые и большие объекты имеют одинаковую ширину фаски. Это может привести к тому, что малые объекты будут выглядеть слишком мягкими, а у крупных объектов фаски будут слишком тонкими.

Чтобы бороться с этим, я придумал простой шейдер, который использует градиентное изображение и дополнительный канал UV для сопоставления объектов с этим градиентом. Я называю канал UV «Фаска» для всех объектов в сцене.
Ниже приведены узлы, которые я разработал, чтобы контролировать размер узла фаски с помощью градиентной текстуры. Затем это подключается ко входу «Радиус» узла «Фаска».

После размещения «Фасок» UV объекта на градиенте мы получаем более приятный результат.
Этот метод сэкономил мне месяцы работы. Например, мои ракетные двигатели — это просто трубки и трубы, вставленные друг в друга. Моя настройка узла скоса создаёт скругления между каждым пересечением и придаёт им реалистичный вид. Потребовалось бы много времени, чтобы тщательно доработать такой объект вручную, и силы были бы потрачены впустую, что помешало бы мне завершить проект. Чтобы создать детальный двигатель, я просто анализирую референсы, извлекаю некоторые детали и интегрирую их в свой дизайн. Большинство из них — это просто трубы, пересекающиеся друг с другом. Иногда я был настолько уставшим, что добавлял к модели одну трубу, закрывал Blender и ложился спать. Со временем отдельные трубы превратились в ракетный двигатель.
Изоляция космического корабля
Для изоляции космического корабля я использую одну из новых функций Marvelous Designer: «Trace 2D Patterns from UV maps».
Эта функция позволяет мне создать базовую форму в Blender, сгенерировать UV-развёртку для представления узоров одежды, импортировать сетку в Marvelous Designer и сохранить 3D-форму вместе с созданными узорами ткани из импортированных UV-развёртках. Иногда эта функция работает неидеально, поэтому важно иметь прямые, точные UV-развёртки, чтобы получить достойную конверсию.

После моделирования базовой сетки одежды-заглушки разбейте её на отдельные фрагменты. Это снижает общую рабочую нагрузку для Marvelous Designer при моделировании и уменьшает количество ошибок из-за слишком сложной сетки. Импортируйте её в MD.

Теперь для моделирования изоляции нам понадобятся 2 слоя этого узора. Первый слой будет выступать в качестве металлического корпуса, а второй слой будет нашит на «металлический корпус». Для этого щёлкните правой кнопкой мыши по узору и выберите «Layer Clone (Over)». Затем заморозьте исходный узор, чтобы предотвратить его перемещение. Для физических свойств ткани мне нравится использовать «Cotton Gabardine». Увеличьте усадку утка и основы, чтобы добавить больше материала в ткань. Нажмите «simulate» и наблюдайте, как ваша ткань превращается в изоляцию космического корабля.
Также вы можете нарисовать различные разрезы, швы и детали на импортированном узоре UV, чтобы сделать его более сложным.
Этот метод можно использовать для чего угодно: от корпусов до труб. Он использовался на протяжении всего процесса моделирования тканей. После моделирования всей ткани я импортирую их в ZBrush для коррекции и прореживания.
Текстурирование
На самом деле я не использовал много Substance для этого проекта. Единственное, для чего я использовал Substance, — это микродетали для изоляции. Большая часть моего текстурирования выполнена с использованием шейдеров Cycles и карт грязи.
Грязевые текстуры смешиваются и накладываются в шейдерах, чтобы обеспечить вариации блеска.
Материалы относительно просты, в них нет ничего особенного или сложного.

Для декалей, таких как текст и логотипы, я использую UV-каналы для сопоставления декалей с определённой частью модели. Я использовал эту технику в своём предыдущем проекте «Подводная лодка ОМАР», как показано здесь:
Ознакомьтесь с производством подводной лодки в Blender:
Освещение
Для освещения я хотел добиться эффекта освещения, похожего на студийное; вместо жёсткого космического освещения я выбрал более мягкое освещение, используя большие площадные источники света. Я использовал классическую схему трёхточечного освещения с ключевым светом, заполняющими источниками света и контурным светом, чтобы модель выделялась на фоне. У меня было около 11 различных кадров, каждый со своей схемой освещения. Важно перемещать источники света и переставлять их для каждого кадра, потому что одна схема освещения может не подойти для следующих кадров.
Я использую свой ключевой свет, чтобы подчеркнуть верхнюю часть модели и осветить объект естественным образом. Дополнительные заполняющие источники света используются для осветления слишком тёмных участков.
После настройки освещения я использую надстройку Camera Manager для Blender, чтобы помочь мне управлять камерами сцены. Затем я рендерю кадры и компоную их с помощью компоновщика Blender. Компоновщик Blender позволил мне применить одинаковую обработку ко всем кадрам, чтобы получить единообразный результат. Компоновка включала в себя простую коррекцию цвета и улучшения яркости/контрастности, а также коррекцию линз, такую как искажение и хроматические аберрации. Окончательные кадры затем были обработаны с помощью нового шумоподавителя Intel в Blender 2.81. Этот мощный узел устранил весь шум, не влияя на детали.
Сложности
Наибольшей сложностью в этом проекте было добавление достаточного количества деталей для поддержки и украшения ассета такого размера, не добавляя при этом слишком много шума и беспорядка, и всё это в разумные сроки. Эта задача усложнялась ограничениями, с которыми в то время сталкивался Blender 2.8. Массовое количество деталей и полигонов выявило неэффективность операций отмены и плохую оптимизацию подразделения, которые в настоящее время используются в Blender, и эти проблемы увеличили сроки реализации проекта на несколько недель.
Для решения этих проблем были использованы различные методы, такие как отказ от моделирования sub-D, уменьшение количества полигонов в тканевых ассетах, использование коллекций экземпляров для дублирования ассетов без перегрузки системы и моделирование всех ассетов и деталей в отдельном файле Blender. Чтобы создать такой детализированный объект, особенно в Blender, я советую практиковать хорошую организацию сцены и способы минимизации количества полигонов. Что касается аспекта дизайна, я советую основывать свои проекты на реальном мире и использовать реальные справочные изображения космических кораблей. Это позволит вам создавать функциональные объекты, которые будут узнаваемыми и близкими зрителю.

БОНУС: Секреты освещения
Некоторые люди спрашивали, как я сделал освещение для своих космических сцен.
Такой эффект освещения достигается просто с помощью двух источников света. Один свет — это очень мощный белый направленный свет (интенсивностью 18–25). Разместите «солнечный свет» и поверните его, пока вам не понравится, как свет падает на модель. Старайтесь избегать направления этого света, параллельного линии взгляда камеры, так как это приводит к плоскому и скучному освещению.
Следующий шаг — добавить имитацию отражённого освещения от близлежащего небесного тела, такого как планета или астероид. Это отражённое освещение может быть синим или любого цвета, в зависимости от того, какой объект его отражает.

После получения необработанных рендеров я обрабатываю изображения и добавляю элементы для улучшения внешнего вида.
Эти элементы включают в себя элементы переднего и заднего плана, эффекты камеры, такие как хроматическая аберрация, утечки света, свечение на участках, освещённых солнцем, эффекты боке и лёгкая дымка. Эти эффекты помогают вписать космический корабль в космическую подложку и добавить приятный штрих реализма.
Геси Бейкейи, 3D-артист
Интервью провёл Арти Сергеев
Автор: Gesy Bekeyei
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.