![Руины родного дома Руины родного дома](https://webcf.waybackmachine.org/web/20230202152915/https://habrastorage.org/getpro/habr/upload_files/bcf/d6c/829/bcfd6c829861950c20c18accb882662d.png)
Вступление
По роду деятельности, я не музыкант, не занимаюсь синематикой, а в движке (причём другом), я большей частью нахожу и исправляю баги. Но так уж вышло, что родился и вырос я в семье музыкантов, выучили меня соответственно, поэтому от музыки в голове никуда не денешься. Но речь сегодня не про песни, а про инструмент выбранный для создания клипа. Новенький Unreal Engine 5.1 с нанитами, люменами и смежным Metahuman Creator. Не свою же страшную морду в клип пихать, людей пугать. Тем более, что воссоздать постапокалипсис из слов в песне куда проще в движке, нежели в реальности (очень надеюсь на это).
Да, сама песня повествует о человеке, идущему по родному городу в мире случившейся катастрофы. Он обходит руины и задаётся немым вопросом: зачем?! (это если приличными словами)
Начало работы
Надо сказать, что Unreal Engine для меня движок достаточно неизведанный, поэтому я сходу наступил вообще на все грабли на которые только можно было наступить. Разумеется я был детально знаком с левелдизайном, потому что как разработчик, я больше всего саппортил именно левелдизов с этими их вечными хотелками. Но сам инструментарий поначалу давался тяжело. Хотя нанит и даёт иллюзию, что можно выкачать через Quixel Bridge вообще всё и расположить как угодно, но...
Никогда не выкачивайте сразу самые большие текстуры, самые тяжёлые модели и всё в самом адовом качестве. Во-первых можно это сделать и позже, в первую очередь надо составить композицию, выбрать нужные детали и отсеять ненужное, а качать тяжелое дольше. Во-вторых на 8К текстуру наложенную на Landscape у вас может банально не хватить видеопамяти. Да и в целом, берегите нервы, синематик быстро не делается, вот надо вам все эти зависания и слайд-шоу?
Будьте крайне внимательны к деталям. Очень просто выкачать понравившийся кусок стены, который сразу убьёт погружение в повествование. Какой-нибудь кусок трубы, который относится к другой эпохе или стена, которая просто выглядит не так как все остальные на локации, и всё... малейшая неточность сразу же убивает вовлечение зрителя. Пусть стены и обломки выглядят безобразно, но единообразно.
Надо сказать, что Quixel Bridge, встроенный в редактор уровня, максимально упрощает поиск нужных ассетов и поверхностей по категориям. Я легко находил нужные ассеты по запросам вроде Debris (мусор или обломки) или Destroyed (разрушенные) в категории Industrial (там как правило бетон и стены с трубами и арматурой).
Чуть сложнее было с Landscape, пока я не увидел, что можно просто взять заготовку поменьше, накинуть на неё поверхность всё из того же Quixel Bridge, чуть пошуметь высотами (карта нормалей уже делает половину работы) и готова поверхность, усеянная обломками из битого кирпича.
Но для полноценного повествования нам нужен главный герой.
Metahuman Creator
![Последние лучи солнца Последние лучи солнца](https://webcf.waybackmachine.org/web/20230202152915/https://habrastorage.org/getpro/habr/upload_files/ff2/b79/0e9/ff2b790e95f269131065992e56f01c01.png)
Надо сказать, что более детальной модели человека, чем создаваемая бесплатно в Metahuman Creator, я не видел нигде. Здесь есть риг для любой мышцы лица. Сама же настройка крайне детальная, и можно составлять мета-человека из комбинации уже готовых. Я, например, скрестил старика индийской внешности с тремя европейцами, и получил внезапно поседевшего, ещё не старого человека, сильно заросшего. В общем, идеальную кандидатуру для сюжета моего видеоряда.
Важно! Не повторяйте моей ошибки и внимательно читайте предупреждения. Если вас предупреждают, что модель сырая, то лучше её не брать. А то придётся как мне, обходиться первыми двумя лодами и быть привязанным к определённому расстоянию до главного героя от камеры. (На большем расстоянии волосы на голове просто пропадали.)
После создания ваш метахьюман через некоторое время попадёт в редактор, в секцию ваших металюдей, и будет готов к размещению на локации и анимированию.
Также очень важно! Сейчас уже можно импортировать все анимации с НОВОГО скелета в Unreal Engine 5.1, включая ходьбу, бег, прыжки и прочее из туториального манекена. Но YouTube просто кишит материалами, как удалять кости, переназначать их, чтобы работало с манекеном из версии 4.x. Всё сейчас гораздо проще, не надо ничего гуглить, просто переназначьте анимацию с манекена на метахьюмана. (Называется Retarget Animation Assets, и все необходимые настройки для метахьюмана нужной комплекции и пола там уже есть.) В общем, иногда излишне гуглить тоже вредно.
Композиция синематика
![Вид сверху на локацию Вид сверху на локацию](https://webcf.waybackmachine.org/web/20230202152915/https://habrastorage.org/getpro/habr/upload_files/e24/86c/63f/e2486c63f2ceabf6bc8ee7676ef56ff6.png)
На самом деле, самое важное, это иметь в целом идею что будет происходить на локации от начала до конца. Как всё должно выглядеть. И не менее важно, как что-либо выглядеть не должно. Как бы камера ни крутилась, какие бы позиции не принимала, не должно быть видно ни дырок, ни пустот. В данном случае нельзя было создавать некие горы-океаны вдали, но нам очень помогали две вещи: мы ходим среди руин и вокруг густой туман из пыли, которую несёт ветер. Ну и да, туман...
Volumetric Fog
Я безумно люблю Volumetric Fog в любом движке, и качество освещения в движке я как правило оцениваю по нему. И надо сказать, Unreal Engine 5.1 меня не разочаровал. Во-первых я смог детально настроить освещение на локации с еле пробивающимся светом солнца через толщи пыли. Во-вторых прямые лучи из-за стены дали мне ряд прекрасных кадров во время проигрыша перед вторым припевом. Но главное, мне не пришлось настраивать ни Lense Blur, ни ряд других постэффектов. Вполне достаточно Volumetric Fog и движения камеры относительно солнца и других объектов.
![Volumetric Fog Volumetric Fog](https://webcf.waybackmachine.org/web/20230202152915/https://habrastorage.org/getpro/habr/upload_files/0f7/4bc/172/0f74bc172a24da7715cee540766c2d73.png)
Вдобавок вы получаете так называемые God Rays - ниспадающие потоки света через всевозможные края поверхностей, что в движении выглядит просто как космос! На всякий случай, скину ссылку на полезное видео по этой теме:
Секвенсер синематики
Теперь об огромной ложке дёгтя в этой бочке мёда. Долбаный секвенсер!
Я ещё не встречал более сырого инструмента для съёмки синематики пожалуй... вообще нигде!
Углы! Боже мой, сколько времени ушло на плавный переход камеры между углом -179 градусов и 179 градусов! Все приемлимые решения с переводом в кватернионы были куда-то потеряны при переходе с 4.x на 5.x, и теперь есть только углы. При создании ключа поворота камеры значение нормируется между [-180, 180] и граничные значения интерполируются резким переходом через 0 градусов... Выглядит это как плавное движение камеры резко обрывается, камера начинает резко вращаться в другую сторону и потом продолжает своё движение как ни в чём ни бывало опять в прежнюю сторону.
Здесь меня очень выручила утилита правки значений через кривую Sequencer Curves:
![Sequencer Curves
Sequencer Curves](https://webcf.waybackmachine.org/web/20230202152915/https://habrastorage.org/getpro/habr/upload_files/975/35b/1fc/97535b1fc8d1fc253873b02184fd0221.png)
Тут можно не только сделать угол больше 180 или меньше -180, но и задать плавный переход для любого ключа в анимации, будь то yaw, pitch или roll.
Компоненты! Будьте внимательны! Почти всё на сцене, включая камеру, свет и тело вашего метахьюмана, состоит из компонентов. И если не хотите потом всё переделывать, сразу трекайте в секвенсере самый внешний компонент. Исключение тут составляет разве что Body у метахьюмана. Анимация движения отдельно, а лицевые анимации нужно будет задавать отдельно, включая моргания, фокус взгляда и эмоции.
Ветер и пыль
Проще всего ветер задаётся для частиц. С пылью не было никаких проблем. Сама Niagara предоставляет столько возможностей, сколько я ещё не видел вообще нигде. Можно выстроить кривую, сам источник прицепить к камере и в лицо всегда будет дуть поток пыли. Тут важно помнить только то, что источник должен быть в пределах видимости камеры, иначе все частицы просто обрезаются.
![Niagara System Niagara System](https://webcf.waybackmachine.org/web/20230202152915/https://habrastorage.org/getpro/habr/upload_files/a85/08b/ea7/a8508bea7125498d3e531b535d5ac29f.png)
Ветер в волосах
Гораздо сложнее задать ветер в волосах у персонажа.
![Ветер в волосах Ветер в волосах](https://webcf.waybackmachine.org/web/20230202152915/https://habrastorage.org/getpro/habr/upload_files/e8d/f46/aa5/e8df46aa54630c3441c83b459f5c2f55.png)
Здесь нас очень выручает то, что нам подходит вот этот материал. Оставлю ссылку здесь:
Несмотря на другую версию движка, всё подходит и для волос метахьюмана. Единственное, что ветер для пыли по кривой должен соответствовать тому, что воздействует на волосы (и бороду) персонажа.
Рендерим
Как ни странно, но лучше себя для рендера показал "Legacy" инструмент. Больше опций, обязательный проход кадров, если например надо 48 fps, а видеокарта не всегда выдаёт даже 36 fps. Ну и главное, работать мы сможем в видеоредакторе уже с готовым видео, а не с набором из 3,5 тысяч кадров, от которого несчастная файловая система сходит с ума.
У меня получилось чуть больше 4 минут видео. Результат ниже:
Советы и критика
Любая критика приветствуется! Это мой первый опыт, вероятно где-то что-то я делал неоптимально. Любые советы мне только в плюс, всегда буду рад, если со мной поделятся своим опытом матёрые профессионалы.