Как я делаю реалистичную короткометражку по Top Gun в Unreal Engine 5 - вторая часть

Доброе утро, авиаторы, на связи ваш капитан!

Я продолжаю работать над препродакшеном своей короткометражки Top Gun: Zero Point (я работаю режиссёром катсцен и такой движ часть моей профессиональной деятельности, а первую часть дневников разработки можно прочитать вот тут). За прошедшие два месяца я успел сделать довольно много важных вещей, но начнём с самого важного и красивого — я подготовил proof of concept пересняв несколько шотов из Top Gun Maverick — не все детали повторяются в точности до идеала, но общее ощущение киношности, движения самолётов и связанных с ними эффектов вполне удалось воссоздать и я доволен результатом. В процессе удалось научиться оч многому, но самое важное — как работать с анимацией самолётов и чувствовать их физику. Совет, который для кого-то будет очевидным, но я всё же им поделюсь — если анимацию людей обычно дорабатывают под камеру, то с анимацией самолетов, машин и тд лучше работать полностью на локации, а потом уже финализировать камеру под анимацию, а не наоборот, это очень важно. Собственно, сами шоты:

Маверик показывает ребятне кто тут батя

Довольно простой шот — лэндскейп собран буквально из пары скал мегасканов, базовая настройка атмосферы и несложные движения самолётов. Было приятно проверить свой глазомер — линзы я подбирал анализирую и сопоставляю картинку с движением внутри кадра и прикрепленная камера вышла по объективу на 12мм. И как же мне было приятно, когда я нашел информацию про использованные на самолётах линзы и там как раз упомяналась 12шка.

Проверка систем F-18 перед запуском

Этот кадр я уже показывал в первом дневнике, но теперь я добился в нём максимальной схожести — убрал форсаж с движком оставив исключительно прогрев, проработал движение спойлеров (на эти 5 секунд ушло где-то два часа работы тыкать оси ротейшена туда сюда) и подобрал более подходящую линзу.

ПАК ФА исполняет невероятный манёвр

И наконец-то самый сложный шот — с ним я провозился 8 часов, потому что у меня вообще не получалось сделать плавный прокрут самолёта по нужным осям. Кейшоты которые я проставил по позам по ходу движения автоматически создавали расколбас самолёта в разные стороны и пришлось долго думать какие оси как должны повернуться. Зато с воздухом на корпусе всё оказалось очень просто — недавно Epic раздали бесплатно Fluid Ninja FX Tools в котором можно генерировать 2D эффекты разного рода симуляций частиц и довольно быстро получил то, что мне нужно и даже без использования объемных эффектов результат выглядит достойно!

Пример одного из флипбуков для эффекта воздуха на корпусе
Пример одного из флипбуков для эффекта воздуха на корпусе

Важная вещь, которую я понял по ходу съемок этих шотов — когда снимаешь самолёт издалека, надо заходить на территорию супер-телевиков (100-150мм) потому что только с ними можно получить хороший параллакс движения фона. По сути я выбрал эти линзы просто поразмыслив — самолёт с которого шла съемка этих кадров в реальной жизни не может особо близко подлетать к самолётам в кадре, поэтому для подобной крупности явно использовались очень узкие линзы. И да, на деле всё оказалось именно так :)

Видео в высоком разерешение с этими кадрами + сравнение с оригиналом

Лицевая анимация

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

Мой первый вариант шлема для мокапа лица - очень тяжелый и неудобный

Я успел повозиться с LiveLink Face — программа для съемки лицевой анимации через Face ID камеру iPhone которая пишет напрямую в Unreal Engine — она даёт довольно слабый результат передачи деталей движений лица несмотря на любую калибровку и требует безумной доработки анимации руками. Я пробовал инудстриальные стандарты в виде Faceware Studio и Dynamixyz — они довольно неудобные в обращении и с ними сложно работать не специалисту по лицевой анимации, в итоге сырой результат тоже нужно сильно дорабатывать. Но тут я наткнулся на Facegood — решение для переноса лицевой анимации от китайской компании Avatary и оно оказалось БЕЗУМНО удобным. Вкратце — пишешь лицо на камеру как это происходит с Faceware и Dynamixyz, трекаешь движения бровей, глаз, губ и носа в софте с user-friendly интерфейсом имея возможность поправить каждый кадр по трекингу и дальше переносишь всё в Maya с ретаргетом на свою модель — главное иметь хороший лицевой риг (я использую MetaHuman) и надо всего лишь выставить несколько ключевых поз лица под видео и все остальное сделает программа — и вот уже лицевая анимация отрабатывает на твоём персонаже с 90% идентичностью твоей видео-записи. При этом анимация переносится в Unreal Engine прямо на лицевой риг и ты очень быстро можешь подкорректировать все неточности и добиться ААА-качества лицевой анимации! Ниже в видео записал весь процесс работы с Facegood:

