3D-аватары: как это работает

Разбираем на примере блогера CodeMiko.

3D-аватары: как это работает

О чём речь

Даже если вы не знаете английский, просто посмотрите этот ролик:

Справа — настоящая девушка, слева — её виртуальный аватар Мико. Мико повторяет все движения и мимику девушки в реальном времени. Если девушка встанет и будет ходить по комнате — аватар сделает то же самое. 

Как это работает

Чтобы создать такого персонажа, понадобилось четыре составляющих: 

  • специальный костюм, чтобы отслеживать положение тела;
  • камера для лица, чтобы передавать мимику;
  • софт, который обрабатывает полученные данные и рисует картинку;
  • артистизм и непосредственность автора (она называет себя «оператор», или technician).

Всё это используется, чтобы проводить развлекательные стримы в «Твиче». Персонаж сидит перед экраном, общается с гостями, треплется о жизни, показывает спецэффекты и принимает донаты. 

Что за костюм

На Мико специальный костюм Xsens с датчиками, каждый из которых отвечает за свою часть тела:

3D-аватары: как это работает

Такие же костюмы используют в кино, чтобы создать реалистичных персонажей, которые двигаются так же, как люди. Например, так сделали енота из Стражей галактики:

3D-аватары: как это работает

Эмоции на лице

Чтобы оживить лицо аватара, Мико прикрепила телефон напротив лица и использовала приложение Live Link Face. Приложение обрабатывает мимику, следит за положением глаз и даёт на выходе трёхмерную мультяшную картинку.

3D-аватары: как это работает

Как всё это превращается в 3D-графику

Данные с телефона, камер и костюма отправляются в виртуальную среду на движке Unreal Engine. Внутри происходит всяческое колдунство: 

  • Меняются камеры и углы обзора, чтобы показывать то Мико, то её гостя.
  • Меняются фоны, добавляются спецэффекты.
  • По сцене начинают ходить дополнительные персонажи (вероятно, с именами тех, кто задонатил много денег).
  • Меняются скины самой Мико.
  • Накладывается чат и призывы задонатить.
  • Всевозможное безумие.

Всё это рендерится на движке в реальном времени и отдаётся в стриминговый сервис «Твич», где трансляцию смотрят люди ради увеселения. 

По сути, это полноценная виртуальная видеостудия, собранная на базе движка Unreal Engine. Вот до чего техника дошла:

3D-аватары: как это работает

Зачем это нужно?

Люди это смотрят для развлечения. 

С прагматической точки зрения это нужно вот зачем: 

  • У людей есть потребность в социальном контакте, развлечении и в удовлетворении своих сексуальных фантазий.
  • Производить контент под эту задачу на живых людях может быть долго и трудозатратно: нужны хорошие актёры, студия, свет, операторская бригада, грим, декорации. 
  • Производить такой развлекательный контент в виртуальной среде намного технологичнее и дешевле. 
  • Если большие китайские или американские (или чешские?) производители контента освоят эту технологию, они смогут производить контент и проводить трансляции с гораздо большей степенью свободы. Если клиент хочет, чтобы ему прочитала сказку на ночь полуодетая Дейенерис с лицом Джессики Честейн на фоне Колизея и чтобы рядом Вин Дизель и Джейсон Стетхем исполняли гачимучи — довольно скоро это станет реальностью и будет стоить недорого. 

В чём сила?

Может показаться, что сила в технологиях: мол, очень крутое техническое решение, вот бы нам тоже построить виртуальную студию. Но на самом деле сила в артистизме «оператора» — девушки, которая стоит за Мико. Она классно отыгрывает своего персонажа и вкладывает много сил в то, чтобы людям было интересно смотреть. 

Дело не в технологиях — дело в том, кто ими пользуется. 

Что будет дальше?

Скорее всего, мы увидим такое развитие:

  • Виртуальный стриминг станет мейнстримом.
  • Появится новая профессия «Оператор виртуального аватара».
  • Появятся сравнительно недорогие костюмы и шлемы для точного захвата движений и мимики.
  • Благодаря развитию 3D-дипфейков зрители смогут получить фотореалистичную картинку с наложением любого лица.
  • Зрители смогут заказывать приватные шоу и управлять их содержимым.
  • Постепенно на смену живым операторам придут свёрточные нейронки, которые научатся и двигаться, и говорить неотличимо от людей.
  • Наши внуки будут залипать в это через шлемы VR, теребя свой поп-ит из будущего. 
  • А потом будет отключение воды, и все будут мыться из ковшика. 

Расскажите ещё

Вот ролик, в котором собрано почти всё, что известно об этом проекте. Любопытно, что этот ролик выпустил тоже виртуальный блогер (у него, правда, техническое исполнение намного проще):

Текст и иллюстрации:

Михаил Полянин

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Через год — лучше работа, выше зарплата
В «Яндекс Практикуме» становятся разработчиками с нуля. Выберите язык — веб, Python, Java, C++ — и учитесь. Джуны зарабатывают от 80 000 ₽, мидлы — от 150 000 ₽. Дальше — программы трудоустройства и компенсация, если пойдёте в Яндекс.
Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата
Вам может быть интересно
Вам мало языка C? Попробуйте C++
Вам мало языка C? Попробуйте C++

Шустрый, мощный, весь обвешан классами.

medium
Векторы: третий уровень сложности
Векторы: третий уровень сложности

Знакомимся с коллинеарностью.

medium
Зачем вам jQuery
Зачем вам jQuery

Каждый год говорят о том, что jQuery уже не тот, но продолжают его использовать. Почему? Вот почему.

medium
Программисты из SpaceX отвечают на вопросы про разработку
Программисты из SpaceX отвечают на вопросы про разработку

Переводим для вас популярный тред из Reddit.

easy
TypeScript — как JavaScript, но может больше
TypeScript — как JavaScript, но может больше

Способ избежать проблем JavaScript в больших проектах.

easy
Как начать карьеру в IT: 40+ вопросов про ИТ от гуманитариев
Как начать карьеру в IT: 40+ вопросов про ИТ от гуманитариев

Простые, сложные, острые, странные и необычные
вопросы — ответили на всё, что интересует новичков

easy
PreventDefault в JavaScript: что это, как работает и какие отличия от return false
PreventDefault в JavaScript: что это, как работает и какие отличия от return false

Укрощаем автопилот браузера

easy
Как не запутаться в Event Loop: простое объяснение сложного механизма
Как не запутаться в Event Loop: простое объяснение сложного механизма

Как движок решает, что выполнить сейчас, а что потом

medium
Разговор с тимлидом: как разбираться в коде, что происходит после онбординга и первые рабочие задачи
Разговор с тимлидом: как разбираться в коде, что происходит после онбординга и первые рабочие задачи

Что ждёт джуниора в самом начале пути во фронтенде

easy
easy