Что получится?
Наша система генерации видеороликов позволяет пользователям создать видео с собой в главной роли полностью автоматически. Пользователь сканируется с помощью 3D-сканера «Портал», указав свою электронную почту, а через некоторое время ему на почту приходит персонализированное видео.
Как это работает?
1. Сканирование пользователя
Пользователь становится на платформу 3D-сканера «Портал» в А-позе и уже через полминуты наблюдает, как на экране строится его трёхмерная модель.
2. Оптимизация и экспорт скана
Полученная 3D-модель экспортируется в оптимизированном для анимации формате.
3. Автоматический риггинг
На следующем этапе происходит автоматический риггинг 3D-модели: создается скелетная структура, позволяющая анимации корректно применяться к 3D-модели.
4. Анимация
После риггинга на модель накладывается заранее подготовленная анимация.
5. Рендеринг
Анимированная 3D-модель рендерится в виде последовательности изображений на прозрачном фоне.
6. Создание видеоролика
Последовательность изображений используется как средний слой в проекте After Effects. Дополнительно накладываются передний и задний слои, создавая финальное видео.
Требования к контенту
Для автоматической генерации видеороликов должна быть следующая структура папок и файлов:
- TemplateAnimation.bvh
- TemplateScene.max
- TemplateProject.aep
- папка (Footage)
- все файлы проекта After Effects
- папка Avatar
- секвенция файлов с именами вида avatar0000.png, avatar0001.png, avatar0002.png, … либо видеофайл с прозрачным фоном с именем avatar.mov
Для автоматической работы After Effects и 3ds Max имена файлов и папок должны содержать только английские буквы, цифры, пробелы и стандартные символы; при наличии русских, греческих и иных букв в именах файлов конвейер не заработает.
TemplateScene.max
Файл должен содержать только камеру с именем Camera001, требуемое количество кадров анимации и FPS, требуемые ширину, высоту и имя кадра в настройках рендеринга.
В сцене должны быть метрические единицы измерения: в идеале – сантиметры, но не дюймы или футы.
TemplateProject.aep
Композиция должна называться Composition1.
Аватар должен быть размещен на отдельном слое, который находится между слоями с задним фоном и передним фоном. Этот слой с аватаром должен содержаться в вышеупомянутой папке “Avatar” и будет автоматически обновляться новыми аватарами, полученными с 3D-сканера.
Задний план (background) и ближний план (foreground) должны быть тоже отдельными слоями, но их содержимое может задаваться любым образом, здесь есть гибкость в выборе источников и методов для создания этих фонов. Это могут быть, например, видеофайлы, последовательности изображений, процедурно сгенерированные элементы или фильтры. Однако, для обеспечения быстрой генерации видеороликов лучше для background и foreground не использовать секвенции изображений, а использовать видеофайлы (для foreground — с маской в виде отдельного видеофайла).
TemplateAnimation.bvh
Необходимо, чтобы раздел HIERARCHY получившихся BVH-файлов полностью совпадал (включая все OFFSET’ы) с одними из этих BVH-файлов: bvh1.zip или bvh2.zip. В первом архиве – анимационный скелет, который используется непосредственно для автоматического риггинга, во втором – анимационный скелет Adobe Mixamo, который может быть сконвертирован в первый.
Общие моменты
Важно учитывать следующее. Вся система оптимизирована для быстрой работы на потоке в условиях мероприятия, это означает, что весь контент создаётся автоматически и быстро и, как и с любой подобной системой, может содержать артефакты, особенно если участники сканирования не следуют правилам позирования. Например, если человек держит руки слишком близко к телу или ноги слишком близко друг к другу, это может привести к «слипшимся полигонам», или если человек шевелится во время сканирования, это может привести к смазанности. Участники часто не следуют правилам по разным причинам: кто-то не понял или не расслышал инструкции, кто-то ради эксперимента, а кто-то просто очень хочет запечатлеть себя в 3D вместе со своей сумочкой, мотоциклетным шлемом, тростью и т п. Поэтому в TemplateScene.max рекомендуется избегать крупных планов камеры, а в TemplateAnimation.bvh рекомендуется использовать анимации, в которых аватар не расставляет руки и ноги слишком широко. При этом анимации должны быть либо настолько динамичными, чтобы на аватарах участников, которые нарушили правила, артефакты не бросались в глаза, либо, наоборот, с минимальными отклонениями от исходной А-позы, чтобы риск появления артефактов изначально минимизировать.
Например, это может быть облёт аватара камерой, когда аватар за штурвалом транспорта; общий план, показывающий всю красоту цифрового мира, в который погрузился аватар; динамичный трюк, которому аватар «научился» в цифровой реальности, и т. п.
Тогда контент получится классным и вовлекающим, и участники с удовольствием будут делиться им в своих социальных сетях и мессенджерах.