Создание автомобиля в Blender

В этой статье я делюсь своим небольшим опытом моделирования автомобилей без чертежей.

Создание автомобиля в Blender

Blender > UDIM > Substance Painter > Blender cycles

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

Создание автомобиля в Blender

В своих работах автор практически всегда отсылает нас к советскому автопрому. ГАЗы, УАЗы, ЗИЛы всех цветов и расцветок, часто заглядывают знаковые модели вроде Волги или Чайки. Не то, чтобы всё это было категорически необходимо, но раз уж начал создавать свою советскую вселенную дизельпанка, то к делу надо подходить серьёзно.

Вместе с этим у автора появляются абсолютно авторские автомобили не имеющие аналогов даже на чертежах (вроде ГАЗ-ГЛ2) или в секретных бункерах союза ядерного назначения. Эти интересуют меня больше всего, так как при их моделировании использование чертежей фактически невозможно. Так процесс становится похожим на скульптинг с большей свободой для творчества.

О существовании программы Pure Ref, кажется, знает абсолютно каждый.
О существовании программы Pure Ref, кажется, знает абсолютно каждый.

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

Из важного: все что вы увидите ниже, написано непрофессионалом. Не относитесь к статье серьезно, не ищите здесь достоверной информации. Автор пишет сугубо по приколу.

Начинаем с примитива

Создание автомобиля в Blender

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

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

Создание автомобиля в Blender

Первый час работы модель выглядит как формочка из детского набора для игры в песочнице, поэтому я стараюсь преодолеть этот этап как можно скорее. Справа можете наблюдать мой стандартный набор модификаторов, а именно: Mirror — чтобы не моделить идентичную половину, и Subdivision — surface для сглаживания формы. Между ними стоит Bevel. Его изначальная функция — создавать скосы/фаски, но в данном случае он позволяет мне оставлять острые углы перед сглаживанием, не добавляя при этом лишнюю геометрию.

Как вы видите на примере ниже, редактирование осуществляется всего двумя вертексами без необходимости добавлять лупы снизу и сверху. На трех эджах наложена синяя полоска — это bevel weight, его я выставляю там, где хочу видеть работу модификатора bevel, в котором Limit metod как раз выставлен на параметр Weight. Небольшое количество геометрии позволяет быстро перестраивать модель чуть ли не до этапа текстурирования, что в моём случае постоянных затупов с масштабами критически необходимо.

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

Создание автомобиля в Blender

Здесь я выставил Pivot around active object (вкладка работы с Pivot, т.е опорной точкой, находится в верхнем меню) и выровнял нужную мне геометрию с последним выделенным вертексом (выделен белым) по оси X. Комбинация клавиш выглядит так: с зажатым Shift выделяем те вертексы, которые хотим выровнять, последним выделенным вертексом и будет наша опорная точка.

Далее S (scale) — X (ось) — 0 (зиро), ну или как истинный старовер можно помахать мышкой лево-вправо. Этим удобным приемом я пользуюсь часто, ведь в первые часы важно уловить суть концепта, пока сама модель в целом похожа на полный бардак, а единственный позитивный момент лишь в квадратной сетке и небольшом количестве вертексов.

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

Создание автомобиля в Blender
Создание автомобиля в Blender

Двери и остальные детали я вырезаю прямо из основы c помощью ножа (K). Сужаю прорези и выдавливаю их с помощью комбинации клавиш Alt + E с выбором Along normals. Так они выдавливаются по направлению нормалей, после чего лишнее можно удалить, а на углы выставить всё тот же bevel weight (синяя полоска), тем самым показав модификатору bevel, где и сколько добавить геометрии для сохранения острых углов. Ниже я записал демонстрацию, как это выглядит в программе.

На сложных участках можно не боясь резать модель как вздумается, ведь самое важное — получить необходимую форму объекта, а лишнее всегда можно прибрать комбинацией клавиш Ctrl + x.

Создание автомобиля в Blender

А вот всё тот же bevel сохраняет мне кучу времени при детализации частей корпуса

Создание автомобиля в Blender

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

Создание автомобиля в Blender

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

Для этого нам понадобится один вертекс и модификатор Screw. В демонстрации ниже pivot (синяя точка) нужно расположить так, что бы он находился в центре будущего колеса, а вертекс — в самой нижней его части. После этого выбираем модификатор Screw и выставляем в нём необходимую нам ось (в нашем случае X), по которой нам нужно получить цилиндрическую форму.

После дело остается за малым — проекструдить профиль колеса вверх до центра, не забывая добавлять геометрию посредством разделения вертексов комбинацией клавиш Ctrl +Shift + B. Теперь можно накинуть Subd и наслаждаться результатом.

Вот как получается в итоге.

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

Для этого нам понадобится модификатор Lattice. Его работа объясняется достаточно просто. Он позволяет гладко деформировать ваш объект, не разрушая при этом его изначальной геометрии, впрочем, как и любой модификатор. Чуть ниже я прикреплю пару гифок для тех, кто ни разу о нём не слышал. Двигая края решетки, у меня получилось создать нужный мне изгиб буквально за минуты.

Важно! Lattice должен обязательно стоять перед Subd, так как в любом случае применять его надо первым делом. В противном случае может возникнуть ситуация, когда Lattice начнёт изгибать несуществующую геометрию, которая была создана лишь модификатором ранее.

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

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

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

Небольшая демонстрация одного из бекапов проекта. Как видно в верхней части дверей автомобиля, геометрии пока недостаточно для плавного изгиба — фиксится банальным добавлением лупов (Ctrl + R) , что не составило труда, т.к в этом месте модель состоит из простых квадратов.

(К слову, subd я не применяю вообще, он так и стоит на модели до конца. Вот так взял и в любой момент выключил — чем не игровая модель? :) )

Создание автомобиля в Blender

Ещё одним очень интересным приёмом я начал активно пользоваться совсем недавно. Пишу я про Instance collection — это, по сути, дубликат уже существующей папки (коллекции). Он имеет все свойства от оригинала вплоть до анимации оригинального объекта, но не может редактироваться, как тот же связанный дубликат (Alt+D). Чаще всего его используют для заполнения проекта кучей одинаковых объектов и экономии этим памяти, но так же для альтернативы модификатора mirror. Чем я и воспользовался в своем случае.

Я засунул абсолютно все детали автомобиля, которые впоследствии должны быть отзеркалены — колёса, боковые панели, интерьер автомобиля, кресла, лампы и объекты света — в одну папку, правой кнопкой по которой открывается подменю, где и находится Instance to scene. Появляется дубликат всей коллекции, который я одним махом отзеркаливаю посредством Object > Mirror > X, Y, Z — и всё, готово.

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

Конечно, у всего есть свои плюсы и минусы. Конкретно в этом случае вы не сможете как-то взаимодействовать с instans'ом кроме как расположить его в проекте. Правда, ничего не мешает сделать его реальным в любой момент времени и анимировать/редактировать любой объект на выбор уже после стадии моделирования и текстурирования.

Демонстрация магии путём перетаскивания объектов из одной папки в другую.

UDIM

Поддержка мозаичной структуры развертки текстур появилась в Blender лишь в прошлом году. Она не только позволяет разделить одну текстуру на несколько файлов, но и выставить для каждой части «мозайки» своё разрешение. Создаётся такая текстура в Image editor посредством добавления галочки tiled.

Создание автомобиля в Blender

Корпус я перетащил на один тайл, выставив 4K-разрешение, мелкие детали — на другой в 1K, на отдельных тайлах у меня расположился интерьер, потом колёса, стёкла и так далее. На первом у меня находится крыша — она единственная во всей модели имеет High poly вариант, который позже я смог запечь отдельно от всего остального.

Текстуры в Substance Painter
Текстуры в Substance Painter

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

Создание автомобиля в Blender
Создание автомобиля в Blender

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

Создание автомобиля в Blender

