Skills Up School
Меню

Нажмите ESC для закрытия

Hard Surface14 октября 2019 г.

Моделирование космического корабля в Blender

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

Моделирование космического корабля в Blender

Введение

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

Как начался проект

Проект Asteroid Cutter начался с того, что я был сильно вдохновлён реалистичными космическими кораблями и космосом в целом. Я посмотрел на старые и современные российские космические корабли и задался вопросом, что произойдёт, если я интегрирую явно функциональные промышленные наземные машины в космический корабль. В голову пришла классная идея: камнерезная пила, встроенная в российский космический корабль, который будет использоваться для резки астероидов. Эта идея может показаться сумасшедшей, как говорят мои коллеги, но я хотел чего-то, чего никто раньше не видел; чего-то причудливого, но выглядящего функционально.

Блок-аут

После сбора многочисленных справочных изображений космических кораблей первым шагом было разработать форму, которая выглядела бы интересно, но реалистично и соответствовала бы современным традиционным конструкциям космических кораблей. Я черпал вдохновение из японского подводного дрона Toshiba ROV:

Modeling a Spaceship in Blender - изображение 1

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

Modeling a Spaceship in Blender - изображение 2

На изображении выше вы можете увидеть первоначальную итерацию формы. Будущие детали запланированы заранее с помощью простых заполнителей. В этой итерации моя пила была слишком массивной и недостаточно интересной, поэтому я решил удалить её и начать всё сначала. На этих ранних этапах важно быть гибким и не бояться вносить масштабные изменения. Чтобы сохранить здравый ум, важно разбить части объекта на слои и организовать сцену. Я использовал новую систему коллекций Blender 2.8, чтобы помочь мне в этом.

Моделирование ассета в Blender

Для этого ассета я использовал Blender для моделирования и несколько дополнений, чтобы помочь на этапе концепт-арта. Среди них были Hard-ops и Box-cutter. Для организации сцены я использовал очень мощное дополнение под названием «GroupPro». Это дополнение позволило мне создавать «Группы» в Blender, а также размещать эти группы по сцене, не расходуя всю оперативную память моей системы.

Поскольку у меня есть работа на полную ставку, близкий человек, попугай и собака, у меня не было много свободного времени, чтобы создавать «чистые» сетки с помощью sub-D, low poly, а также полностью UV и текстурировать их. Я хотел иметь возможность создавать что-то чистое и высокодетализированное, но используя то небольшое количество времени, которое у меня было каждый день. Это привело меня к использованию мощного метода в Blender. Метод прост: смоделировать базовую сетку, добавить складки ко всем жёстким краям, подразделить, чтобы получить гладкую сетку. Эта сетка, хотя и сглажена с помощью sub-D, всё равно имеет острые края из-за складок. Здесь я использую узел фаски Blender, чтобы добавить искусственную галтель в края.

Modeling a Spaceship in Blender - изображение 3

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

Modeling a Spaceship in Blender - изображение 4

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

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

Modeling a Spaceship in Blender - изображение 5

После размещения «Фасок» UV объекта на градиенте мы получаем более приятный результат.

Этот метод сэкономил мне месяцы работы. Например, мои ракетные двигатели — это просто трубки и трубы, вставленные друг в друга. Моя настройка узла скоса создаёт скругления между каждым пересечением и придаёт им реалистичный вид. Потребовалось бы много времени, чтобы тщательно доработать такой объект вручную, и силы были бы потрачены впустую, что помешало бы мне завершить проект. Чтобы создать детальный двигатель, я просто анализирую референсы, извлекаю некоторые детали и интегрирую их в свой дизайн. Большинство из них — это просто трубы, пересекающиеся друг с другом. Иногда я был настолько уставшим, что добавлял к модели одну трубу, закрывал Blender и ложился спать. Со временем отдельные трубы превратились в ракетный двигатель.

Изоляция космического корабля

Для изоляции космического корабля я использую одну из новых функций Marvelous Designer: «Trace 2D Patterns from UV maps».

