Примеры использования MetaHuman Creator в играх и визуализациях
С момента выхода MetaHuman Creator в ранний доступ прошло не так много времени, чтобы делать какие-то выводы о том, насколько этот инструмент популярен среди разработчиков Unreal Engine. Тем не менее студии уже присматриваются к нему и экспериментируют с моделями MetaHuman. Правда, эксперименты не всегда приводят к положительному результату.
Импортированная модель в Unreal EditorСкриншот: Леон Балбери для Skillbox Media
Российская студия TALLBOYS уже несколько лет работает над иммерсивным симулятором Militsioner, трейлер которого в своё время вызвал большой ажиотаж в Сети. После того как изначальную модель гигантского Милиционера заменили «цифровым человеком» из MetaHuman Creator, на разработчиков обрушился шквал критики со стороны игрового сообщества. Всё дело в том, что новый, реалистичный образ Милиционера больше не вызывал эффекта зловещей долины и, в отличие от прошлой версии, уже не так пугал игроков. Разработчики планируют снова изменить текущую модель, вернув ей гротескные черты.
Скриншот: игра Militsioner / TALLBOYS
«MetaHuman Creator создан под огромный спектр задач — от синематиков до мобильных платформ. Из-за этого случаются проблемы с производительностью. Нужно постоянно искать и решать, что можно убрать или изменить. Что касается тонких настроек черт лица, то разработчики игр на UE4 уже нашли множество обходных способов , и сейчас это уже не такая большая проблема. Но всё же хочется, чтобы этот функционал присутствовал в редакторе. Такое решение помогло бы выстроить правильный пайплайн и сэкономило бы десятки часов для таких небольших команд, как наша. Но импорт моделей реализован просто отлично: как Epic Games и обещала, достаточно нажать одну кнопку».
Дмитрий Шевченко, геймдизайнер, директор TALLBOYS (Pandemic Express, Militsioner)
Дмитрий отмечает, что, помимо ограниченной кастомизации моделей, главный недостаток инструмента — отсутствие подробной документации. Так как MetaHuman Creator представляет собой комплексный модуль для движка, у студии уходит много времени на обратную разработку. Из-за этого возникают сложности с пониманием того, какой функционал в инструменте — временный в связи с ранним доступом, а какой — задуман изначально.
«Сейчас сложно воспринимать MetaHuman Creator как готовый инструмент из-за стадии раннего доступа. Поэтому при обновлениях возникают определённые сложности. Например, в одном из последних апдейтов добавили новые кости , из-за чего многие анимации попросту сломались в результате постобработки. Такие нюансы затрудняют разработку собственных инструментов. На данный момент для анимации тела доступен Control Rig — это встроенный функционал для риггинга в Unreal Engine. Других решений „из коробки“ сейчас нет. Движок изначально не был спроектирован под анимирование персонажей, поэтому у него не самый удобный UI. Это сильно тормозит скорость работы по сравнению с распространёнными программами 3D-моделирования вроде Maya и Blender. Выходит, что небольшой команде создавать кастомные инструменты для работы с ним очень сложно, так как они потребуют постоянных и комплексных обновлений.
Именно поэтому для нас сейчас самый критичный недочёт инструмента — отсутствие документации и примеров использования на практике. Ждём и надеемся на публикацию нового демо The Matrix Awakens хотя бы с минимальным наличием примеров активного использования технологии».
Дмитрий Шевченко, геймдизайнер, директор TALLBOYS (Pandemic Express, Militsioner)
MetaHuman Creator стала большим подспорьем и в области визуализаций. Anvil Frame Studio использует контент, созданный в MetaHuman Creator, не только в своих проектах, но и на курсах по Virtual Production и созданию синематиков в UE4. Основатель студии, Виктор Манин, считает MetaHuman Creator одной из лучших бесплатных альтернатив по созданию «цифровых людей», хотя и не отрицает, что у инструмента пока есть недостатки, связанные с ранним доступом.
Предпосылки к созданию MetaHuman Creator
В основе инструмента заложены наработки сербской студии 3Lateral. С 2012 года компания в основном занималась 3D-сканированием и моушен-дизайном, успев поработать над сканированием и анимацией лиц персонажей в таких играх, как Devil May Cry 5, Until Dawn, GTA 5, Horizon: Zero Dawn и Hellblade: Senua’s Sacrifice. Также студия плотно сотрудничала с Epic Games (Unreal Engine Demo: The Kid, Troll Project), и на основе этого союза появились предпосылки к созданию новой технологии.
Стартовой точкой в истории MetaHuman Creator можно считать конференцию GDC 2017, когда основатель 3Lateral, Владимир Мастилович, при сотрудничестве с Epic Games представил ранний прототип редактора персонажей. Эту технологию студия назвала «сращивание генов» (Gene Splicer). Под термином подразумевалась процедурная генерация новых лиц на основе отсканированных данных реальных людей. При сканировании участки поверхности кожи отслеживались датчиками с точностью до уровня пор и сохранялись в базе данных.
Кадр из презентации Gene SplicerСкриншот: Леон Балбери для Skillbox Media
«Я работал с Владом над демо для GDC 2017, которое, по сути, было демонстрацией технологии смешивания разных зон человеческих лиц на её раннем этапе. Количество пресетов было сильно ограничено, и отсутствовала возможность править результат. Программа Влада нуждалась в некоторых доработках, которые мог реализовать движок. Вместе с UI-дизайнером из команды Epic Games мы оснастили прототип необходимым функционалом , чтобы редактор выглядел презентабельно. Сама концепция была ещё в зачаточном состоянии, но так и появилась наша идея — идея возможности создавать уникальные лица и анимировать их, имея даже небольшую базу отсканированных данных, при помощи технологии смешивания, которую разрабатывала 3Lateral».
Джеймс Голдинг, технический директор Epic Games на стриме MetaHuman Creator | Inside Unreal
С поддержкой Epic Games концепция «цифровых людей» продолжила развиваться. Уже на GDC 2018 во время доклада State of Unreal технический директор Epic Games Ким Либрери представил демонстрационный ролик Siren — краткий монолог виртуальной девушки о том, что она не просто «сборка красивых пикселей».
В создании этой визуализации принимали участие сотрудники Epic Games, а также компании Tencent, 3Lateral, Cubic Motion и Vicon. Сразу же за этой презентацией шло выступление Владимира Мастиловича. В нём он наглядно продемонстрировал, как с помощью движка Unreal Engine студии удалось не только создать цифровую версию актёра Энди Серкиса с помощью 3D- и 4D-сканирования, но и перенести данные его лицевой анимации на вымышленного представителя инопланетной расы.
Энди Серкис зачитывает монолог из трагедии «Макбет» Уильяма Шекспира.
Прогресс технологии заставил Epic Games всерьёз задуматься об инструменте для создания человеческих 3D-персонажей высокого качества, который по силам освоить каждому пользователю, и вскоре компания перешла к действиям. В январе 2019-го она приобрела студию 3Lateral. В ноябре того же года о сотрудничестве с Epic Games объявила компания Quixel, которая создала уникальную библиотеку ассетов и два приложения, обеспечивающие более удобный импорт контента. В 2020 году Epic Games купила и Qubic Motion — студию, специализирующуюся на технологии лицевой анимации.
3Lateral и Qubic Motion объединили свои усилия в создании реалистичных 3D-моделей, собирая результаты сканирования реальных людей в одну общую базу данных. В дальнейшем эти модели добавили в приложение Quixel Bridge, которое отвечает за просмотр, загрузку и импорт материалов Quixel Megascans. Таким образом, три компании под руководством Epic Games положили начало созданию новой «цифровой» расы в рамках Unreal Engine.
История изучения черепа и названия костей
Первыми людьми, получившими систематизированные знания об анатомии черепа, были древние егпитяне, практиковавшие бальзамирование умерших. Процедура подразумевала удаление головного мозга при необходимости сохранить лицо человека. Для этого использовались орудия, напоминающие хирургические инструменты, и применялись разные подходы с проникновением к мозгу через носовые отверстия или через большое затылочное отверстие. В дальнейшем серьезный вклад в изучение анатомии черепа внесли Герофил и часто ссылавшийся на него в своих работах Гален (10).
В Средние века работы Галена оставались основным источником анатомических знаний в странах Европы. Номенклатуру костей черепа дополнили и обновили анатомы эпохи Возрождения и Нового времени, основываясь на греческих и латинских терминах. Возобновлению интереса к анатомическим исследованиям способстовавло не только снятие папой Сикстом IV в 1472 году формального запрета на вскрытие человеческих трупов в исследовательских целях, но и изменения в представлениях художников об изображении человеческого тела, сместившиеся в сторону большей реалистичности (11, 12).
Художники и анатомы эпохи Ренессанса начинали сотрудничать, создавая анатомические иллюстрации. По некоторым данным, анатом Маркантонио делла Торре планировал создать один из первых анатомических атласов, пригласив в качестве иллюстратора Леонардо да Винчи, однако ученый умер от чумы, не успев окончить труд (13).
Есть свидетелства о том, что первый анатомический атлас современного типа «De humani corporis fabrica», изданный Андреасом Везалием в 1543 году, создавался в сотрудничестве с учеником Тициана Яном ван Калькаром (14).
Названия костей черепа на русском в основном являются дословным переводом латинских и греческих названий. Например, греческий термин sphēnoeidēs, который, согласно словарю Merriam-Webster, в англоязычной литературе впервые встречается в 1732 году (15) — буквально означает клиновидный. Аналогично, ēthmoeidēs означает «похожий на решето». Этот термин в англоязычной литературе впервые употребляется в 1842 году (16)
«Цифровые люди» vs. 3D-арт
Даже с учётом текущих ограничений программа выглядит отличным подспорьем для разработчиков на Unreal Engine. До MetaHuman Creator фотореалистичных персонажей могли позволить себе только AAA-студии с большим бюджетом и высококвалифицированные художники-фрилансеры. Но значит ли это, что с развитием технологии 3D-художники больше не понадобятся? Команда MetaHuman Creator считает такую мысль большим заблуждением.
Скриншот: Леон Балбери для Skillbox Media
«Как художник по персонажам, проработавший в этой индустрии много лет, я привык к массе рутинных процессов, с которыми сталкиваешься при создании персонажа, начиная с топологии и заканчивая импортом в Unreal Engine. Этот инструмент поможет создавать персонажей быстрее, просто ускорив все эти процессы. …Полученную 3D-модель можно использовать как основу… или в качестве готового персонажа. В любом случае вы увидите, что художники по-разному используют этот инструмент. У кого-то будет получаться лучше, у кого-то — иначе. Поэтому я думаю, что ничего кардинально не изменится. У вас просто появится в арсенале инструмент, который позволит выполнять какие-то задачи проще и быстрее… Думаю, что в итоге он лишь поможет художникам, а не приведёт к тому, что те потеряют работу».
Александар Попов, арт-директор Epic Games на стриме MetaHuman Creator | Inside Unreal
Epic Games придерживается мнения, что MetaHuman Creator позволит разработчикам сфокусироваться непосредственно на художественной составляющей, особенно если речь идёт о дизайне персонажей для AAA-игр. Для финального образа внешность часто нуждается в определённых акцентах и доработке — это прерогатива 3D-художников. Даже если роль главных героев исполняют реальные актёры, задачи технического плана, такие как 3D-сканирование и захват движений, требуют внимания специалистов, а задачу по созданию рядовых NPC можно оставить MetaHuman Creator.
Основной функционал инструмента
Сейчас любой пользователь, у которого есть учётная запись Epic Games, может запросить ранний доступ к MetaHuman Creator на сайте компании. Инструмент представляет собой онлайн-редактор, поэтому потребуется стабильное подключение к Сети.
На старте проекта пользователь выбирает базовый пресет, который станет основой для нового «цифрового человека». На данный момент система насчитывает более 50 шаблонов лиц разного пола, возраста и расы со своими индивидуальными особенностями.
Стартовое окно выбора модели-шаблона в качестве основыСкриншот: Леон Балбери для Skillbox Media
Внизу рабочей зоны расположены три основные опции, с помощью которых создаётся форма лица будущей 3D-модели: Blend, Move и Sculpt.
Инструмент Blend «смешивает» отдельные участки разных лиц. В левой части редактора пользователь может добавить к исходному пресету ещё несколько шаблонов, перетащив необходимый аватар из Presets в окно Blend. После этого в рабочем окне можно изменить обозначенные кружками части лица путём перетаскивания маркера в сторону необходимого шаблона. Если оставить маркер посередине, редактор сгенерирует смешанный результат. Таким образом, процесс создания новой внешности происходит очень быстро.
Редактирование лица при помощи инструмента Blend
Move отвечает за редактирование обширных зон, а Sculpt позволяет локально работать с точками, которые отвечают за форму тех или иных частей лица, и настраивать их на своё усмотрение. При желании можно отключить симметрию (справа от кнопки Preview) и с помощью маркеров намеренно добавить чертам лица изъяны (например, чуть сдвинуть одно веко, увеличить ноздрю или приподнять бровь).
Различия между инструментами Move и Sculpt
Примечание. При добавлении асимметрии стоит помнить, что она всегда присутствует в человеческом лице. Это значит, что она по умолчанию есть и в лицах шаблонов MetaHuman, так как они являются «цифровыми двойниками» людей из реальной жизни.
Пункт Preview демонстрирует, как лицо или тело (зависит от выбранной вкладки) новой 3D-модели выглядит в динамике.
Фрагмент анимации тела модели
Слева от рабочего окна находится панель, где можно редактировать цвет волос, одежду, макияж, пропорции туловища, полость рта (включая цвет и форму зубов) и многие другие детали. Отдельного внимания заслуживает вкладка Skin в разделе Face. Текстура кожи лица не просто накладывается на модель персонажа — она генерирует новый рельеф кожи в соответствии с данными текстуры. Например, если выбрать текстуру пожилого человека, морщины появятся на уровне топологии лица.
Варианты текстур кожи в MetaHuman Creator
В верхней панели MetaHuman Creator находится всё, что связано с визуализацией. Вкладка Studio позволяет рассматривать персонажа в различном окружении и экспериментировать с источниками света (дневной свет, внутреннее освещение, эффект камина и так далее).
Пример визуализации персонажа в MetaHuman CreatorСкриншот: Леон Балбери для Skillbox Media
Вторая и третья кнопки отвечают за ракурс камеры и качество рендера. В последнем пункте, LOD (Level of Details), доступны разные уровни детализации — от ультравысокой, при которой заметны даже пушковые волосы на лице, до низкополигональной в стиле PS1.
Примечание. Некоторые ассеты для 3D-моделей (причёски, бороды и так далее) всё ещё находятся в разработке, поэтому отображаются только на уровнях LOD 1 и LOD 0.
Демонстрация модели на уровне LOD 7 в MetaHuman CreatorСкриншот: Леон Балбери для Skillbox Media
Готовый персонаж автоматически сохраняется в учётной записи. В дальнейшем модель можно перенести в Unreal Engine с помощью Quixel Bridge. В настройках экспорта следует указать нужное ПО (модели из MetaHuman Creator можно переносить только в Unreal Engine или Autodesk Maya), путь экспорта ассетов, качество текстур и варианты LOD.
Окно экспорта в Quixel BridgeСкриншот: Леон Балбери для Skillbox Media
Создание скелета инструментом Bones (кости)
Открываем сцену с нашим персонажем, переходим на вкладку Create/Systems/Standard и выбираем инструмент Bones. Создаём основную кость, после чего продолжаем строить скелет ноги. Чтобы закончить построение, щёлкните правой кнопкой мыши. Чтобы продолжить построение второй ноги, нажмите кнопку Bones, после чего щёлкните по основной кости, с которой мы начинали построение скелета.
Таким же способом создаём остальные кости. Вот что должно получится:
Инструментами Move и Rotate ставим «скелет» в «тело» нашего персонажа, используя другие окна проекций.
Модификатор Skin
Выбираем модель персонажа и применяем модификатор Skin. В параметрах модификатора Bones нажимаем кнопку Add, после чего откроется окно, в котором выбираем все созданные кости.
После этих действий, если мы будем двигать любую из костей, часть тела персонажа будет тоже двигаться. Но теперь нужно правильно настроить зоны влияния костей на объект. Это мы сможем сделать, нажав на кнопку Edit Envelopes, и поставив галочку напротив Vertices в разделе Select.
Пролистываем параметры модификатора ниже, находим кнопку Weight Tool (значок гаечного ключа), и щёлкаем на неё. Перед нами открылось окно параметров, в котором мы будем менять значения силы привязки вершин к каждой кости. При выделении вершин активируются значения в окне параметров WeightTool, где:
- 0 – отсутствие привязки;
- 1 – максимальное значение привязки.
Чем выше значение, тем точнее будет перемещаться вершина вслед за костью.
Кнопка Exclude Selected Verts исключает выделенные вершины из зоны влияния кости, Include Selected Verts включает выделенные вершины в зону влияния, а Select Excluded Verts выделяет исключённые ранее вершины.
Так же значения визуально различимы по цвету, где:
- белый – 0;
- синий – 0,1;
- желтый и оранжевый – от 0,25 до 0,9;
- красный – 1.
Инверсная кинематика
Для создания взаимодействий между несколькими костями применяется инверсная кинематика. Это делается если мы хотим достичь эффекта, когда мы двигаем одну кость, а за ней двигаются и другие.
Рассмотрим технологию на примере ноги персонажа. Выделяем кость, которая отвечает за ступню персонажа. Идём в меню Animation/IKSolvers и щёлкаем на HISolver, после чего будет предложено выбрать кость для привязки.
Щёлкаем в активном окне проекции на кость бедра, как показано на картинке ниже.
После этих несложных действий будет достигнут желаемый эффект. При перемещении объекта привязки, будет перемещена не только ступня человека, но и вся нога последует за ней.
Тоже самое мы можем проделать с другими частями тела.
После правильной настройки все части тела будут двигаться так, как нужно. Теперь можно приступать к анимации.
Заключение
Авторы предложили полностью автоматизированный метод восстановления лица на основе 3D модели черепа, использующий параметрическую модель формы черепа, лица и FSTT статистику.
Рис.3. Этапы автоматизированного восстановления лица
Подход позволяет узнать, как выглядело лицо человека по форме его черепа. Метод основан на проведении статистических оценок посредством использования томографической базы данных и 3D сканов головы. С помощью создания набора правдоподобных (с точки зрения статистических оценок) моделей головы появляется возможность распознать личность человека, которому принадлежит череп.
Рис.4. Сравнение полученных моделей головы и лица, извлеченных из томографических сканов. Слева направо: аппроксимация на основе среднего FSTT, аппроксимация на основе среднеквадратичного FSTT, аппроксимация на основе оригинального FSTT, поверхность кожи, извлеченная из томографических сканов.
Главное достоинство рассмотренного подхода по сравнению с ориентированными FSTT измерениями заключается в получении плотной FSTT карты без необходимости использования дополнительной априорной информации. Для каждой вершины параметрической модели формы черепа FSTT значение определяется непосредственно из FSTT статистики. Можно ожидать, что рассмотренный метод найдёт широкое применение в криминологии и антропологии в ближайшем будущем.
Подведём итоги
MetaHuman Creator подойдёт не только разработчикам, планирующим использовать реалистичные 3D-модели людей в играх и синематиках, но и обычным пользователям, которые любят создавать трёхмерные аватары своей мечты в различных редакторах персонажей.
Плюсы MetaHuman Creator
Скриншот: Леон Балбери для Skillbox Media
- Инструмент бесплатный, в отличие от таких аналогов, как Character Creator.
- Легко освоить: интуитивный интерфейс, понятный каждому пользователю.
- Обеспечивает быстрый процесс создания уникальных человеческих типажей высокого качества в 3D.
- Лицевой риггинг моделей, созданный в MetaHuman Creator, совместим с Live Link App, что обеспечивает удобную запись собственных анимаций с камеры iPhone.
Пример анимации персонажей из MetaHuman Creator в Unreal Editor
- Не требует места на жёстком диске. Вся работа моментально сохраняется в облаке. Быстрый экспорт.
- Большой выбор уровней детализации готового персонажа — от гиперреализма до low-poly. Таким образом разработчик может экспортировать готовое решение для проекта с графикой нового поколения или для портативных устройств с менее мощным железом, например для Nintendo Switch.