Туторы туторчики

Главный затык в этом всём — мокап шлем, потому что студийные шлемы стоят по 2 штуки баксов, а значит надо делать самому, но нормально! Мне нужно было достичь одного — чтобы шлем весил по минимуму, потому что мне с ним записывать довольно много, а грыжу шейных позвонков я заработать не хочу (про такое рассказывал каскадёр снимавшийся в Хардкоре Ильи Найшуллера — у них были тяжелые спортивные шлемы с GoPro на них и дело дошло до операции). И решение оказалось довольно простым — каска сварщика, карбоновые стрелы и 3D детали для соединения всего, которые я могу распечатать на 3D принтере.

Вот детальки для крепежей - если вам интересно, то можете скачать их по <a href="https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1DNxhgZOge5hqxdsy4WowRlHhyUIX1SeX%2Fview%3Fusp%3Dsharing&postId=1359956" rel="nofollow noreferrer noopener" target="_blank">ссылке</a>
Вот детальки для крепежей - если вам интересно, то можете скачать их по ссылке
Шлем без защитной части, крепежи из пластика и стрелы
Шлем без защитной части, крепежи из пластика и стрелы
Участок с креплением экшен-камеры
Участок с креплением экшен-камеры

Я решил не покупать дорогую GoPro и выбрал Eken H9R — её качества вполне достаточно для трекинга лица, она весит 60 грамм и стоит всего 5 тысяч рублей. А остальные части вышли тоже недорого — коплект карбоновых стрел стоил около 800 рублей, маска сварщика примерно столько же, а распечатка 3D деталей обошлась в полторы тыщи. К этому стоит добавить пара переходников волчков за 200 рублей для крепления камеры и холодная сварка для финальных фиксов за 700 рублей.

Финальный результат - я потратил всего 9 тысяч рублей и получил крепкое и легкое решение
Финальный результат - я потратил всего 9 тысяч рублей и получил крепкое и легкое решение
Готов писать лицевую анимацию!
Готов писать лицевую анимацию!

Мне осталось всего лишь добавить к этому делу петличку для качественной записи голоса и прикрепить сзади шлема кармашек для внешнего блока питания, чтобы запитать всё от него и не думать о том, что всё может разрядиться!

Оцифровка людей

Ну и раз я делаю свою короткометражку, то почему бы мне самому не появиться в ней в качестве одного из актёров — например побыть вторым пилотом в одном самолёте вместе с Мавериком? :) Для этого я выбрал офигенное и простое решение — Facebuilder от KeenTools. Нужно всего лишь сделать несколько фоток своей головы, закинуть их в Blender и в плагине Facebuilder вытянуть меш головы по фоткам. Дальше просто экспортируем специальную текстуру для MetaHuman с деталями лица, перекидываем 3D модель своей головы на MetaHuman через Mesh to Metahuman в Unreal Engine 5 и подменяем текстуры на свои кастомные. Подробные процессы я записал в этих двух видео:

Общий процесс
Как правильно мерджить текстуры MH и свои из Facebuilder

Итог

Работы еще предстоит много — надо сделать лётную форму (комбинезон уже почти сшит в Marvelous Designer), разобраться с разрушаемостью в UE5, дописать сценарий, записать мокап для всех действующих лиц, начать писать музыку… В общем, ждите следующую часть дневников разработки моей короткометражки Top Gun: Zero Point, надеюсь поделиться прогрессом уже в декабре! Я выхожу за рамки своей стандартной рабочей деятельности связанной с режиссурой и приходится учиться куче всего нового (3D моделирование, FX, симуляции и тд) , но, как говорится, таков путь.

А еще можете подписаться на мой твиттер, где я публикую прогресс по ходу дела: )

P. S. Aircraft Director ждёт, когда сможет дать Маверику разрешение на взлёт!

Как я делаю реалистичную короткометражку по Top Gun в Unreal Engine 5 - вторая часть
580580
83 комментария

Кайфумба

40
Ответить

ебоии

14
Ответить

Комментарий недоступен

39
Ответить

Спасибо, приятно!

4
Ответить
Комментарий удалён модератором

тупые вообще, занимаются любимым делом, попутно продуктивно развивая свои навыки

48
Ответить

Настолько, что аж на DTF сидят и пишут комментарии.

2
Ответить