Урок 3.3

Динамика костей

Введение

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

Начнем с примера

Этот урок мы начнем с проекта, который уже почти завершен. Он называется "Tutorial 3.3" и находится в папке "Tutorials/3 - Bones" главной директории программы. Открыв этот файл, вы увидите следующее:

Точка входа этого урока.

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

Выделение кости

Используйте инструмент выделения кости для выделения верхней левой кости персонажа, как показано ниже:


Выделите эту кость.

На панели свойств инструментов вверху главного окна Moho щелкните на выпадающем списке "Bone constraints" (Ограничения кости). В появившемся диалоговом окне включите переключатель "Bone dynamics" (Динамика костей). Это говорит Moho о том, что выделенную кость следует двигать автоматически ввиде пружины.

Включите динамику костей.

Выделите еще семь костей (по две на каждой руке) и установите данный параметр для каждой из них. Небольшая подсказка: вы можете оставить это диалоговое окно открытым, просто щелкайте по каждой кости по очереди, а затем устанавливайте переключатель динамики костей. Если это окно закрывает некоторые кости, возьмите и сместите немного мышкой, удерживая правую кнопку. 

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

Настройка параметров подпрыгивания

То, что мы только что сделали является основой использования динамики костей. А сейчас давайте посмотрим, как эти "прыжки" можно настроить. Выделите снова левую верхнюю кость и откройте опять диалоговое окно "Bone constraints" (Ограничения костей). Под переключателем "Bone dynamics" (Динамика костей) находятся три параметра, позволяющие управлять данным эффектом. Установите следующие значения, как показано внизу: Torque force (Скручивающее усиление) = 4, Spring force (Жесткость пружины) = 2, и Damping force (Демпфирующая сила) = 2:

Настройка параметров динамики.

Более высокое скручивающее усиление (Torque force) означает, что кость двигается больше в ответ на движения своей родительской кости, Жесткость пружины (Spring force) определяет, насколько быстро кость отпружинивает назад, а Замедляющая сила (Damping force) управляет тем, насколько быстро динамическая кость прекратит движение (замедление можно представить силой трения). В этом случае высокая скручивающая сила означает, что кость энергичнее. Выделите родительскую кость данной кости (вторую кость верхней левой руки) и примените к ней те же параметры.

Далее, выделите две кости верхней правой руки (за один раз) и установите значения параметров динамики костей равным  2, 2, 5 (Torque (вращение), Spring (упругость), Damping (замедление)). Эти настройки заставят кости быстро замедлить свое динамическое движение - высокое значение замедления похоже на движение в воде.

Установите высокую силу замедления для этих костей.

В заключение, выделите две кости левой нижней руки (за один раз) и установите параметры динамики равные 2, 4, 1 (Torque (вращение), Spring (упругость), Damping (замедление)). Высокое значение упругости заставляет руку быстро возвращаться на свое место при пожпрыгивании.

Установите высокое значение упругости для этих костей.

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

Окончательный результат.