События

Создание анимированной черепахи, ч. 2

2014-05-30

В первой части мы рассмотрели, как создавалась и текстурировалась модель черепашки. Следующие этапы - риггинг, анимация, NLA, запекание и экспорт анимации.

Риггинг

Риг (оснастка) черепашки является специфическим и отражает анатомические особенности - малая гибкость ступней, ограниченность в движениях, особое строение позвоночника, позволяющее втягивать голову. Риг также позволяет реализовывать покачивания корпуса, осуществлять втягивание головы и шеи, поворачивать голову, управлять конечностями. Отдельная кость отвечает за демонстрацию обонятельной функции - периодические напряжения в нижней части шеи.

Анимация

Процесс анимирования реализован посредством фиксации ключей и редактирования кривых (F-Curves).

Анимированы два объекта: арматура mediterranean_tortoise_rig и поверхность земли ground. Для арматуры создано 6 анимаций (Action) - черепашка умеет прятаться (hiding), высовывать голову и лапы обратно (unhiding), лежать (lay), ходить (walk_cycle), плюс два перехода: из лежачего положения в стоячее и наоборот (lay_to_walk, walk_to_lay).

После создания анимаций необходимо их запечь. Для этого следует выделить арматуру и на панели инструментов (T) перейти на вкладку Blend4Web. После этого появится опция Bake Skeletal Animation. Далее нужно назначить анимации, присущие нашей арматуре: нажимаем плюс и в появившемся окне вписываем название анимации (или при желании выбираем из выпадающего списка). Это делается для того, чтобы инструмент для запекания корректно работал в сценах с несколькими анимированными объектами. После того, как перечислены все анимации, нажимаем кнопку Bake.

После этого в выпадающем списке анимаций появятся новые, с пометкой "_B4W_BAKED" - запеченные, готовые к экспорту в движок.

При использовании в оснастке персонажа инверсной кинематики и других ограничителей (Constraints) результаты запекания анимационных последовательностей в Blender'е отображаются с искажениями (если такую анимацию применить к арматуре). В просмотрщике сцен запеченная анимация будет проигрываться корректно. Запеченные анимационные последовательности нельзя редактировать (изменять ключи), они предназначены исключительно для экспорта в движок.

Помимо черепахи анимирована песчаная поверхность. Она движется при помощи объектной анимации ground_moving. Помимо основных объектов должна быть настроена сцена для экспорта в HTML - освещение, окружение, последовательности треков нелинейной анимации (NLA).

Настройка нелинейной анимации и экспорт

Итак, мы имеем в сцене нужные объекты, они анимированы и анимации запечены. Остается лишь настроить NLA - треки анимаций расставим так, чтобы анимация движения песчаной поверхности соответствовала циклам ходьбы черепахи. В редакторе NLA можно использовать как исходные, так и "запеченные" анимации. Настройки представлены на рисунке:

Экспорт

После того, как все готово, можно экспортировать сцену: File -> Export -> Blend4Web (.html).

Заключение

При помощи Blend4Web можно создавать персонажную анимацию любой сложности. Запекание не требует специальных навыков и занимает всего пару секунд. Полученные анимации можно сразу экспортировать в движок или предварительно объединить с анимацией других объектов и звуковыми дорожками при помощи NLA.

Ссылка на интерактивную сцену

Исходный blend-файл вы можете найти в Blend4Web SDK в директории: blend4web/blender/tutorials/basic/mediterranean_tortoise_2/.

Изменения

[2014-05-30] Изначальная публикация.

[2014-06-24] В связи с обновлением функционала инструмента для запекания анимаций изменен текст и иллюстрации в соответствующих местах.

[2015-05-29] В связи с расширением поддержки функционала редактора NLA изменена иллюстрация настроек треков.

[2015-09-01] В связи с изменением функционала инструмента для запекания анимаций изменен текст и иллюстрации в соответствующих местах.

[2017-01-12] Исправлены некорректные/битые ссылки.