Making of «АК-45 «JACKAL»
I. Знакомство
Привет, меня зовут Алексей, мой Artstation
Я из Москвы, работаю инженером (IT) в банке. У меня экономическое образование, художественного нет. Сейчас мне 29 лет, и, поработав инженером, я понял, что это не то, чем я хотел бы заниматься. Тяжело работать морально, когда нет конечной цели. Моя текущая работа — это процесс, работа ради работы…
В CG и Digital я не первый день, мне всегда были интересны технологии и компьютерная графика, особенно в играх. Я изучил и опробовал разный софт: 3ds Max, Maya, ZBrush, Substance Painter, Premier Pro, After Effect, Photoshop и т.д. Но основными были 3ds Max и Photoshop. За это время я много чего узнал, но к созданию серьёзного законченного проекта был не готов, и о крутой визуализации вообще не было и речи. В основном моими работами были планировка своей комнаты, квартиры, дизайн мебели на заказ, простой монтаж под музыку и т.д. Все свои знания и умения я использовал для себя.
Когда неприязнь к работе начала усиливаться, на моем пути вовремя встретился университет Kaino. Всё поменялось после прохождения марафона, далее я прошёл курсы «Blender 2.0», «GameDev» и посмотрел стримы «GameDev». Это дало сильный буст. За короткий промежуток времени я получил много информации, которую ранее приходилось долго собирать по кусочкам на просторах интернета.
По окончании курса «GameDev» я сразу же приступил к личному проекту в портфолио. Как уже говорила Татьяна: «Я осознавала, что если не сейчас, то уже никогда, ведь, когда откладываешь на потом, то это "потом", зачастую, не наступает». И я полностью согласен с её словами. В любую свободную минуту я
старался сесть за проект. В день выходило около 3-4 часов, приходилось сидеть до 2 ночи, а иногда вовсе не получалось за целый день. Работа, дела по дому и ребёнок очень сильно съедают свободное время.
P.S. Спасибо жене за терпение и за то, что отвлекала нашего полуторагодовалого сына от компьютера.
О проекте
Мне всегда нравилось огнестрельное оружие в играх. Особенно футуристичное, с узнаваемыми чертами настоящих аналогов нашего времени. А кастомные пушки ручной работы, сделанные на коленках — вообще что-то запредельное. Например, оружие в Metro 2033 и Far Cry New Dawn и единственная кастомная штурмовая винтовка в Call of Duty Infinite Warfare под названием «Волк», которая и стала основным референсом для создания данного проекта. Она имеет узнаваемые черты АК, футуристичные обвесы и изоленту — это просто мой идеал! Как по мне, гладкие и идеальные модели выглядят скучно и уныло, глазу не за что зацепиться, так что детали — наше всё.
Передо мной стояла несложная задача — нужно было сделать обычный АК, навесить на него несколько процессоров и плат, обмотать проводами, а после всё это сдобрить изолентой.
Так я приступил к сбору референсов:
Референс-лист
Этих референсов мне хватило для выполнения 90% работы. Почти все интересующие меня детали в них были. Остальные 10% я искал по факту. Для поиска использовал Artstation, Яндекс и делал скриншоты из самой игры.
II. Making of
Финальные рендеры
Моделирование
При моделировании единственное, о чём я всерьёз задумался — это о стеклянных/полимерных (далее просто «стеклянных») деталях. Думаю, все замечали, что некачественное стекло сильно портит финальную картинку, а детали из стекла были основной фишкой моей модели, я не мог с ними облажаться.
Если хотите получить фотореалистичное стекло, не забывайте о том, что геометрия для стекла должна иметь толщину и быть замкнутой.
Ниже — финальная LP и HP:
HP | LP
Текстурирование в Substance painter
Передача цвета
Первое, с чего советую начать — это настроить Color Management в Blender и Color Profile в Substance painter (далее «SP»). Так цветопередача будет максимально точной. Я использовал стандарт ACES. Ниже пример, как отображаются цвета во вьюпорте SP и на рендере CYCLES в Blender. В обоих случаях использовалась одна и та же HDRI и один и тот же плейн с текстурой ColorCheker’а.
Как видите, цвета максимально похожи:
ACES в Blender и Substance Painter
Настройка и установка ACES
Substance Painter
Цветовой профиль ACES для SP можно найти на ArtStation или на просторах интернета. Часто его продают за символическую цену. Скачиваете файл, закидываете его на полку и выбираете в разделе Color Profile. Я использую ACESFilm, по мне, он максимально схож по цвету с ACEScg в Blender.
Blender
Официальной полноценной поддержки или аддона ACES в Blender пока нет, но умельцы уже собрали рабочий инструментарий. Он идёт вместо стандартного Color Management в Blender. Самое главное — он полностью бесплатный. После скачивания нужно просто переместить файлы в папку …\*Blender*\*версия*\datafiles\colormanagement.
Советую заранее сделать копию папки colormanagement, чтобы была возможность вернуть стандартный Color Management. Инструкцию и инструментарий можно найти на GitHub.
Albedo (Base Color)
Я очень долго не мог понять, почему мои материалы выглядят плохо на финальном рендере. Как оказалось, просто не нужно делать 100% чёрный цвет у Albedo. Чем темнее цвет объекта, тем сильнее он поглощает свет и материал выглядит некорректно. Но бывают исключения: если вы пытаетесь наложить текстуру на чёрную дыру, то в этом случае чем чернее, тем лучше.
PBR Validate
В SP есть фильтр PBR Validate, через него можно проверить альбедо на черноту. Создаем слой Paint — канал Base color переводим в режим наложения Passthrough — добавляем к этому слою фильтр PBR Validate. После это красным цветом подсветятся проблемные участки, которые нужно исправить.
PBR Validate
Пытайтесь добиваться того, чтобы ваша карта Albedo была не очень контрастной и тёмной. Для осветления тёмных участков я использовал фильтр Levels. Ниже пример, как должно выглядеть Albedo:
Светлый вариант правильный
Стекло
Если вы собираетесь делать процедурное стекло, то вам стоит позаботиться о его детализации. Для это в SP я сделал чёрный глянцевый материал и рисовал на нём сколы, царапины, фактуру, отпечатки пальцев и т.д.
P.S. По финалу нужны будут все текстуры, кроме альбедо.
Детали на стекле
Также я затекстурил грязь и сделал для неё отдельный канал с маской.
Грязь и маска
Заметьте, что внутри грязи нет, иначе стекло будет выглядеть плохо, так как оно перестанет пропускать свет в полной мере для красивого преломления. Если вы с помощью генератора по карте AO будете делать грязь, обращайте на это внимание.
Канал маски
С помощью этой маски можно будет с лёгкостью подмешать грязь к процедурному стеклу:
Добавление грязи через маску
Ещё я добился интересного эффекта у стекла коллиматорного прицела. На настоящих прицелах есть специальное напыление: если на стекло смотреть перпендикулярно его поверхности, то оно прозрачное, а вот под любым другим углом на нем появляется цветной блик, скрывающий свечение метки.
Напыление на стекле
Этого эффекта я добился с помощью нода Velvet BSDF.
Эффект напыления
Окружение
Для объема сцены я добавил волюметрию (volumetric) и пыль. Для волюметрии понадобится куб и материал с нодом Principled Volume. А с пылью я решил немного заморочиться и добавить вариативности.
Нашёл вот такую текстуру:
Исходник для пыли
Сделал из неё коллекцию Dust_particle, состоящую из плейнов с разными текстурами частиц, и подключил данную коллекцию в Particle System.
Коллекция для пыли и настройки системы частиц
Результат:
Рендер пыли
Но с пылью лучше не перебарщивать, а то получится как у меня на первых рендерах:
Неудачный рендер и пыль
Аддон Photographer (цена 14$)
Опишу настройки, которых нет в Blender по умолчанию.
Камера
Стандартная камера в Blender очень скупа на настройки, и, соответственно, ни о какой фотореалистичности не может идти речи. Photographer превращает камеру в Blender в настоящий фотоаппарат. Он добавляет ключевые настройки, которые работают подобно фотоаппарату, что даёт возможность настраивать камеру как в реальной жизни: экспозиция, баланс белого, фокус и т.д.
К примеру, если вы измените показатель Aperture (размер диафрагмы), то это изменит и экспозицию; Shutter Speed (скорость затвора) повлияет на размытие движения. Также для новичков можно включить автоэкспозицию или автофокус. С аддоном Photographer не придётся гадать, какие настройки нужно выставить, все работает по реальным законам физики. Соответственно, чтобы пользоваться данным аддоном, нужно обладать базовыми знаниями работы с фотографией.
P.S. Можете искать уроки, подсказки, шпаргалки и статьи по фотографированию. Например, такие:
В аддоне есть удобная функция быстрого добавления камеры. Нажав кнопку Add Camera, он добавляет камеру из текущего вида — это очень облегчает процесс выставления камеры, и вам не нужно настраивать расположение камеры вручную. Если добавить несколько камер, то между ними можно быстро переключаться через общий список камер при помощи кнопки с изображением камеры. Также это меняет активную камеру для рендера, то есть рендер будет осуществляться из выбранной.
Добавление камер
Свет
Аддон Photographer добавляет удобное меню-список Light Mixer для работы со светом. В нем появляется возможность настраивать цвет по шкале Кельвина.
Также при зажатой клавиши Shift можно быстро переключаться между источниками света в соло режиме. Он отключает все источники, кроме выбранного.
Light Mixer
Свет в сцене
Каких-то секретных знаний, универсального решения или кнопки «Сделать красиво» у меня нет. Я около месяца потратил на первый рендер в поисках красивого света, но потом как по щелчку я стал понимать, что и зачем я делаю. Последние 13 рендеров я сделал уже за 2 недели.
Могу сказать одно — свет нужно чувствовать. Если вы пытаетесь сделать визуализацию какого-то предмета, почитайте про предметную фотосъёмку. Принципы работы камеры и расстановки света для рендера идентичны с реальной фотосъёмкой, только в 3D редакторе куда больше возможностей и меньше ограничений.
При первом рендере у меня было около 20 источников света (не надо так). Во втором количество света уменьшилось, картинка стала лучше, но все равно оставалась плоской. Мне посоветовали расставить свет в сермате без текстур — так лучше видно, куда попадают лучи света. И я понял, что четырёх источников света вполне достаточно, чтобы подсветить объект.
При выставлении света ориентируйтесь на референсы, смотрите, куда падает тень и с какой стороны блики, чтобы понять, откуда светит источник. Как основной инструмент для подсветки сцены я использовал свет типа Area, он единственный физически точный свет в Blender.
Наброски света
Настройки света Area, которыми я пользовался
Color — цвет (RGB и Kelvin).
Power — интенсивность (есть разные единицы измерения).
Shape — форма источника влияет на пятно света и блики. Если выбрать форму Disk, то пятно света будет более мягкое, как и края у бликов, нежели у Square.
Size — чем меньше размер источника света (или чем он ближе к освещаемому объекту), тем более жёсткие тени он даёт. Если он больше (или дальше), то наоборот.
Spread — работает по принципу отражателей в фонарях: чем меньше градус, тем более кучнее и ярче светит источник, если больше градус, то наоборот.
Настройки света Area
В итоге в сцене я задействовал семь источников света и HDRI. Четыре из них предназначены для АК-45, остальные для других объектов в сцене, подсветки бетона и деталей.
При расстановке света советую выбирать поочерёдно каждый источник и отключать все остальные, в том числе и HDRI. Так вы сможете стопроцентно понять, на что воздействует выбранный источник, какие блики он даёт и т.д.
Ниже — каждый источник по отдельности и их расположение (на левой трети изображения выделяется источник света и его направление).
Источники света по отдельности
Расстановка света
За основу я взял трёхточечный принцип освещения, но в процессе все поменялось — я начал расставлять свет от пятна прожектора.
Финальный свет: начал с белого прожектора сверху, он дал основное освещение и жёсткие тени → добавил 2 источника (тёплый и холодный), они заполнили тени и дали блики → добавил 2 зелёных для подсветки бетона → добавил 1 зелёный для блика на щёчке приклада → ещё 1 зелёный для подсветки граффити → последним я покрутил HDRI для получения приятных бликов.
Порядок расстановки света
Финальный рендер был в Cycles с разрешением 2 560 х 1 440 и 20 000 семплов.
Финальная обработка
Для улучшения финальной картинки в Compositor я добавил два нода:
1) Glare в режиме Fog Glow — добавляет свечение вокруг ярких пикселей;
2) Lens Distortion — создает эффект искажения линзы и разложения света (хроматическая аберрация) по краям картинки как у плёночного фотоаппарата.
Свечения, искажение и хроматическая аберрация
Наконец добавляем виньетку. Она затемняет края и таким образом фокусирует внимание в центре картинки. Её можно сделать в Compositor Blender или Photoshop. В Photoshop мне результат понравился больше (Filter — Lens Correction или Shift + Ctrl +R).
Как сделать виньетку в Photoshop
Сохраняем — и финальная иллюстрация готова!
Финальная картинка
Второй рендер (неудачный)
Первый рендер (неудачный)
III. Заключение
Желаю вам успехов в CG, побольше идей и вдохновения. Не ленитесь при создании работы для портфолио, это в будущем принесёт плоды. Не бойтесь сложных задач — только такие задачи и заставляют вас развивать свои навыки и знания. Не останавливайтесь на половине пути к своей цели!
У меня в планах на ближайший год подготовить хорошее портфолио и уйти на фриланс.
P.S. Спасибо, что дочитал до конца. Надеюсь, моя статья была интересной и полезной для тебя!