Render.ru
Поддержать
Сохранить

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

Making ofBlenderSubstance Painter

1.jpg

Знакомство

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

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


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

Арбалет на Sketchfab 👉🏻 https://sketchfab.com/3d-models/crossbow-semi-realism-1578c73f494941c49631e4d60f01d41b

***

Концепт

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

2.jpg

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

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

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

3.jpg

Blocking

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

4.jpg

Base Mesh

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

5.jpg

Low Poly

6.jpg

High Poly

7.jpg

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

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

8.jpg

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

UV развертка

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

9.jpg

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

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

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

10.jpg

11.jpg

AO из Substance Painter

12.jpg

AO из Marmoset

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

13.jpg

Левое изображение Substance // Правое изображение Marmoset

14.jpg

15.jpg

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

16.jpg

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

17.jpg

18.jpg

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

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

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

19.jpg

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

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

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

20.jpg

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

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

21.jpg

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

Лампа №1

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

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

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

22.jpg

23.jpg

Лампа №1

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

24.jpg

Расстояние от куба : 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. Так конкретный источник света будет отбрасывать тени от объекта, а не светить сквозь него.

25.jpg

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

Лампа №2

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

26.jpg

27.jpg

Лампа №2

28.jpg

Лампы №1, №2

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

29.jpg

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

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

30.jpg

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

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

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

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

31.jpg

32.jpg

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

33.jpg

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

Лампа №6

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

34.jpg

35.jpg

Лампа №6

36.jpg

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

GI (global illumination)

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

37.jpg

38.jpg

GI

Лампа №7

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

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

39.jpg

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

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

40.jpg

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

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

41.jpg

Фильтр лучей

42.jpg

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

Лампа №8

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

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

43.jpg

44.jpg

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

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

45.jpg

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

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

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

46.jpg

Заключение

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

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

47.jpg

48.jpg

49.jpg

50.jpg

51.jpg


354
Комментарии:0
по поступлениюВсе языкиТолько русский