⚡ Making of: Crossbow | Данил Шамраев

Хотите знать, как создавался тот самый арбалет, который забрал первое место одноименного Челленджа? Данил Шамраев рассказал о каждом этапе своей работы и детально разобрал блок освещения и рендера.

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

⚡ Making of: Crossbow | Данил Шамраев

Знакомство

Привет! Меня зовут Данил. Мне 22 года. Я учусь на магистра - журналиста, но совсем скоро меня выгонят из универа :). Осознанно в 3D графику я стал вливаться примерно полтора года назад. По большей части, 3D — это хобби, одна из тропинок на пути к моей мечте, но это совсем другая история.

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

Artstation Данила 👉🏻 https://www.artstation.com/marginal_cosmopolitan

Концепт

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

⚡ Making of: Crossbow | Данил Шамраев

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

Моделирование

Здесь: стандартный пайплаин High Poly / Low Poly. Сначала сделал блокинг из примитивов, чтобы подобрать подходящие пропорции, размеры деталей и понять их общую форму. Я не особо зацикливался на соответствии референсу, больше фокусировался на том, как модель выглядит во вьюпорте.

Blocking
Blocking

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

Base Mesh
Base Mesh

Уже из базового меша я сделал High и Low Poly версии модели. Исключением стали череп, крылья и лапки. Их я скульптил прям внутри Blender, а затем вручную сделал ретопологию под Low Poly. Кстати, именно на этих частях сетка чуть плотнее, несмотря на то, что детали относительно небольшие. Сделал я это для того, чтоб подчеркнуть их визуальный "вес" и на этапе рендера взять крупные планы данных мест.

Low Poly
Low Poly
High Poly
High Poly
Повышенная плотность геометрии на акцентных участках
Повышенная плотность геометрии на акцентных участках

При создании бобин я также не пожалел полигонов. Это было вовсе необязательно. Даже растратно с какой-то стороны, так как эти две бобины весят 7 000 треугольников из общего числа в 30 000. Но это ради все тех же крупных планов и реальных, а не фейковых, форм для презентационного ролика. Напомню, что именно на художественность я делал упор.

Low Poly // Low Poly + Normal // Low Poly + Textures
Low Poly // Low Poly + Normal // Low Poly + Textures

UV развертка

Обычная UV развертка по всем требованиям High/Low пайплаина. Единственное, что здесь может быть интересным, так это использование Overlapping с вертикальным отзеркаливанием (верх правой стороны модели — это низ левой, а верх левой — низ правой стороны) на симметричных частях, однако переднюю часть я оставил уникальной, просто чтоб дублирование текстур было менее заметным при виде спереди. Я также слегка повысил плотность текстуры на акцентных участках (череп, крылья, лапки). Наиболее высокий тексель получился на верхних / нижних частях бобин, так как вся детализация в этой области сделана исключительно через запеченную карту Normal.

Синяя область уникальна, а красная использует Overlapping
Синяя область уникальна, а красная использует Overlapping

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

Текстурирую по-классике в Substance Painter, причем в старенькой версии за 2018 год [что-то поновее мои ноутбук попросту не тянет]. И вот в неи мне не особо понравилось то, как печется карта ambient occlusion (я перетыкал все галочки и параметры, но разные текстурные сеты не хотели между собой взаимодействовать. В новых версиях ситуация, возможно, лучше). Поэтому впервые попробовал запечь что-то в Marmoset и результат меня порадовал. На радостях normal и curvature я запек там же.

AO из Marmoset
AO из Marmoset

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

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

⚡ Making of: Crossbow | Данил Шамраев

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

Свет, камера, рендер

Итак, рендер. В качестве движка финальной визуализации я активно использую Eevee. Перешел я на него просто потому, что мои старенький ноутбук слабо тянет Cycles и другие трассировщики, особенно сцены с вольюметрикой (дымка, туманы и т.д.), которую я так люблю. И, в целом, Eevee вполне себе хорош для решения художественных задач, но не без подводных камней и хитростей.

Перед тем, как собирать сцену и выставлять освещение, я продумываю настроение итоговой картинки – ее вайб, так сказать. На самом деле, еще на этапе подбора концепта я мысленно вписываю объект в те или иные условия, чтоб раскрыть его характер. Мне очень помогает подход, при котором я думаю о модели, как о главном герое какой-то небольшой видеозарисовки. Это позволяет не только подобрать настроение, но и ракурсы, и участки визуальных акцентов.

