УРОК №10. Настройка скелета под оболочку (Biped, Envelope)

В этом уроке мы научимся создавать скелет (систему Biped) и привязывать его к модели. В качестве такой модели будем использовать персонажа, которого мы делали в 5 уроке (Рис. 1).


Рис 1. Модель со скелетом

Итак, загружаем нашего персонажа. Чтобы нам было проще настраивать скелет, отключим сглаживание Turbo Smooth и переключим режим отображения на Wireframe (Рис. 2).


Рис 2. Персонаж из 5го урока

Переходим во вкладку Create (Создание) командной панели, во вкладке Object Type (Тип объекта) категории Systems (Дополнительные инструменты) нажимаем кнопку Biped (Двуногий). Создаем объект высотой с модель (Рис. 3).


Рис 3. Создание скелета

Если скелет по пропорциям не совпадает с моделью, можно изменить количество костей. Например, в нашем случае у скелета слишком короткая шея. Чтобы это исправить, в свитке параметров Create Biped находим список всех костей, и в графе Neck Links (Шейные звенья) увеличиваем значение до 3. Таким образом можно менять количество звеньев во всем скелете (Рис. 4).


Рис 4. Увеличение звеньев шеи

Теперь перейдем во вкладку Motion. Там нажмем на кнопку Figure Mode, чтобы перейти в режим редактирования позы персонажа (Рис. 5).


Рис 5. Режим редактирования позы Figure Mode

Теперь выберем верхнюю часть ноги и инструментом вращения изменим ее положение, чтобы она визуально совпадала с осью ноги модели (Рис. 6).


Рис 6. Вращение ноги

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


Рис 7. До масштабирования и после

Когда мы настроили кости одной ноги, скопируем ее положение и применим его ко второй ноге, чтобы не повторять те же действия дважды. Выбираем все части ноги и во вкладке Copy/Paste нажимаем на кнопку Create Collection. Создав это положение, скопируем его, нажав на Copy Posture (Скопировать положение) и применим его ко второй ноге, нажав на Paste Posture Opposite (Вставить обратное положение) (Рис.8).


Рис 8. Перенос положения ноги слева на ногу справа

Проделаем то же самое с обеими руками (Рис. 9).


Рис 9. Изменение положения руки: справа – до, слева – после

Таким же образом подгоняем положение шейных звеньев и черепа. Если после масштабирования черепа оказалось, что 3 шейных звенья – это слишком много, то их количество всегда можно уменьшить, зайдя во вкладку Structure. Итак, мы настроили скелет под оболочку (Рис. 10).


Рис 10. Скелет, настроенный под оболочку

Теперь мы привяжем оболочку к системе костей, чтобы при движении костей двигалась и сама модель. Выбираем оболочку и применяем к ней модификатор Physique. В появившихся свойствах нажимаем кнопку Attach to Node. Physique переходит в режим выбора системы костей для оболочки. Нам необходимо выбрать пояс системы – Pelvis. Для облегчения процесса можно нажать H на клавиатуре и в открывшемся диалоговом окне два раза кликнуть по Bip001 Pelvis (Рис. 11).


Рис 11. Выбор пояса системы костей для привязки к оболочке

В появившемся диалоговом окне Physique Initialization оставим все настройки по умолчанию и нажмем Initialize. После этого выберем любую часть системы Biped и перейдем на панель Motion, чтобы отключить режим Figure Mode.

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


Рис 12. Деформация оболочки

Чтобы исправить этот недостаток, нужно перейти во вкладку Modify, щелкнуть на значке плюса возле модификатора Phisique и переключиться в режим редактирования подобъектов Vertex (Вершина). Если выделить все точки руки, то мы заметим, что какие-то точки подсвечены красным цветом, а какие-то синим (Рис. 13).


Рис 13. Красные и синие точки у оболочки модели

Также могут появляться и зеленые точки. Что же означают эти цвета?

Красный цвет соответствует деформируемым вершинам, то есть тем, которые отображают движения таких элементов оболочки, как торс, ноги, руки, и так далее.

Зеленый цвет соответствует неподвижным вершинам. Назначение зеленого цвета определенным вершинам помогает также в тех случаях, когда требуется ограничить деформацию оболочки.

Синий цвет модификатор Physique присваивает тем вершинам, тип которых он оказался не в состоянии определить. Никогда не оставляйте в модели синих вершин.

Чтобы присоединить потерянные вершины оболочки к кости, во вкладке Link-Assignment (Назначение связи) нужно нажать кнопку Select и выделить неопределенные (синие) точки в сцене. Затем необходимо нажать кнопку Assign to Link (Назначить связь) и указать, на какой кости будут закреплены выбранные вершины (Рис. 14).


Рис 14. Назначение связи неопределенным точкам

Готово! Мы видим, что потерянные вершины стали красными, то есть деформируемыми, и присоединились к выбранной кости (Рис. 15).


Рис 15. Присоединение неопределенных точек к кости

Есть и другой способ исправления подобных ошибок. Он заключается в том, чтобы увеличить влияние костей на оболочку. Для этого выберем оболочку, раскроем список Physique во вкладке Modify и выберем Envelope (Рис. 16).


Рис 16. Выбор режима Envelope

Сейчас нас интересует радиус влияния Radial Scale. Выбрав нужную кость, увеличим Radial Scale до значения 1,5. Так мы захватим потерянные точки в область влияния выбранной кости (Рис. 17). Влияние родительской кости (кости, находящейся выше по иерархии) на дочернюю кость зависит от параметра Child Overlap. Влияние дочерней кости на родительскую зависит от параметра Parent Overlap.


Рис 17. Увеличение радиуса влияния кости

Пройдитесь по остальным костям, модифицируя их настройки так, чтобы не было потерянных точек. Этот этап позволит вам лучше понять, как зоны влияния костей деформируют оболочку (Рис. 18).


Рис 18. Положение потерянных точек до и после использования режима Envelope

Далее настроим голову. Если ее повращать, то можно заметить, что она деформируется. Это происходит потому, что кость головы находится в режиме деформирования, а ее нужно переключить в режим жесткости. Для этого в режиме редактирования Envelope уберем галочку напротив параметра Deformable и поставим ее напротив Rigit. Видим, что вершины подсветились зеленым цветом, а это означает, что они стали недеформируемыми (Рис. 19).


Рис 19. Переключение черепа в режим жесткости Rigit

После этого голова будет поворачиваться корректно (Рис. 20).


Рис 20. Голова модели при повороте до и после применения режима жесткости Rigit

Привязка скелета к оболочке закончена! Теперь мы можем придавать модели любые позы (Рис. 21).


Рис 21. Готовый результат