Эта функция позволяет мне создать базовую форму в Blender, сгенерировать UV-развёртку для представления узоров одежды, импортировать сетку в Marvelous Designer и сохранить 3D-форму вместе с созданными узорами ткани из импортированных UV-развёртках. Иногда эта функция работает неидеально, поэтому важно иметь прямые, точные UV-развёртки, чтобы получить достойную конверсию.

Modeling a Spaceship in Blender - изображение 6

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

Modeling a Spaceship in Blender - изображение 7

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

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

Этот метод можно использовать для чего угодно: от корпусов до труб. Он использовался на протяжении всего процесса моделирования тканей. После моделирования всей ткани я импортирую их в ZBrush для коррекции и прореживания.

Текстурирование

На самом деле я не использовал много Substance для этого проекта. Единственное, для чего я использовал Substance, — это микродетали для изоляции. Большая часть моего текстурирования выполнена с использованием шейдеров Cycles и карт грязи.

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

Материалы относительно просты, в них нет ничего особенного или сложного.

Modeling a Spaceship in Blender - изображение 8

Для декалей, таких как текст и логотипы, я использую UV-каналы для сопоставления декалей с определённой частью модели. Я использовал эту технику в своём предыдущем проекте «Подводная лодка ОМАР», как показано здесь:

Ознакомьтесь с производством подводной лодки в Blender:

Освещение

Для освещения я хотел добиться эффекта освещения, похожего на студийное; вместо жёсткого космического освещения я выбрал более мягкое освещение, используя большие площадные источники света. Я использовал классическую схему трёхточечного освещения с ключевым светом, заполняющими источниками света и контурным светом, чтобы модель выделялась на фоне. У меня было около 11 различных кадров, каждый со своей схемой освещения. Важно перемещать источники света и переставлять их для каждого кадра, потому что одна схема освещения может не подойти для следующих кадров.

Я использую свой ключевой свет, чтобы подчеркнуть верхнюю часть модели и осветить объект естественным образом. Дополнительные заполняющие источники света используются для осветления слишком тёмных участков.

После настройки освещения я использую надстройку Camera Manager для Blender, чтобы помочь мне управлять камерами сцены. Затем я рендерю кадры и компоную их с помощью компоновщика Blender. Компоновщик Blender позволил мне применить одинаковую обработку ко всем кадрам, чтобы получить единообразный результат. Компоновка включала в себя простую коррекцию цвета и улучшения яркости/контрастности, а также коррекцию линз, такую как искажение и хроматические аберрации. Окончательные кадры затем были обработаны с помощью нового шумоподавителя Intel в Blender 2.81. Этот мощный узел устранил весь шум, не влияя на детали.

Сложности

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

Для решения этих проблем были использованы различные методы, такие как отказ от моделирования sub-D, уменьшение количества полигонов в тканевых ассетах, использование коллекций экземпляров для дублирования ассетов без перегрузки системы и моделирование всех ассетов и деталей в отдельном файле Blender. Чтобы создать такой детализированный объект, особенно в Blender, я советую практиковать хорошую организацию сцены и способы минимизации количества полигонов. Что касается аспекта дизайна, я советую основывать свои проекты на реальном мире и использовать реальные справочные изображения космических кораблей. Это позволит вам создавать функциональные объекты, которые будут узнаваемыми и близкими зрителю.

Modeling a Spaceship in Blender - изображение 9

БОНУС: Секреты освещения

Некоторые люди спрашивали, как я сделал освещение для своих космических сцен.

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

Следующий шаг — добавить имитацию отражённого освещения от близлежащего небесного тела, такого как планета или астероид. Это отражённое освещение может быть синим или любого цвета, в зависимости от того, какой объект его отражает.

Modeling a Spaceship in Blender - изображение 10

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

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

Геси Бейкейи, 3D-артист

Интервью провёл Арти Сергеев

Автор: Gesy Bekeyei

Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.