Пример использования референсов настроения на одной из прошлых работ
Пример использования референсов настроения на одной из прошлых работ

Также не стоит пренебрегать референсами. Подбирай опорный материал не только по формам, геометрии, деталям, материалам, свету, окружению, но и настроению. Это, пожалуй, самыи абстрактный тип референсов, который ориентирован, в первую очередь, на твои эмоции. Ибо, если мы говорим о художественности, то именно эмоцию ты должен вложить в свои финальный рендер. В качестве «вайбовых» референсов подойдет практически любое изображение (да и не только изображение). Главное, чтоб сама модель была органично вписана в это настроение.

Подобный тип референсов крайне универсален, так как его можно использовать на каждом из этапов работы в своем проекте, но большее влияние они оказывают именно на этапе рендеринга и постобработки. Более предметно я могу описать так: настроение – это бульон, а уже в нем варятся ингредиенты из текстур, форм, материалов, геометрии света, ракурсов и т.д.

⚡ Making of: Crossbow | Данил Шамраев

Ладно, отойдем от лирики и взглянем на более конкретный пример. В качестве референса настроения для арбалета я решил использовать игру Amnesia: The Dark Descent. В ней намешано много всего с точки зрения эмоциональной атмосферы, но я выделил лишь один слои, который я обозвал «мрачное благородство». В него хорошо вписывались металлические материалы, гравировка, принцип работы орудия, его временной промежуток, скульпт черепушки, крыльев и т.д.

Оставалось для рендера добавить лучи света (God rays), которые бы визуально "превозносили" и акцентировали часть модели. Им я противопоставил, как по цвету, так и по расположению, красное свечение, которое добавило слегка зловещую нотку и подсветило нижнюю часть модели.

⚡ Making of: Crossbow | Данил Шамраев

По своей сути, я использовал видоизмененную трехточечную модель освещения. Начал я с расстановки основных двух ламп.

Лампа №1

Источник типа Spot слегка голубоватого оттенка. Эта лампа имитирует свет падающих лучей, и чтоб она это делала, должны быть соблюдены два условия:

1. Источник света должен быть небольшого радиуса и размера (в моем случае размер равен 21.4°, а радиус и вовсе равен 0);

2. Источник должен находиться далеко от объекта.

Чем дальше лампа от объекта, чем меньше ее радиус и угол (Size), тем параллельнее становятся лучи, и тем жестче тени у нас получатся.

⚡ Making of: Crossbow | Данил Шамраев

Расстояние от куба : 1м // 1м // 5м

Power: 2 000 W // 14 000 W // 100 000 W

Radius: 0,25 м // 0,75 м // 0 м

Size: 45° // 20° // 5°

Кстати, о тенях. Так как рендер осуществляется в Eevee, не забываем включить Contact Shadows. Так конкретный источник света будет отбрасывать тени от объекта, а не светить сквозь него.

Разница между включенным и выключенным параметром Contact Shadows
Разница между включенным и выключенным параметром Contact Shadows

Лампа №2

Источник типа Area ярко-красного цвета. Area Light хорош в создании мягких реалистичных теней и освещения по площади. Как можно видеть, его размер практически полностью покрывает модель, подсвечивает ее снизу, отделяя от черного заднего фона.

Лампы №1, №2
Лампы №1, №2

К сожалению, при использовании движка Eevee у нас пропадает параметр Spread. Этот параметр в Cycles отвечает за угол рассеивания лучей. В Eevee угол рассеивания постоянен и равен 180°, что означает максимальное рассеивание. Таким образом, используя Area Light в Eevee, практически невозможно достичь эффекта параллельных лучей. Именно поэтому для Лампы №1 я использовал тип Spot, который имитирует поведение Area Light с низким значением Spread в Cycles.

Влияние параметра Spread в движке Cycles
Влияние параметра Spread в движке Cycles

Что примечательно конкретно для этой лампы: я не активировал параметр Contact Shadows, поэтому свет прошел сквозь модель и подсветил ее внутреннюю часть. Это яркии пример того, как, решая художественные задачи, мы можем пренебречь законами физики, а Eevee позволяет добиться нужного эффекта в два клика (точнее, мне даже не пришлось делать никаких кликов, так как параметр по умолчанию выключен).

