
Autumng Forest | Unreal Engine 5.1
2 поста
Осторожно! Лонгрид с историей создания!
Исторические события оживают, когда технологии встречаются с искусством. Сегодня я хочу рассказать, как мы создавали иммерсивную 3D-панораму обороны Тулы (1941 г.) для Тульского Музея Обороны. Это был масштабный проект, который объединил историков, 3D-художников, программистов и режиссеров.
Привет! Меня зовут Давид, я CGI художник на Unreal Engine и сегодня я хочу с вами поделиться опытом создания своей первой панорамы для Тульского Музея Обороны в 2021 году на тему Второй Мировой Войны.
Но прежде чем мы с вами перенесемся в сам процесс подготовки и создания проекта, призываю вас самостоятельно по возможности посетить Музей Обороны Тулы вживую. Это крутейший музей, который дарит опыт переживания событий того времени с погружением в декорации, интерактивные элементы и звуки. Да простит меня @Zus85 за то, что возьму у него для наглядности крутые фото.
А вот теперь - погнали!
Всё началось с идеи и заказа: показать три дня обороны Тулы в формате 6-минутного immersive-шоу. Мы хотели, чтобы зрители не просто смотрели, а чувствовали себя частью событий.
Первым делом мы собрали команду историков-консультантов. Они помогали нам на всех этапах разработки, в том числе - создать сценарий, основанный на реальных событиях. Каждый эпизод — это не просто красивая картинка во время шоу, а точная реконструкция определенных событий, которые происходили во время обороны.
Само собой все события трёх непрерывных дней обороны уложить в 6 минут было бы сложно. Но самые знаковые как как то: подготовка к наступлению, бомбардировка деревень, отбитие первой и второй волны наступления танков и солдат, психическая атака в полной темноте и в конечном счете разгром противника с помощью подступивших в конце обороны Катюш, - отображены в полной мере.
План наступления и некоторые исторические фотографии с места событий.
Следующий этап — создание концептов и 3D-моделей. Мы начали с техники: танки, мотоциклы, оружие. За основу брали архивные чертежи и фотографии. Каждая деталь должна была быть исторически точной. Также на всю техник у и пушки мы создали отдельные скелеты под анимации, чтобы можно было менять их положение в зависимости от дальнейших анимаций людей.
Слева направо: зенитное орудие, немецкий танк (концепт и реализация), вооружение туляков.
Солдаты — отдельная история. По итогу - 31 человек, каждого из которых я в свое время знал поименно и пофамильно и практически сроднился, настолько много было с ними взаимодействия и доработок. Мы оцифровывали их по историческим фото, а затем анимировали с помощью motion capture. Это позволило добиться реалистичных движений: от бега до перезарядки оружия.
Однако и тут не обошлось без проблем. Анимацию мы делали на старой студии захвата движения в Москве. Тогда полноценные костюмы, которые захватывают сами себя, уже были, но еще не дошли до наших рук. Поэтому пришлось огромное количество времени потратить на чистку этих анимаций и потом на синхронизацию друг с другом, т.к. каждый из туляков стоит на своем месте и выполняет определенную роль.
Все персонажы были уникальными, ни один в проекте не повторялся.
Чтобы зрители почувствовали себя в эпицентре событий, мы создали разрушенные здания, окопы и даже растительность. Для этого использовали открытую библиотеку Megascans и собственные наработки.
Но это не всё. В музее мы также построили физические декорации: окопы, модели танка, мотоцикла и зданий. Это добавило проекту тактильности и глубины.
Первые концепты и тесты окружения в реальности на этапе разработки.
Однако если касаться самой панорамы, то все оказалось не так просто. Нельзя было просто взять и разработать контент без учета того, что вживую в музее будут перед ней стоять окопы, здание, мотоцикл и настоящий немецкий танк! Поэтому пришлось потрать некоторое время на тестирование окружения. C одной стороны я отрисовывал новые варианты удаленно, а ребята на площадке ставили их на панораму и давали правки по композиции с учетом декораций.
В нескольких итерациях двигали кадр как композиционно, так и расширяя вглубь ландшафт. Конечный ландшафт при этом пришлось разделить на 2 части, чтобы деревни были визуально дальше, а танки не появлялись совсем из-за горизонта.
Основой проекта стал игровой движок Unreal Engine 4.27. Этот движок позволил нам создать кинематографичную графику и интерактивные элементы. RayTracing добавил реализма: динамические тени, отражения, блики.
Для спецэффектов (дым, взрывы, погода) использовали Niagara. А постобработка в Adobe After Effects сделала изображение ещё более атмосферным.
Из забавного - буквально за неделю до начала проекта вышло первью новейшей версии движка Unreal Engine 5. Оно было очень сочным. Но т.к. мы с ним еще не разу не работали на проектах, то решили повременить и остаться на предыдущей версии, чтобы избежать необязательных багов и вылетов (что с новыми движками в необычных проектах часто случается).
Т.к. команда разработчиков у нас была не очень большая, то специально для проекта я написал несколько графических систем, которые упростили нам анимацию всех этапов движения танков, выстрелов из зенитки, пушек и связанных с ними спецэффектов.
Первая из систем - система выстрелов. Т.к. таких выстрелов во время ролика было очень много (и от танков, и от солдат, и от зенитки, и от гранат), то пришлось придумать, как упростить огромное количество действий по анимации до одной кнопки. И получилось такую копку изобрести. Каждому оружию - по такой конпке. По ее нажатию происходят последовательно сразу все этапы выстрела: сам выстрел с выхлопом дыма, летящий по траектории снаряд и попадание в цель, что вызывает либо взрыв по земле, либо взрыв по технике. При этому у каждого солдата есть свои цели, у каждого из танков - свои.
Также у танков аж 3 кнопки для управления анимациями: взорваться, выстрел из основного орудия, выстрел из пулемета. (Фото ниже)
Справа внизу кнопка системы для открытия огня, на следующем слайде - сама система с последовательностью эффектов от выстрела и расчетом дальности с последующим эффектом получения урона.
Вторая глобальная система - система анимации танков. В общей сложности во всем проекте их 41 штука! Сроки проекта были не очень большими и при всем желании не получилось бы их анимировать их вручную. Тем более с правками! И тут у нас тоже получилось выкрутиться. Я написал вторую систему, которая позволяла бы, как это поточнее бы выразиться... Тащить танк на веревочке за собой. Как детскую машинку.
По сути мы создаем и анимируем только ведущий объект (как раз над танками) и ведем его в горизонтальной плоскости, а танк, как послушная машинка едет за ним по местности, догоняя, учитывая все нюансы ландшафта под собой (в том числе по вертикали) и слегка сглаживая общее движение, чтобы не мотаться туда-сюда от каждой кочки. Также для каждого из танков существует отдельный объект в качестве цели (башня вертится отдельно от корпуса и может стрелять как из основного орудия, так и из пулеметов).
И это сработало! Мы смогли оперативно менять направление движения танков, и создали необходимые построения на каждый этап боя.
У каждого танка свой уникальный номер, чтобы во время анимации можно было быстро понимать, о каком из 41 танке идет речь. Сама система занимает горааааздо больше места, чем у простой пушки.
Чтобы усилить эффект присутствия, мы разработали световое и звуковое шоу. Оно синхронизировано с панорамой и длится 6 минут. Звукоряд включает голоса солдат, шум боя, выстрелы, эмбиент и диктора.
Итогом нашей насыщенной работы стала иммерсивная панорама, которая проецируется на огромное полотно (30×5 метров). Физические декорации и атмосферное шоу создают эффект полного погружения.
Открытие музея с нашей панорамой дало мне и другим активным участникам проект хороший толчок для дальнейшей работы в графике и музейной сфере. А главное — подобный проект можно масштабировать под другие события, например, битву за Москву.
Приехал спустя полтора года после создания, посмотрел, как выглядят все доработанные экспонаты всего музей и получил массу впечатлений!
Этот проект показал, как технологии могут оживить историю. После мы уже успели поработать над еще одной интересной панорамой в Музее Военно-Морского Флота в Кронштадте.
Если у вас есть вопросы или идеи — пишите в комментариях!
Делитесь впечатлениями, если уже успели посетить Музей Обороны Тулы. Спрашивайте, если что-то интересно подробнее, буду рад с вами поделиться!
👁 Глаз сегодня зацепился, во время рысканья по ютубу.)
Очень приятный технический ролик с тестами монстров и контрол ригом на Unreal Engine по недавнему проекту Cronos The New Dawn.
Прям глаз радуется, приятно смотреть! Монстры бомбически двигаются по поверхностям.)
Сегодня суббота, а значит время скриншотиков из текущих проектов!
Делитесь в комментах, над чем работаете сейчас 🔝
Это ребрендинг всем известной штуки под названием Reality Capture.)
Из новых фишек:
- AI Masking - самостоятельное удаление задников с фотографий
- Smarter Alignment - более аккуратная автоматическая укладка точек и фото для воссоздания 3д моделей
- Aerial Lidar Support - поддержка более сложных и комплексных способов сканирования (Совмещение видео и лидаров с воздуха, а также видео и лидаров с земли)
Я в последние полгода серьезно увлекся фотосканами (Подводный город из них состоит!), так что было бы интересном, мне кажется, это потестить в каком-то виде, а потом сделать со сканом сцену.)
Доработал концепт, разложил текстуру на PBR материал для Unreal Engine.
Эффект свечения и выдавливания достигается засчет раскладки одной текстуры на 6 текстур, которые описываю PBR
Внутри движка собрал несложный кастомный шейдер, который позволяет не только грамотно отобразить материал, но и сделать Parallax, т.е. вдавливание по карте. За счет этого создается иллюзия объема, хотя сама модель изначально плоская.
Ну и, собственно, как это работает в движении:
Привет всем! Недавно открыл для себя в рамках одного проекта open source инструмент Stable Projectorz и возможность к нему подключать любые 2д и 3д нейросетевые модели. Этакая замена Substance Painter, но только без pbr (и не замена :Р)
Помимо всего прочего я попробовал генерацию моделей через этот же софт, но с движком Hunyuan 2. Выходит интересно!
Со сложными объектами, особенно выделенными на фоне, справляется неплохо. С совсем мелкой детализацией - так себе. А вот если объект имеет общие формы - очень даже!
Мне кажется, это отличный способ работы с лоу-поли моделями если вы делаете игру.
Вместо покупки супер-детализированных моделей и упрощения их для вашей игры, просто берете скрин с сайта покупки моделей, прогоняете через ИИшку и получаете лоу-поли модель со средними текстурами (которые можно доработать до крутых, кстати).
Если подытожить и провести небольшой анализ по скринам с тестов, то:
1) Модель цветка неплохая, детализированная сетка, но врет по текстурам, можно доработать до норм
2) Женщина в платке с акварельного арта всратая, но сетка нормальная, так что можно доработать текстуры до нормальных
3) У наушников поломанная модель, нужна доработка. И текстуры
4) Дерево не вдуплилось от слова совсем. С мелкими деталями - большая проблема. Но оно так-то и у всех.)
5) Пуф получился отличным сразу
6) Миска с малиной классная по геометрии, но нужны нормальные текстуры
7) Кресло хорошее сразу. Можно слегка доработать
8) Кофемолка в целом ок, но со стеклом большие проблемы, как и ожидалось. В остальном дорабатываемо.
Выводы: софт, генерирующий 3д модели по картинкам еще достаточно сырой. Но в нужных руках и с доработкой - вполне себе ничего!
Это что-то с чем-то!
Я тут наткнулся на редактор Stable Projector Z и сошел с ума!
Он легально позволяет текстурировать модель с помощью нейросетей. Это Open Source проект. Поэтому можно его просто установить, потупить в туториалы полчаса и начать творить. Сейчас прорабатываю концепт головы девушки-метахьюмана, которую я превращу в андроида.
В итоге развертка головы сначала выглядела так:
А в итоге стала так:
Естественно потом нужно будет взять и сделать нормальную PBR развертку, но для базовых визуальных концептов - значительно повышает скорость работы.)
Анимация захватывается с веб-камеры.
На изображении вебки отслеживаются датчики на лица (синие точки на превью)
Уже непосредственно с них берется и сглаживается движение, которое передается метахьюману.
В реальном времени отслеживается движение лица, шеи, головы, плеч. Причем, как подчеркивают сами разработчики, важно не разрешение камеры, а количество кадров в секунду, которое оно способно выдавать.
Т.е. анимация получится качественнее, если будет разрешение, например, 1280х720 px, но при этом с 60 кадрами в секунду. И хуже, если разрешение видео будет 4k, но при этом кадров будет 25.
Недавно провел прямой эфир с Николаем Rec Fox, во время которого изучали новых металюдей и создавали копии друг друга. Получилось интересно!
Так получился Rec Fox у меня
А так вышел получилась моя модель у самого Rec Fox :)
А кроме того, что мы метаьюманов создали, так еще и попробовали в прямом эфире фишку, когда с любой веб-камеры теперь можно сделать отслеживание и анимацию лица!
Полный эфир с нашими живыми лицами можно посмотреть тут: