Тема: Прямая и обратная кинематика.

 

В 3dsMax существует два способа анимации связанных между собой объектов. Прямая и обратная кинематика. Обратная кинематика, в свою очередь, может осуществляться пятью способами: приложенная обратная кинематика, интерактивная обратная кинематика и еще три способа посредствам контроллеров.

 

Прямая кинематика

Суть метода прямой кинематики в том, что преобразования, применяемые к родительскому объекту, распространяются на все объекты, дочерние по отношению к нему.

Для начала создадим лампу, состоящую из трех рычагов, трех шарниров, опоры и плафона рис.1.

 

Рис. 1(лампа, которую предстоит анимировать)

 

 

Далее необходимо связать детали лампы в иерархическую цепочку. Нажмите кнопку Select and Link (Выделить и связать).

Рис. 2 (расположение кнопки Select and Link)

 

 

Связывание необходимо производить от дочерних объектов к родительским. Плафон связываем с рычагом, далее рычаг с шарниром и т.д. Выделите плафон. Удерживая кнопку мыши, перетащите курсор до рычага, к которому крепится плафон Рис. 2. Свяжите остальные объекты подобным образом.

 

Рис. 2 (Связывание плафона и прилегающего к нему рычага)

 

 

Теперь, чтобы поворачивать рычаги относительно шарниров, необходимо переместить локальные системы координат рычагов в центры их родительских шарниров Рис. 4.

 

                                     

Рис. 3 (локальные системы координат рычагов расположены в их центрах)

 

Рис. 4 (локальные системы координат рычагов расположены в центрах шарниров)

 

 

Примечание:

Чтобы восстановить положение и ориентацию локально системы координат относительно мировой, не оказывая при этом влияния на сам объект, щелкните на кнопку Transform(Преобразование) в свитке Adjust Transform(Настройка преобразования)  во вкладке Pivot Рис. 5. Эта операция позволит избежать искривления объектов при их преобразовании в иерархической цепочке.

Рис. 5 (Вкладка Pivot)

 

 

После чего мы можем проследить действие прямой кинематики. К примеру,при  поворачивании  центрального шарнира лампы, преобразования будут передаваться только к его дочерним объектам Рис. 6.

 

     

Рис. 6 (поворот центрального шарнира)

 

 

Обратная кинематика

 

Метод обратной кинематики действует ровно наоборот по сравнению с методом прямой кинематики. Вместо преобразования родительского объекта следует применять преобразования к самому младшему из дочерних объектов, и действие этого преобразования будет распространяться на всех его родителей.

 

Мы рассмотрим два способа обратной кинематики: интерактивная обратная кинематика и приложенная обратная кинематика.

 

Интерактивная обратная кинематика

 

Интерактивная обратная кинематика реализуется путем ручного перемещения и поворота объектов цепочки в окнах проекций при включенном режиме анимации.

 

Для активизации режима интерактивная обратная кинематика  щелкните на кнопке IK командной панели Hierarchy(Иерархия) и нажмите кнопку Interactive IK(Интерактивная IK) Рис. 7.

 

Рис. 7 (Вкладка IK)

 

 

Теперь Вы можете переместить плафон и наглядно проследить действие обратной кинематики Рис. 8,9.

 

     

Рис. 8,9 (преобразования передаются от дочернего объекта к родительскому)

 

 

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

 

Для этого нужно выделить объект в цепочки, к примеру, плафон и в свитке Rotational Joints выключить действие кинематики относительно осей X и Z, посредствам снятия галочки Active, а ось Y следует оставить активной, т.к. все преобразования лампочки происходят относительно одной оси, в нашем случае это ось Y Рис. 10.

 

Рис. 10 (Свиток Rotational Joints)

Примечание:

Damping – позволяет увеличивать сопротивления силам обратной кинематики. Допустимые значения параметра лежат в диапазоне от 0 до 1, где 1 соответствует наибольшей силе сопротивления.

 

Еще нам необходимо задать ограничения вращения рычагов. Для этого нужно задать два крайних значения From и To , за которые объект при действии на него решения кинематики, не будет выходить. Не забудьте поставить галочку Limited(Предел), для активизации действия ограничений Рис. 11. Эти значения определяются экспериментально для каждого объекта в цепочке.

 

Рис. 11 (Свиток Rotational Joints)

 

 

Примечание:

Рис. 12 (Свиток Object Parameters)

Terminator (Ограничитель) – после активизации этого параметра, на этот объект перестанут действовать преобразования обратной кинематики, он будет ограничителем.

Bind Position (Привязать к положению) – включение этого параметра заставляет выделенный объект цепочки стремиться сохранить свое текущее положение в глобальной системе координат.

Bind Orientation (Привязать к ориентации) - включение этого параметра заставляет выделенный объект цепочки стремится сохранить свою ориентацию в глобальной системе координат.

 

 

Приложенная обратная кинематика

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

 

Внимание! Не забудьте выключить режим интерактивной обратной кинематики.

Для начала создадим направляющий объект, его роль у нас будет играть объект-пустышка

Dummy, который расположен во вкладке Helpers Рис. 13.

Рис. 13 (Вкладка Helpers)

 

 

Расположите его примерно около плафона, т.к. его движения будут имитировать движения плафона Рис. 14.

 

    

Рис. 14 (Изображение направляющего объекта)

 

 

Сейчас нам необходимо привязать объект иерархической цепочки (плафон в нашем случае) к направляющему объекту (Dummy). Для этого нажмите кнопку Bind (привязать)  в разделе Bind to Follow Object (привязать к направляющему объекту) свитка Object Parameters (Параметры объекта) Рис. 15.

 

Рис. 15  (Разделе Bind to Follow Object (привязать к направляющему объекту) свитка Object Parameters (Параметры объекта))

Примечание:

Unbind – отменяет привязку.

 

 

Щелкните на плафон и перетащите курсор к направляющему объекту (dummy) и отпустите кнопку мыши Рис. 16.

 

Рис. 16 (Привязывание плафона к направляющему объекту)

 

 

После чего над кнопкой Bind(привязать) появится название направляющего объекта Рис. 17.

Рис. 17 (Над кнопкой Bind обозначено название направляющего объекта)

 

 

Теперь создайте анимацию направляющему объекту, анимируя его так, как будто Вы анимируете плафон.

 

Закончив анимацию направляющего объекта и настроив ограничения подвижности объектов в цепочки, нажмите кнопку Apply IK (Применить IK) в свитке Inverse Kinematics(Обратная кинематика) Рис. 18. Это приведет к переносу анимации с направляющего объекта на иерархическую цепочку объектов.

 

Рис. 18 (Активация приложенной обратной кинематики)

Примечание:

Apply Only To Keys (применять только к ключам) – ключи анимации будут рассчитываться только для тех кадров, в которых имеются ключи у направляющего объекта.

Update Viewports (обновление окна) – обеспечивает обновление изображения в окнах проекции по мере расчета анимации.

Clear Keys (удалить ключ) – обеспечивает удаление ранее установленных ключей у объектов иерархической цепочки

Start(начало)  End(конец) – позволяют указывать интервал времени анимации, для которого рассчитывать решения обратной кинематики.

 

Задание:

Анимировать лампу посредством метода интерактивной обратной кинематики.

 

Рис. 19 (Лампа, анимированая методом интерактивной обратной кинематики)