Making Of "Road Rash".

Здравствуйте! Меня зовут Арсений Лаврухин, мне 30 лет, родился и живу в Москве. Компьютерной графикой начал интересоваться с 2012 года, в том же году открыл для себя Render.ru. Я очень благодарен своим первым учителям компьютерной графики – Александру Пазуренко и Дмитрию Федотову, под опытным руководством которых я начал делать первые шаги в CG. Пару лет посидел на фрилансе, далее почти 4 года проработал визуализатором в архитектурной студии. В настоящее время тружусь в студии POSTKINO FX.

В этом making of "Road Rash" я хочу рассказать о вещах, которые, на мой взгляд, могут быть интересны и опустить вещи рутинные и неинтересные. Если у вас останутся какие-либо вопросы касаемо данной работы, пожалуйста задавайте их в комментариях.

01_road_rash_jpg_2k.jpg

Я давно хотел сделать какую-то динамическую сцену со стрельбой и погоней. Непосредственно идея данной работы у меня возникла после просмотра х/ф Дредд (2012). Там есть сцена, где хулиганы уезжают от “слуги правосудия” на разбитом фургончике. Мне эта идея понравилась, и я взял ее за основу. Также на глаза когда-то попалась работа Андрея Максимова, которая меня зацепила своей динамичностью. Эти два источника послужили отправной точкой и источником вдохновения.

02_pic_02x.jpg

х/ф Дредд (2012)

03_One_rsz.jpg

Работа Андрея Максимова

Изначально работу планировал сделать для конкурса Hum3d car render challenge не вкладывая в нее много смысла - просто динамическую сцену погони со стрельбой. Но в процессе работы концепция расширилась - мне захотелось сделать микс из киберпанка и 80-х. У них много общего, если присмотреться. Думаю это связано с тем, что голливуд в 80-х активно эксплуатировал эту тему - Бегущий по лезвию (1982), Трон (1982), Робокоп (1987), и т.п.
Кстати, сам термин “киберпанк” является смесью слов англ. cybernetics и punk, впервые его использовал Брюс Бетке в качестве названия для своего рассказа 1983 года, который так и называется. А что касается самой сцены погони, по задумке она стала всего лишь одним из эпизодов вселенной, которую я надеюсь развить в будущем.
Далее я начал копить референсы, разбив их по категориям, и складывая туда все, что мне казалось интересным и подходящим - локации, сцены из фильмов, мотоциклы, авто, и т.п.

04_ref_folders.jpg

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

05idea_01rsz_golden.jpg

06_sci-fi_car_1_03.jpg

07_char 1 rsz.jpg

08_char2 rsz.jpg

Таким образом, для сцены мне нужно было сделать 2 персонажа - автоматчика и мотоциклистку, а также средства транспорта - 2 автомобиля и мотоцикл, не считая водителей и авто на дальнем плане. Также на этапе блокинга решил отказаться от “авто в воздухе”- мне показалось что она слишком перегружает сцену.
Основной 3d софт для почти всех моих персональных проектов - Blender, в котором я работаю с 2016 года и который от версии к версии, на мой взгляд становится только лучше. GPU и real-time render, удобная нодовая система создания шейдеров, а также возможность нарисовать маску, доскульптить детали, сделать постпродакшн рендеру не прыгая из софта в софт очень подкупает. Но не буду говорить очевидные вещи, лучше расскажу о своей работе...

MODELING
Мини-вэн на данном этапе лежал готовенький в предыдущей работе - надо было только сделать в нем окна, с чего я и начал…

09_vw.jpg

10_vw_process_GIF.gif

TOYOTA CROWN
Определившись со второй машиной, я приступил к ее моделлингу. Ей стала легенда своего времени Toyota Crown. Так получилось, что для основной работы мне потребовались навыки работы в Maya, поэтому саму модель я сделал, не в Blender, а в ней. И надо признаться, моделить в Майе мне понравилось!

11_crown_pocess_GIF.gif

Было нелегко найти качественные референсы этой машины. Задача усложнялась некоторым количеством модификаций кузова моделей Тойоты Краун 80-х, на первый взгляд незаметных. В общем, только когда авто почти было закончено, я понял, что сделал микс из двух машин - s110 и ms112. Впрочем, для вымышленного мира это не критично, но отметил для себя, что в будущем надо быть внимательнее.

12_crown_look.jpg

Поиск образа - оставить классику или добавить щепотку киберпанка.

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

13_crown_crashed.jpg

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

14_renaissa_process.gif

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

15_renaissa_beauty.jpg