Вся модель была запечена сама с себя (окно бейка Ctrl + Shift +B, выставив в параметрах 4K-разрешение, 2х2 subsampling и выключив Average normals), а уже после я выбрал конкретно тайл с крышей, добавил в настройках бейка хайполи объект, и кликнул на Bake only (название тайла) maps.

Создание автомобиля в Blender

По ходу дела появилась идея создать вторую версию текстур для автомобиля. Не то что бы тут было много работы — половина материалов не изменила своих свойств, а основные изменения получили градиенты с цветом корпуса. Эти градиенты в сабстенсе получаются с помощью фильтра Position. Их я накладываю как дополнительные слои сверху и снизу автомобиля, немного изменяя основной цвет и его яркость.

Эту квадратную текстуру я сгенерировал с помощью Brick generator.

Создание автомобиля в Blender

Во время работы с этим генератором вылезла проблема неправильно расположенных UV частей, из за чего квадраты на некоторых частях автомобиля располагались по-разному. Для решения подобных проблем можно воспользоваться фильтром Tri-Planar Advanced, но для его работы необходим Input с предыдущей информацией.

Естественно, поместить сам Brick generator в input мы не можем, но зато можем сохранить результат его работы в некий «контейнер» при помощи добавления в цепь фильтров anchor point (якорь), и уже потом использовать этот якорь в инпутах или вообще других слоях и материалах.

Ниже вы видите, как после Brick gen стоит тот самый якорь, то бишь сохранение предыдущего результата для последующей отправки в фильтр Tri-Planar.

Чтобы импортировать полученные текстуры в шейдер блендера, одним движением нужно кликнуть по нему правой кнопкой мыши и воспользоваться комбинацией клавиш Ctrl + Shift + T. В большом списке Udim текстур выделяются лишь те, что находятся на первом тайле (по дефолту это 1001 или тот, что находится в левом нижнем углу рабочей среды UV-editor'а).

Если на остальных объектах выставлен тот же материал, то UDIM-алгоритм автоматически подберёт для них из той же папки необходимые тайлы с текстурами, а сам сетап будет выглядеть так. (Чтобы комбинация клавиш сработала, необходимо во вкладке Edit > Preferences > Add-ons найти и включить встроенный аддон Node Wrangler)

Создание автомобиля в Blender

Думаю, на этом пока и остановимся. Полученную модель с текстурами я осветил десятком источников, парочку из которых также закинул в отзеркаленный instance, за счёт чего получилось создать симметричное освещение для turntable видео (для объектов света в Blender нет модификаторов, поэтому на них нельзя накинуть mirror, а instance collection легко позволяет обойти это ограничение).

Пара рендеров из того, что получилось.

Создание автомобиля в Blender

Блики у ночной версии с такси я добавил также в Blender на этапе постобработки. Эффект получается с помощью фильтра Glare с подтипом Ghosts. Если выставить параметр mix на 1.0, получается интересный эффект с чёрным фоном, который позже можно наложить поверх основного рендера с режимом «экран» или подобных ему «мягкий свет» и «линейный осветлитель».

Создание автомобиля в Blender

Страничка проекта на Artstation.

Посмотреть мои остальные модели можно здесь.

472472
82 комментария
Комментарий удалён модератором

даже слесари и те в чертежах ориентируются. И ведь у них попытка всего одна. А ты не можешь даже виртуально по чертежу сделать. Мда....

3
Ответить

Почему торпедо? Потому что когда делаешь кузов другого типа, внезапно оказывается, что у них НИХЕРА не тривиальные изгибы.

8
Ответить

Согласен бро ТАК ИМ торпедо е бные нормального человека торпедой не назовут!

7
Ответить

Занимаюсь дизайном автомобилей, работаю в блендере. instagram.com/max_Hordin

Подумывал сделать туториал по теме (конечно это не быстро). Что думаете? будет интересно?

7
Ответить

Давай конечно! Хорошие модели 

2
Ответить

Как успехи в создании туториала? Или оставил это дело? С интересом бы глянул.

1
Ответить