В данном случае выключенный параметр Contact Shadows дает лучший результат
В данном случае выключенный параметр Contact Shadows дает лучший результат

Лампы №3, №4 и №5

Источники типа Area и Point. Все эти три лампы выполняют одну задачу – создать световои контур по форме, который бы отделил модель от фона. Это так называемый Back Light или контровой свет.

Параметр Contact Shadows включен у всех ламп и использует стандартные настройки. Ничего особенного в этих источниках нет.

Лампы №1, №2, №3, №4 и №5
Лампы №1, №2, №3, №4 и №5

Лампа №6

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

Лампы №1, №2, №3, №4 и №5, №6
Лампы №1, №2, №3, №4 и №5, №6

GI (global illumination)

Глобальное освещение. По сути, это обычная HDR карта, подключенная к узлу мира. Ее задачи: выровнять контраст света / тени на объекте, добавить легкой вариативности по свету, а также создать отражения на гладких поверхностях модели. Так как мне не нужно, чтоб GI оказывал влияние на цвет света в сцене, я убрал его насыщенность.

Лампа №7

Это интересная лампа, ведь она не освещает арбалет в отличие от других. Она имеет тот же тип, поворот и цвет, что и Лампа №1, но если Лампа №1 отвечает за свет от лучей, то Лампа №7 обеспечивает визуальное представление этих самых лучей, но никак не влияет на освещение.

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

⚡ Making of: Crossbow | Данил Шамраев

Для отображения лучей я подключил вольюметрику в узел мира и установил на 0 параметр Volume у всех ламп, кроме Лампы №7, дабы они не оказывали эффект на вольюметрику.

Для Лампы №7 наоборот, я установил значения Diffuse и Specular в 0, чтоб она не оказывала влияние на освещение объектов и блики (да, в графе Diffuse стоит значение не 0, а 0,01, далее я объясню, зачем так сделал). Стоит отметить, что поля влияния на Diffuse, Specular и Volume у источников света есть только при рендеринге в Eevee. В Cycles можно добиться подобного эффекта, но достигается он другими методами.

Настройка вольюметрики в сцене
Настройка вольюметрики в сцене

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

Фильтр лучей
Фильтр лучей
Сравнение: эффект с фильтрацией // эффект без фильтрации
Сравнение: эффект с фильтрацией // эффект без фильтрации

Лампа №8

Источник типа Point ярко красного цвета. По своим характеристикам похожа на Лампу №7: создает свет в объеме и не имеет никакого влияния на диффузный свет и на отражения. Нужен лишь для того, чтоб заполнить кадр и показать направление красного света в объеме. Здесь я так же использую значение 0,01 для параметра Diffuse. Дело в том, что у Eevee есть одна "особенность": если у источника света параметры Diffuse и Specular находятся в абсолютном нуле, а используется только Volume, и, если сам источник света находится вне видимости камеры, то есть вероятность, что источник света просто выключится и эффекта от Volume, естественно, не будет.

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

Постобработка

И здесь ее практически нет, так как настроенное ранее освещение меня устроило. Конкретно для этои работы я использовал стандартные возможности Blender во вкладке Color Management, поэтому цветокоррекция затрагивала только настроику яркости и контраста всеи сцены. К тому же, впереди меня ждал рендеринг видеоролика, и я хотел, чтоб каждыи кадр секвенции уже был скорректирован и соответствовал коррекции статических рендеров. И, само собои, не забываем про Ambient Occlusion и Screen Space Reflections для Eevee.

Настройки рендера
Настройки рендера

Видеопрезентация

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

⚡ Making of: Crossbow | Данил Шамраев

Заключение

Это не первый мои челлендж от Kaino. Каждый раз это невероятно мотивирует, и я успеваю (не все задуманное, конечно) сделать недели за две то, с чем бы возился месяца 2, а потом все равно бы убрал в стол.

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

4141
2 комментария

Не, ну это пиздец - зделать такое за две недели. Просто поражаюсь такой оперативности.
А иви, вообще, странная штука, в некоторых случаях (но надо запариться) выдает результаты даже лучше чем сайклс, который за рамки реализма выйти не позволяет.

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