Анимация 3D-персонажа из обычного видео
Раньше для захвата движения нужны были костюмы с маркерами, студия и специальное оборудование. Animatic позволяет перенести движения человека с обычного видео на вашего 3D-персонажа. Достаточно телефона или любой камеры.
В статье рассказываем, как снимать материал, как готовить кадры и как получить анимацию, которую можно использовать в игре или ролике.
Что понадобится
- Видео с одним человеком, выполняющим нужное движение.
- Готовый 3D-персонаж со скелетом и весами (см. риггинг и скининг).
- Компьютер с видеокартой NVIDIA. Чем мощнее видеокарта, тем быстрее обработка.
Как снять видео, которое хорошо переносится
Качество исходного видео определяет качество анимации. Несколько правил съёмки:
- Неподвижная камера. Штатив или ровная поверхность лучше ручной съёмки. Если камера дрожит, движение персонажа будет дёргаться.
- Человек целиком в кадре. Ноги, руки и голова должны быть видны на протяжении всего движения.
- Ровный свет. Резкие тени и контраст с фоном мешают точно определить положение тела.
- Один человек. Если в кадре несколько людей, придётся выбирать нужного вручную.
- Простой фон. Однотонная стена или ровный пол упрощают отделение человека от окружения.
- Умеренная скорость. Очень быстрые движения, например, удары или прыжки, сложнее переносятся без потери качества.
Как работает перенос движения
Процесс состоит из нескольких этапов, которые выполняются последовательно:
- Разбиение на кадры. Видео разбивается на отдельные изображения, которые сохраняются в папку inputs/[имя]/imgs/.
- Отслеживание точек. Программа находит ключевые точки тела и следит за ними от кадра к кадру. Это даёт траектории движения.
- Подгонка скелета. Скелет персонажа подстраивается под траектории так, чтобы его движения совпадали с движениями человека на видео.
- Проверка и сглаживание. Результат очищается от мелких дрожаний, которые могут появиться из-за неточных кадров.
- Экспорт. Готовая анимация сохраняется в FBX или GLB.
Сколько времени это занимает
Классическая подгонка движения по каждому кадру даёт точный результат, но работает долго. Длинное видео в высоком качестве может обрабатываться от нескольких минут до нескольких часов, в зависимости от мощности компьютера и длины ролика. Для коротких роликов время заметно меньше.
Если нужен быстрый результат, например, для предварительного просмотра, используйте быстрый режим. Он заметно сокращает ожидание, но точность подгонки под каждый кадр может быть ниже.
Как проверить анимацию
После обработки откройте результат в просмотрщике и проиграйте несколько раз. Обратите внимание на:
- совпадение движений с оригиналом по ключевым позам;
- ноги: не проваливаются ли они в пол и не «скользят» ли по нему;
- резкие рывки в суставах, которые могут указывать на ошибку отслеживания.
Экспорт в игровой движок
Анимацию можно сохранить в формате FBX для Unity и Unreal Engine или GLB для Godot. Подробнее о форматах — в статье «Экспорт в FBX и GLB».
Частые вопросы
Можно ли снимать на телефон?
Да, главное — неподвижная камера и хороший свет. Горизонтальная съёмка обычно даёт лучший результат.
Подойдёт ли видео с животным?
Программа рассчитана на человека и его скелет. Для других существ результат может быть неточным.
