Making of «АК-45 «JACKAL»

Making of «АК-45 «JACKAL»

I. Знакомство

Привет, меня зовут Алексей, мой Artstation: https://www.artstation.com/alexeytrofimov

Я из Москвы, работаю инженером (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 в 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
Настройки света 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. Спасибо, что дочитал до конца. Надеюсь, моя статья была интересной и полезной для тебя!

Автор: Алексей Трофимов

4444 показа
1.8K1.8K открытий
11 репост
27 комментариев

Без обид, но выглядит как калаш, который школьник облепил псевдовысокотехнологичной фигней.

Если интересно, могу описать совсем печальные моменты.

Ответить

интересно

Ответить

могу описать совсем печальные моменты

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

Ответить

Беломор - папиросы, а не сигареты. И пачка другая

Ответить

Когда увидел это сразу перестал читать, лол

Ответить

Облегченный рамочный приклад + переднее расположение магазина + обвес ствола = смещение центра тяжести сильно вперед.
Если приклад был складным - теперь не будет из-за микрух по бокам.
Печатная плата над стволом - зажарится при первой очереди.
И главный вопрос - функциональность. Зачем это? В "Элизиуме" у обвеса АКМ было назначение. Ситуация с переводчиком огня отлично иллюстрирует в чем тут проблема.

Визуально - красиво, на уровне. Впечетляющий объем работы. Смотри на стволы серии Metro, у них реалистичный "кустарный" стиль, и 1-3 Killzone - у них "альтернативный, с элементами реальных стволов".

Ответить

угу. предохранитель/переводчик огня непонятно как будет использоваться.
визуализация неплохая, но с конструктивом и принципами функционирования самого оружия недоразобрался автор

Ответить