ENVIRONMENT
С окружением я определился еще в самом начале работы - это должен был быть туннель в середине с открытой частью, которая позволила бы увидеть деревья на среднем плане и небоскребы на дальнем. Также удалось найти подходящее фото, которое сделал автомобильный фотограф Tom Wheatley. Это фото я использовал как гайд по цветам, теням и моушн-блюру.

16_Tom_Wheatley.jpg

Основные текстуры были взяты с сайта Megascans.se. Кто еще не знает - теперь там можно скачивать все материалы и модели задаром, просто имея учетную запись Epic Games.

17_shader_balls.png

Материал дороги - обычный мегаскановский материал асфальта 2х2 м. Чтобы тайленность текстур не бросалась в глаза я разбивал большие площади декалями и надписями. Разметка дороги и надписи на ней сделаны геометрией и подняты на небольшую величину.

18_asphalt01.jpg

19_asphalt02.jpg

20_asphalt03.jpg

Аналогичный подход был применен и при создании материала бетона.

21_concrete_wall_1.jpg

22_concrete_wall_2.jpg

23_concrete_wall_3.jpg

На текстурах все равно видно тайл. Но надо учесть, что в финальной сцене есть еще автомобили, частично перекрывающие эти поверхности и тень от туннеля, а значит можно оставить и так. Motion blur также существенно упрощает дело.
Кроме этого, на балках сделал с помощью Boolean неровности - как будто некоторые куски бетона от времени отвалились: для этого создал плейн с некоторым количеством сабдивов, добавил к нему модификатор Displace со стандартным процедурным шумом и вычел из геометрии балки плейн модификатором Boolean. Что удобно, плейн можно в процессе подвигать и выбрать ему наиболее удачное положение для вычитания.

24_boolean.jpg

Освещал локацию картой HDRI VizPeople_non_commercial_hdr_v1_05.hdr и источником света Sun. Также слегка подсветил сам туннель эмиттером материала на лампах сверху.

25_env_lighting.jpg

Ну и весь процесс создания окружения выглядел так:

26_loca_GIF.gif

CHARACTERS
Сделав локацию и основные средства транспорта, можно было приступать к созданию персонажей. Опыта в создании персонажей с нуля у меня нет, да и хотелось успеть сделать работу на Hum3d Challenge, поэтому я использовал стандартные болванки людей из DAZ Studio. Одежду делал в Marvelous designer, а волосы в Blender’s Hair system. Коротко расскажу о данном рабочем процессе.
Открываем DAZ Studio. В разделе Figures выбираем модель (2). Фиксируем начальную A-позу (или Т-позу), для этого выбираем все кости модели (3) и создаем ключ (4) анимации в 0. Придаем нашей модели нужную позу, перетаскиваем ключ на таймлайне в правое положение, например на 30, не забываем выбрать все кости модели (3) и создаем еще один ключ (4). Таким образом у нас есть проанимированная модель. Она нам нужна для симуляции одежды в Marvelous designer.

27_daz1.jpg

Сохраняем модель в начальном, крайнем и промежуточных положениях (кадров через 10) в отдельные OBJ файлы. Мы их будем использовать в MD в качестве Morph Target. DAZ также позволяет сразу сохранять файл с анимацией и без этой возни - если сохранять в COLLADA (.dae), а MD умеет их открывать - но добиться корректного экспорта с этим форматом, сколько я ни пытался, у меня не получалось.
Ну да ладно, подгружаем модель как аватар в начальном положении (А- или Т-позе) в MD, создаем одежду. Далее импортируем по порядку сохраненные .OBJ как Morph Target. Таким образом аватар примет нужное положение и просчитается симуляция одежды.

28_MD.jpg

BETAMAX GIRL

29_betamax.jpg

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

30_betamax_ref.jpg

Референсы к первому персонажу

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

31_betamax_mat.jpg

Материал мятого жакета

Так выглядит завершенный персонаж Betamax girl

32_betamax2.jpg

VHS WARRIOR

33_VHS.jpg

Описанным выше нехитрым способом был также создан и этот персонаж. Сложнее всего в нем, пожалуй, было сделать модную прическу того времени, которая в наше время покажется как минимум странной. Было трудно найти референсы так, чтобы подходящая по стилю прическа была видна со всех сторон. Годные референсы я нашел на сайте по продаже маскарадных костюмов :)

34_VHS_ref.png

Референсы ко второму персонажу

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

35_VHS_hair_wip01.jpg

В моем случае я сделал 4 группы particle hair - long, top, chaos, volume. Long и top - основные, chaos - нужна чтобы сделать прическу более “натуральной”, volume - закрывает проблемные места.

36_VHS_hair_wip02.jpg

37_VHS_hair_presets.jpg

HAIR SHADERS
Не знаю что может быть проще, чем материал волос в Blender. На WHS Warrior, как и на Betamax girl, применен дефолтный Hair BSDF Shader. Различия только в слоте Color.

