Всем привет!
Сегодня, пожалуй, будет самый сложный урок из всех предыдущих, постарайтесь
не отвлекаться и слушать внимательно. Если кто хочет задать вопрос – путь
поднимет руку.
Хотелось бы для начала посоветовать вам, при прохождении
данного урока, почаще пользоваться клавишей V(привязка к точке), а так
же воспользоваться информацией, которая находится здесь.
Сначала нам надо создать манипуляторы, с помощью которых мы будем управлять
рукой. Я их создал из кривых, т.к. их трансформацию можно обнулить, что
позволит в любой момент поставить наш персонаж в изначальную позу. Все
манипуляторы должны быть зафризины,
а точка опоры должна находиться в центре управляемого сустава. Назовем
их так – слева направо: l_shoulderCtrl, l_elbowCtrl, l_wristCtrl
Также надо переименовать тот чудесный сустав, куда крепятся
руки, в torso.
Теперь дублируем L_up_arm (не сдвигая с места) вместе со всей цепочкой
низ лежащих суставов и переименовываем все это дело таким образом: L_up_arm_ik,
L_low_arm_ik, и т.д.
Парентим эту цепочку к torso.
Создаем новую цепочку, состоящую из двух суставов. Первый находиться там
же, где и R_shoulder, а второй где L_low_arm:
Первый переименовываем в L_shoulder_aim, а второй L_shoulder_aim_end.
Сориентируйте сустав L_shoulder_aim как положено ( Y – параллельно
суставу, Z - вверх)
Парентим
L_shoulder_aim к torso и перемещаем сустав L_shoulder_aim_end, так чтобы
он находился под L_ap_arm :
Выбираем
Skeleton > IK
Handle Tool > (настройки по умолчанию)
Создайте цепочку инверсной кинематики от L_ap_arm до L_wrist_r и еще одну
от L_ap_arm_ik до L_wrist_r_ik. Далее выделяем effector9 (или какой там
у вас он по номеру)
И переносим его точку опоры в центр сустава L_wrist. То
же самое делаем и со вторым эффектором. Парентим
оба Ik манипулятора к l_wristCtrl.
В окне опций IK
Handle Tool переключаем Current Solver – на IkSCsolver и создаем цепочку
от L_shoulder до L_ap_arm, парентим
полученный манипулятор к L_shoulder_control. И еще одну цепочку от L_shoulder_aim
до L_shoulder_aim_end. Парентим
полученный манипулятор к torso и переименовываем в L_aim_ikHandle.
Создаем локатор L_auto и с помощь Point Conctrain цепляем его к L_low_arm_ik.
Создаем еще один локатор – L_orig и располагаем его в том же месте что
и сустав L_shoulder_aim_end. Парентим
оба локатора к torso.
Выделите оба локатора, затем L_aim_ikHandle и создайте Point
Conctrain.
Выделяем L_aim_ikHandle и в панели каналов находим L_auto W1 – ставим
там 0
Парентим
L_shoulder_control к L_shoulder_aim_end
В общем то все, при помощи изменения параметра L_auto W1
– можно изменять степень влияния руки на плечевой сустав. Но для удобного
управления давайте подключим этот атрибут к L_shoulder_control. Выделяем
его и в Attribute Editor, в меню Attributes выбираем Add Attributes. Появляется
окно, которое заполняем следующим образом
После нажатия кнопки Ok, в панели каналов вы увидите новый
атрибут:
Открываем Connection Editor. В левую часть подгружаем L_shoulder_control,
а в правую - L_aim_ikHandle_pointConstraint1.
Вот и все, осталось рассказать, что при значении L_shoulder_control.autoorient
– 0, вы, перемещая кубик манипулятора L_shoulder_control, можете вручную
анимировать ключицу. Если L_shoulder_control.autoorient больше 0, то ключица
будет работать автоматически. Перемещая l_elbowCtrl, вы можете управлять
положением локтя.
Не забудьте залочить и скрыть ненужное, дабы вам было приятно анимировать.
Напоследок хочу добавить, что очень хотелось бы узнать, что у вас получилось
или не получилось. Ну и соответственно подкорректировать данный урок.
Удачи.
Урок составлен по материалам семинара «Integrating an animation
rig into a creature pipeline»
Jason Schleifer and Weta Digital LTD.
Продолжение следует.
Belayev
Andrey
|