Как камера превращает выражение лица в движение аватара

Камера не «пересаживает» лицо стримера на персонажа. Программа анализирует изображение и оценивает положение заметных ориентиров: уголков рта, бровей, век и других частей лица. Из их движения она выводит, например, насколько широко человек открыл рот или поднял брови.

Затем эти значения передаются виртуальному персонажу. У его модели заранее настроены подвижные элементы — так называемый риг: набор виртуальных «суставов» или параметров, отвечающих за мимику. У 2D-персонажа программа может менять форму нарисованных элементов, у 3D-модели — положение частей лица. Так улыбка человека становится улыбкой персонажа, хотя их лица устроены по-разному.

Почему аватар не всегда повторяет мимику точно

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

Есть и небольшая задержка: изображение нужно обработать, сопоставить с моделью и вывести на экран. Поэтому настройки часто подбирают так, чтобы персонаж реагировал достаточно быстро, но не дёргался от случайных изменений в кадре.

Что именно скрывает аватар

Персонаж заменяет лицо в трансляции, но для отслеживания камера всё равно должна видеть автора. При этом зритель наблюдает не запись лица, а результат его обработки — движения, перенесённые на модель. Аватар скрывает внешность, но оставляет выразительность, поэтому зритель может считывать улыбку, удивление или сомнение, не видя самого стримера.