38_hair_chars.jpg

39_VHS_hair.jpg

Финальная прическа VHS Warrior’a

SOME ADVICE
Наиболее часто я использую Principled BSDF Shader. Он позволяет создать большинство материалов, которые только могут понадобиться. Если вы используете готовые текстуры PBR Metallic(Specular)/Roughness(Glosiness) или же создаете свои, например в Substance Painter, то советую включить в настройках блендера плагин Node wrangler, который позволяет сразу подключить всю группу текстур простым нажатием комбинации клавиш Ctrl+Shift+T. Он также автоматически выставляет у текстур корректный Color space.

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

40_VHS_hand.jpg

Чтобы в Блендере назначить текстуре трипланарные координаты, создайте материал, подключите к нему текстуру, а к ней ноды Mapping и Texture Coordinate (при включенном аддоне Node Wrangler это делается автоматически комбинацией клавиш Ctrl+T). В ноде Texture Coordinate выберите Object, в ноде Image Texture - Box и Blend = 0.5 (см. рис.).

41_triplanar.png

А так выглядит законченный персонаж VHS Warrior

42_VHS2.jpg

Забавно, что назвав такими именами персонажей - VHS Warrior и Betamax Girl, сама сцена неожиданно для меня приобрела новый смысл - ведь войны бывают не только у людей, но и у форматов :)

CAMERA’S EFFECTS

В работе честные DOF и Motion blur. Остальные эффекты камеры - хроматические аберрации, lens flares, виньетирование были добавлены на посте.

43_camera.jpg

Для того, чтобы получить Motion blur я предположил, что мини-вэн и мотоцикл едут со скоростью 100 км/ч. Расчеты проводил для частоты 25 кадров/сек. За 4 секунды они проедут расстояние примерно 110 м. (для ровного счета). Так как в сцене уже все стояло на своих местах, я передвинул таймлайн на 50-ый кадр поставил ключ на мини-вэн и мотоцикл. Далее передвинул таймлайн в 1-ый кадр и передвинул средства транспорта на -55 м. И на 100-ом кадре сделал аналогичную операцию. После этого припарентил камеру к мини-вэну (Ctrl+P -> Set parent to -> Object (Keep transform)). Также выставил точку фокуса камеры на Toyota Crown с диафрагмой F/8. Остальным авто в сцене движение не задавал.
Не стоит забывать и про колеса. Со скоростью 100 км/ч они совершают около 1000 об/мин. То есть за весь путь колеса провернутся примерно на 1000/60*4*360 = 24 000 градусов. Анимируем колеса на эту величину. Вуаля, у нас все настроено, чтобы получить корректный моушн блюр.

POSTPRODUCTION

На посте добавил огонь от выстрела и частицы - подходящие нашел в поисковике по запросам muzzle flash и fire sparks. Также сделал небольшой color correct и пофиксил некоторые недочеты. Подрисовал волосы, где нужно и добавил свет от фар. Вот в общем то и все.

44_pp_GIF.gif

В заключение к этому мейкинг-оф хочу сказать, что на конкурсе Hum3d car render challenge меня в очередной раз прокатили :) Однако, очень неожиданно и приятно для меня было получить авард на Render.ru. Спасибо за то, что вы так высоко оценили мою работу. Также отдельная благодарность всем кто дочитал эту статью до конца :) Если вам интересны мои творческие потуги, то можете подписаться на мой Artstation, а я постараюсь и дальше радовать вас своими работами!

825 0 850 21
8
2020-07-09
Видно, что очень серьёзный подход к работе, на вырост. Смоделировано и придумано намного больше, чем видно на рендере. В итоге отличная работа, а все что не вошло в кадр, можно использовать в других работах.
2020-07-09
Очень круто!
2020-07-11
Симпатичная работа. Не совсем понял зачем перекрывать обзор стрелку очками с жалюзи. Дизайнерский дизайн? Локтевой сустав очень лоурезный, такой топорный, визуально вообще не тянет на девайс управляемый нейронами.
2020-07-14
Арсений, так держать! Очень круто! Продолжай в том же духе!
2020-07-14
Почти тезка, да и род деятельности близкий )
2020-07-14
Все очень круто,но по самой картинке не виден тот громадный объем работы который был проделан!стоило бы сделать хоть несколько ракурсов,историю какую то)
2020-07-14
Привет! отличный материал и работа! уровень хорошо поднял.
спасибо, что отметил и помнишь ) кстати да, разметка дороги сделана старым добрым способом )
2020-07-15
Спасибо, друзья! Очень рад, что эта статья оказалась вам интересной!
RENDER.RU