Технология motion capture, или mocap, используется в пайплайне разных студий, компаний и фрилансеров. Собственно результат доступен каждому желающему на таком ресурсе как Mixamo. Пожалуй этот ресурс самый популярный. Технология mocap очень привлекательна, она интенсивно развивается и совершенствуется, экономит время и т.д. Но есть один минус - трудность с ручным редактированием анимации. Вот как раз на примере скачанного с Mixamo шота покажу один из вариантов подготовки к ручному редактированию. В целом, вариант достаточно прост: на таймлайне расставляются маркеры, затем между маркерами удаляются избыточные ключи.
Весь материал разбит на следующие части:
- Выбор и скачивание шота с Mixamo;
- Импорт в Blender;
- Расстановка маркеров;
- Удаление избыточных ключей и настройка интерполяции;
- Заключение.
Изображения подобраны в галереи. Кроме того, в подвале материала будет ссылка на короткий видеоролик демонстрирующий весь процесс. Ролик размещен на Rutube и Youtube.
1. Выбор и скачивание шота
В первую очередь необходимо зарегистрироваться или можно использовать свой профиль Adobe для входа на Mixamo. Никаких особых хитростей там нет, все интуитивно понятно и просто. Для начала нужно выбрать персонаж или загрузить свой, как вариант. Действия немного сложнее, но в итоге, в окне предпросмотра, подгрузится внешний вид вашего или выбранного персонажа. Затем перейти на вкладку анимаций и выбрать необходимое действие. Автоматически запустится плеер, можно просмотреть анимацию. Там же есть несколько простых инструментов, которые позволяют покрутить, изменить масштаб, передвинуть или сбросить камеру просмотра и посмотреть как расположен риг. Рядом с окном просмотра есть еще несколько настроек, которые изменяют анимацию. А так же несколько кнопок для загрузки персонажа, отправки и выгрузки готового шота.
2. Импорт в Blender
В Blender, как всегда, необходимо удалить имеющиеся в сцене по умолчанию объекты. Без этого вот никак, и сразу импорт шота. Шот был загружен с Mixamo в *fbx. Если в меню импорта нет такого формата, тогда нужно открыть окно настроек, найти вкладку аддонов и подключить аддон импорта формата *fbx. Теперь можно закрыть окно настроек и импортировать загруженный шот [File/ Import/ FBX (.fbx)] В окне импорта будут дополнительные настройки, их можно оставить по умолчанию, как есть. После импорта в окне просмотра появится персонаж.
Сразу лучше ограничить таймлайн до 70 фреймов, по размеру дорожки имеющегося файла. Далее удобней всего будет перейти в подготовленное рабочее пространство анимации. Конечно же, сделать дубликат рабочего экшена, включить защиту от удаления при очистке файла и переименовать созданную копию. Чтобы было удобно работать можно немного изменить интерфейс.
3. Расстановка маркеров
Основным окном будет редактор кривых (Graph Editor), в котором включен просмотр только выделенных костей. Для того чтобы видеть все кости нужно нажать [Alt+Z], держа указатель мыши в окне просмотра (3D Viewport) и выделить ту группу костей с которой в дальнейшем будет проводится работа. Пусть это будут кости рук от плечей до кистей, но без пальцев.
Просмотрю действие перемещая бегунок таймлайна. Допустим, мне нужно заменять движения рук от начала шота до 41 фрейма. Вот этот участок кривых и почищу от избытка ключей.
Распределю кривые в окне редактора нажав [Home] и расставлю маркеры используя клавишу [M]. Маркеры нужно поставить там где необходимо оставить ключи. В основном это самые верхние точки кривых и самые нижние. Если есть опыт в анимации или хотя бы работы с векторными кривыми то этот процесс достаточно прост. В случае сомнения на каких-либо участках, в любой момент, можно посмотреть движение костей и решить нужен маркер или нет. Если кривые пересекаются так, что надо поставить несколько маркеров, то лучше их поставить, а во время работы с костями лишние ключи можно будет удалить.
4. Удаление избыточных ключей и настройка интерполяции
После расстановки маркеров их можно сразу выделить, для этого навести указатель мыши на полоску с маркерами и нажать [A]. Треугольнички маркеров заполнятся белым цветом. Теперь нужно выделить ту часть кривых которая останется без очистки. Например, поставить бегунок таймлайна на последний маркер и нажать клавишу правой квадратной скобки [ ] ]. Затем выделить все ключи столбиками по расставленным маркерам [Shift+K] и после этого инвертировать выделение [Ctrl+I]. Вот теперь можно удалить выделенные ключи. После удаления ключей, кривые, скорей всего, будут использовать линейный тип интерполяции. Для смены типа интерполяции достаточно выделить все ключи до 40 фрейма [ [ ] (на один меньше чем очищенный отрезок) и нажав клавишу [T] в появившемся списке выбрать [Bezier]. Теперь можно снимать выделение, удалять маркеры и заниматься анимацией.
5. Заключение
Конечно, многое зависит от опыта, но из тех вариантов, с которыми сталкивался, этот наиболее экономичен по времени, да и достаточно удобен. Надо отметить, что показан пример очистки двух рук одновременно, поскольку обе руки и двигаются одинаково. Однако это не всегда так, в большинстве при детальной, достаточно точной очистке, чистить придется каждую руку, а то и каждую кость отдельно. Как ещё один пример, частенько за один проход можно очищать все кости позвоночника, а вот кость головы и шеи лучше чистить отдельно. С другой стороны, при необходимости, можно очистить за один проход весь скелет. В этом случае надо обращать внимание на позы и соответствующим образом выставлять маркеры. Иногда это даже необходимо, например, если оставить только ключевые позы, тогда анимацию можно будет делать вручную.
И ещё дополнение. Для более комфортной работы можно усовершенствовать скачанный простенький риг с помощью Mixamo аддона для Blender. На страничке этого аддона есть видеоролики по его инсталяции и использованию.
Короткий видеоролик демонстрирующий весь процесс:
Ииии! Всем успеха!
#blender #animation #blender3d #motioncapture #tutorial #cg #графика