Параметр Reach keying mode отвечает за «тип» устанавливаемых ключей в данном кадре. Если выбран тип IK Key, то кости, управляемые выбранным эффектором, будут двигаться после этого ключа вслед за решением инверсной кинематики, а если выбран тип FK Key, то эти кости будут следовать за FK-скелетом.

Грубое правило постановки и выбора типа ключей такое: после задания позы и перед установкой ключа следует выбрать те эффекторы, чьи суставы должны оставаться на месте и после этого поставить ключ типа IK Key. Это гарантирует, что между соседними ключами нужные суставы не будут проскальзывать или дрожать. (Заметьте, я пока ничего не говорю про параметр Keying Mode, полагая, что он установлен в All.)

Технически вся эта чехарда с типами ключей устроена следующим образом. У каждого эффектора есть два атрибута: Reach Translation и Reach Rotation, на которые документация (и я в дальнейшем) часто ссылается как на один атрибут Reach. Так вот, когда этот (эти) атрибут равен единице, то кости (суставы), управляемые этим эффектором, строго следуют за инверсной кинематикой, определяемой положением этого эффектора (это практический полный аналог атрибута ikBlend для обычных IK Handle). Если атрибут Reach равен нулю, то кости, управляемые им, начинают следовать правилам прямой кинематики, игнорируя положение эффектора и двигаясь вслед за FK-скелетом.

По умолчанию, у вновь созданного Full Body IK персонажа атрибуты Reach равны единице для рук (HandEff), Hor(FootEff) и бедер (HipEff), (для handEff атрибут Reach Rotate равен нулю), так как эти части тела обычно управляются с помощью эффекторов, то есть с помощью инверсной кинематики. Для остальных эффекторов атрибут Reach равен нулю, так как, например, голову или шею проще анимировать прямой кинематикой.

Еще раз уточню, что атрибут Reach определяет, как будут двигаться кости (соответствующие эффектору) между ключевыми кадрами. Если, например Reach будет равен 0.5, то между ключевыми кадрами кости основного скелета будут где-то посередине между решением инверсной кинематики и FK-скелетом.

Примечание. Вас может немного смутить, что во время анимации эффекторы «уезжают» от своих суставов. Да, меня это тоже смущает. Однако если вы остановите анимацию и легонько дернете за любой эффектор, то скелеты и эффекторы мгновенно синхронизируются. Просто не обращайте на это внимания.

Так вот, когда вы выбираете эффектор(ы) и ставите на него ключ типа IK Key, то для него (них) атрибут Reach устанавливается в единицу и на него (них) ставится ключ - с тангенсом типа Stepped Next. Это происходит только для выбранных эффекторов - и не верьте документации, утверждающей, что «all other effectors’ Reach values are set to 0»! Атрибуты Reach для остальных невыбранных эффекторов остаются нетронутыми.

Если же вы ставите на выбранные эффекторы ключ типа FK Key, то для них атрибут Reach устанавливается в ноль и на него ставится ключ (с тангенсом типа Stepped). Это опять же происходит только для выбранных эффекторов.

Примечание. Тангенс типа Stepped Next определяет, что если в данном кадре атрибут Reach равен нулю, то в следующем кадре (и даже между кадрами) значение этого атрибута будет определяться следующим ключевым кадром. Тангенс типа Stepped, наоборот, определяет, что значение атрибута будет неизменным вплоть до следующего ключевого кадра. Таким образом, если вы поставили сначала IK Key, а потом FK Key, то значение атрибута Reach «соскочит» в ноль, как только вы уйдете из первого ключевого кадра. Это избавляет вас от необходимости ставить ключи на все эффекторы в тех кадрах, где вы работаете только с конкретными частями тела. Если вы поставите третий ключ снова типа IK Key, то между вторым и третьим ключевыми кадрами атрибут Reach будет также равен нулю, так во втором ключевом кадре тип тангенса равен Stepped, в первом и третьем


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