Лицевой Ригинг для игр
Привет. Первый пост нового года хочу посвятить теме создания лицевого рига для игр с точки зрения аниматора.
Цель создания рига - упрощение технического геморроя на проекте и реюз анимаций на разных персонажах в рамках проекта.
Джоинты или Бленды вот в чём вопрос.
В любом случае я буду топить за Блендшейпы т.к они в UE4 очень дешевые в плане технагрузки, для достижения же "кинематографического" эфекта необходимо использовать и то и то, но тогда про реюзабильность можно забыть. Ретаргет с одного персонажа на другой будет с потерями. Хороший пример такого рига - любой Metahuman:
Цель создания рига - упрощение технического геморроя на проекте и реюз анимаций на разных персонажах в рамках проекта.
Джоинты или Бленды вот в чём вопрос.
В любом случае я буду топить за Блендшейпы т.к они в UE4 очень дешевые в плане технагрузки, для достижения же "кинематографического" эфекта необходимо использовать и то и то, но тогда про реюзабильность можно забыть. Ретаргет с одного персонажа на другой будет с потерями. Хороший пример такого рига - любой Metahuman:
Микс костей и блендов позволяет делать очень правдоподобную деформацию сетки, а магия текстурных блендов и вринклов добавляет дополнительный слой красивостей. Но это не геимреди. Слишком тяжело для 1 персонажа. Мы будем ограничивать полет фантазий набором ARKit
ARKit позволяет делать motion capture на iPhone с помощью программы FaceCap через Motion Builder. Главное соблюсти нейминг с исходным файлом. Нейминг и функционал блендов описан вот тут. Напишите таблицу по блендам у себя в конфлюинсе и заведите таски по аналогии, дальше в спринты можно спокойно распихать производство блендов. В идеале конечно каждый бленд делается ручками под каждого персонажа, но ничто нам не мешает и этот пункт автоматизировать.
По сути своей Блендшейп это информация о офсете вертексов топологии в пространстве. Следовательно можно найти референсный объект с набором блендшейпов которые вас устраивают, но с не вашей топологией. Ограничения в топологии можно обойтию и произвести набор блендов под ARKit процедурно. Сделать это можно написав скрипт на питоне который будет двигать референсную модель создавая деформацию которая вам нужна и состоять скрипт будет буквально из повторения двух команд:
- подвинь уже готовый контролл сюда
- сдублируй геометрию
- экспортни в отдельный файл
Все вышеописанное, вместе с "магией" переноса топологии можно полностью запроцедурить. Как написать инструмент рассказано в этом туториале. Он стоит не дорого, но решает дорогие по времени и баблу проблемы:
По сути своей Блендшейп это информация о офсете вертексов топологии в пространстве. Следовательно можно найти референсный объект с набором блендшейпов которые вас устраивают, но с не вашей топологией. Ограничения в топологии можно обойтию и произвести набор блендов под ARKit процедурно. Сделать это можно написав скрипт на питоне который будет двигать референсную модель создавая деформацию которая вам нужна и состоять скрипт будет буквально из повторения двух команд:
- подвинь уже готовый контролл сюда
- сдублируй геометрию
- экспортни в отдельный файл
Все вышеописанное, вместе с "магией" переноса топологии можно полностью запроцедурить. Как написать инструмент рассказано в этом туториале. Он стоит не дорого, но решает дорогие по времени и баблу проблемы:
Если не кайф процедурить - вот гайд как делать ручками перенос топологии:
Взять хорошую деформацию можно со сканов или того же метахьюмана.
Если и это тяжко - создавайте персонажей в каком нить Character Creator или Daz - от туда они сразу рождаются с набором ARKit блендшейпов, а дальше это всё можно "затехартить" под нужды игры. Ничто вам не запрещает использовать любой подходящий по стилю готовый риг с лицом чтобы "скопировать" блендшейпы.
Что же делать с бородами, волосами, ресницами и прочей растительностью. Делать свой набор блендшейпов для них. По тому же типу что и выше используя вот этот трюк или любой его аналог.
Теперь про Motion Builder. Чтобы всё заработало сначала прочитай
вот это а потом вот это. Дальше установи MB 2019 и накати на него Sergei Solokhin's plugin for Motion builder. Введите ip и порт внутри приложения iPhone. Отключите брендмауэр в Widnows или добавьте MB в исключения.
Откройте Motion Builder:
Если и это тяжко - создавайте персонажей в каком нить Character Creator или Daz - от туда они сразу рождаются с набором ARKit блендшейпов, а дальше это всё можно "затехартить" под нужды игры. Ничто вам не запрещает использовать любой подходящий по стилю готовый риг с лицом чтобы "скопировать" блендшейпы.
Что же делать с бородами, волосами, ресницами и прочей растительностью. Делать свой набор блендшейпов для них. По тому же типу что и выше используя вот этот трюк или любой его аналог.
Теперь про Motion Builder. Чтобы всё заработало сначала прочитай
вот это а потом вот это. Дальше установи MB 2019 и накати на него Sergei Solokhin's plugin for Motion builder. Введите ip и порт внутри приложения iPhone. Отключите брендмауэр в Widnows или добавьте MB в исключения.
Откройте Motion Builder:
Проверьте соединения, если они отвалились, подсоедините их:
Включаем лайв стрим:
Применяем констрейны:
Если собираетесь писать тейк нажмите:
Запись начинается, когда эти кнопки нажаты. После мы получаем тейк!
Прежде чем сохранить FBX, не забудьте запечь анимацию на выбранном персонаже!
Теперь про сетап в майке. Он не сложный. По большому счёту всё вяжется на Driven Key по примеру:
Теперь про сетап в майке. Он не сложный. По большому счёту всё вяжется на Driven Key по примеру:
У коллег я стянул вот такой контроллер. Проект показал что такая система удобна для работы:
Перенос мокапа с FaceCap в Maya осуществляется по средствам реверса констрейнов. Где мы констрейним из сцены шейп к майковскому шейпу а потом печем анимацию на контроллеры и рубим констрейны. Всё. Можно редактировать. Это тоже можно заскриптовать.
В конечном счёте после автоматизации весь "фай-тюн" выходит сильно быстрее чем производство всего с нуля руками что позволяет делать больше контента, техлимиты предсказуемы и все, особенно продюсер, счастливы. После того как все шейпы готовы можно озаботиться о подготовке диспелйсмент карт которые будт работать как вринкл мэпы. Но эт уже другой топик для разговора. Результат при правильном подходе более чем достойный:
В конечном счёте после автоматизации весь "фай-тюн" выходит сильно быстрее чем производство всего с нуля руками что позволяет делать больше контента, техлимиты предсказуемы и все, особенно продюсер, счастливы. После того как все шейпы готовы можно озаботиться о подготовке диспелйсмент карт которые будт работать как вринкл мэпы. Но эт уже другой топик для разговора. Результат при правильном подходе более чем достойный:
#компетенция
#ue4