Затем обнулите значение атрибута ikBlend, попробуйте подергать за IK Handle. Бесполезно. Инверсная кинематика не работает, зато теперь можно использовать прямую кинематику, то есть вращать суставы напрямую.

Таким образом, имеется один атрибут, переключающий управление над всеми костями цепочки с инверсной кинематики на прямую и обратно.

В принципе этого достаточно для педантичных пользователей, так как остается только аккуратно расставить ключи на нужные атрибуты (это, прежде всего, translate для IK Handle и rotate для всех суставов плюс ключи для ikBlend). Но где вы видели таких пользователей среди трехмерщиков? Поэтому, чтобы не ввергать этих детей анархии в полный хаос, был сделан специальный пункт меню: Animate=>IK/FK Keys=>Set IK/FK Key.

Разберемся с тем, что делает эта операция, а затем посмотрим, как её использовать. Если выбран IK Handle или хотя бы один из суставов, входящих в его кинематическую цепочку, эта операция ставит ключ на все анимируемые атрибуты для IK Handle, включая ikBlend, а также на ключ на атрибуты rotate для всех суставов кинематической цепочки.

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

Взять конечность за IK Handle и поставить необходимое количество ключей на его перемещения (и, может быть, вращения, в случае Single Chain Solver). В последнем кадре, где вы использовали инверсную кинематику, выберите IK Handle и выполните Animate=>IK/FK Keys=>Set IK/FK Key. Это поставит ключи не только на трансформации, но и, прежде всего, на атрибут ikBlend, который по умолчанию должен быть равен единице.

Перейдите в следующий кадр. Так как с этого момента должна начинаться территория прямой кинематики, инверсную следует сразу выключить: установите ikBlend=0 и тут же поставьте на него (и только на него!) ключ. (В этот момент документация советует выполнить Set IK/FK Key, однако это поставит дополнительные ключи на вращения суставов, и вы получите ключевой кадр идентичный предыдущему, то есть «замирание».)

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

В последнем кадре, где используется прямая кинематика, выберите IK Handle (он должен «приехать» на место вместе с вращением костей), убедитесь, что атрибут ikBlend равен нулю и выполните операцию Set IK/FK Key. Затем перейдите в следующий кадр, задайте ikBlend=0 и тут же поставьте на него (опять, только на него) ключ, переключившись, таким образом, на инверсную кинематику.

Совет. Некоторые взрослые мальчики предпочитают делать переключение не в течение одного кадра, а гораздо быстрее. То есть вместо того, чтобы выполнив операцию Set IK/FK Key в сотом кадре, перейти в следующий кадр, они переходят на сотую долю кадра вперед, например в кадр 100.01 и ставят ключ на ikBlend там.

Вроде все выглядит просто, однако есть ряд не очень положительных моментов.

Вы можете заметить, что операция Set IK/FK Key ставит ключи на все анимируемые атрибуты IK Handle. Ключи, таким образом, плодятся в большом количестве. Однако вам нужно лишь переключить значение атрибута ikBlend в соседних кадрах и не забыть зафиксировать положение скелета в момент этого переключения. Поэтому вы можете вовсе не использовать операцию Set IK/FK Key, а ставить все ключи вручную на перемещения IK Handle, вращения суставов и, конечно, на атрибут ikBlend.


⇐ вернуться назад | | далее ⇒