…И снова здрасте!
Поскольку анимировать скелет, в котором насчитывается хотя бы 20-30 костей вручную способом прямой кинематики не всегда удобно, перейдём к изучению основ инверсной кинематики.Для создания более-менее понятной инверсно-кинематической цепочки нам нужно перед родительской костью уже имеющейся цепи создать ещё одну кость с «ниспадающей» привязкой:
В Edit Mode выделяем родительскую кость. Дублируем её (Shift+D) и ставим перед родительской.
Теперь нам надо привязать цепочку к новой родительской кости — выделяем с зажатым Shift СПЕРВА родительскую кость цепи, ЗАТЕМ нашу дублированную кость, жмём Ctrl+P и из выпадающего списка выбираем Keep Offset:
Примечание: если нажать на Connected, то первая выделенная нами кость будит пристыкована ко второй на прямую, в данном случае можно конечно сделать и так, но если вам нужно прилинковать кость лежащую далеко от родителя, то Keep Offset — самое оптимальное решение.
В результате от первой выделенной кости ко второй протянется пунктирная линия, свидетельствующая о том, что кости сединены между собой:
Примечание: порядок выделения костей при линковке ОЧЕНЬ ВАЖЕН! Если вы линкуете более, чем две кости, то первыми должны быть выделены кости КОТОРЫЕ вы хотите привязать, а последней та, К КОТОРОЙ будит осуществлена привязка.
Для создания полной IK-цепочки, нам осталось только добавить и настроить кость-привод.
Щёлкнув правой кнопкой мыши где-нибудь рядом со скелетом устанавливаем курсор.
Создаём ещё одну кость (при этом остаёмся всё в том же Edit Mode) — задерживаем правую (или левую как удобней) кнопку мыши — Add → Bone:
Выделяем конечный сегмент последней кости в цепи (это если что правый шарик самой правой кости на рисунке выше).
Нажав Shift+S выбираем „Cursor -> Selection“:
Теперь выделяем рутовую часть нашей недавно созданной кости (Рисунок с тремя циферками ещё не забыли? Так вот рутовая или родительская часть это та, что под номером 3).
Опять жмём Shift+S, только теперь выбираем уже „Selection -> Cursor“ (тобиш переместить выделенное к курсору).
Примечание: комбинация Shift+S чрезвычайно полезна, если вам часто приходится перемещать один объект к другому и не только, например если вам надо поставить курсор или выделенный объект точно по координатной сетке, то выделив объект переносим его как можно ближе к нужному краю ячейки сетки жмём „Selection -> Grid“.
В результате выделенная часть кости переместилась на позицию курсора.
Подводим дочернюю часть кости поближе к родительской, а затем с зажатым Shift выделяем родительскую кость цепи (предпоследняя слева) и линкуем к ней конечную кость с сохранением позиции последней.
Должно получиться вот это:
Ну вот собственно сама цепь костей для нашей первой IK-цепочки и готова, осталосць её только правильно настроить.
Небольшая дополнительная информация: Принцип расчёта движения IK как я уже неоднократно говорил базируется на расчете ПОВОРОТА костей прямой кинематики относительно ПОЛОЖЕНИЯ В ПРОСТРАНСТВЕ костей инверсной кинематики. Для того, чтобы Blender понял, какая кость прямой кинематической цепочки подчиняется триггеру кости IK, надо его (Blender) ткнуть носом в эту самую кость.
Облегчу вам работу и перед тем, как мы начнём линковку, объясню функции некоторых кнопок панели настроек скелета:
Преходим в Pose Mode (
).Выделяем нашу кость IK, Затем с зажатым Shift кость левее неё и жмём Ctrl+I:
В списке контроллеров «пожелтевшей» кости появился ограничитель IK (так для не особо владеющих английским — ограничитель в переводе на буржуйский звучит как constrain — зачем я это сказал? А чтобы одноимённую вкладку с параметрами найти смогли, она на верхнем скриншоте самая нижняя).
Собственно теперь у нас получиласць IK цепочка — поздравляю…
Только, если мы выделим конечную кость и попробуем её переместить, то заметим, что перемещается она как-то странновато:
О.о
Назревает вопрос… с какого перепугу?
Дело в том, что в параметре Chain Length (он в жёлтой кости находится, а не в последней, в списке ограничителей — мы же не жёлтую кость линковали, а к ней…) по умолчанию стоит значение — ноль, а это означает, что расчет кинематики будит производиться от самой первой кости и до указанной IK-кости ВКЛЮЧИТЕЛЬНО!
А нам надо, чтобы рассчитывалась кинематика только для нескольких нужных нам костей.
Если значение данного параметра больше нуля, то расчет как раз пойдёт не от начала, а от конца. Поскольку у нас вращаться должны всего 3 кости перед IK-контроллером — ставим там значение 3:
Вот теперь наша цепочка работает как надо.
Но таскать наводящую кость по прежнему не удобно — если таких цепочек в одной сцене будит много, то мы рискуем потерять нужную нам кость из виду — ибо они слишком мелкие.
Как бы нам упростить процесс перемещения костей, но только так, чтобы всё можно было видеть и самое главное понимать как это работает?
Ну в принципе возможно, — создаём где-нибудь рядом новую кость.
Ставим её так, как показано на рисунке (Shift+S использовать не забываем):
Линкуем кость „Bone 005“ с сохранением офсета к кости „Bone 004“ скелета.
Теперь линкуем к „Bone 005“ кость „Bone 003“ (с сохранением офсета или без, значения в данном случае не имеет, ибо они находятся рядом).
Переходим в Pose Mode и масштабируем „Bone 005“.
Другое дело — теперь можно анимировать сразу несколько костей.
Так, непосредственно с самим IK вроде бы более-менее разобрались, переходим к контроллерам и ограничителям…
Создаём такую вот конструкцию (выделение рамкой – „B“, а копирование выделенного — Shift+D если что…):
Теперь в Pose Mode поворачиваем один из двух объектов:
Мда… многовато костей получается… даже при таком упрощённом управлении, как у нас…
Что же делать? Ну что, что — естественно упрощать.
Для начала рассмотрим такой ограничитель, как Track To.
В Pose Mode выделяем рутовую кость любой из двух IK-цепей, во вкладке Constrains щёлкнув по кнопке Add constrain добавляем ограничитель Track to.
Ограниченная нами кость оперативно посинела:
Для того, чтобы ограничитель начал работать — ему необходимо указать, за каким именно объектом он должен следить.
А вот тут есть одна небольшая заковырка — трекер НЕ МОЖЕТ следить за объектами, которые являются частью той же самой арматуры, где находитсця следящая кость!
Переходим в Object Mode.
Ставим курсор где-нибудь перед нашей цепочкой и создаём там… ну например кубик:
В свитке Links and materials копируем имя нашего кубика:
Выделяем нашу арматуру, переходим в Pose Mode и вставляем имя кубика в поле Target списка ограничителей:
Давим Enter и в Object Mode пробуем переместить наш куб.
Как видите рутовая кость теперь направляет всю цепь непосредственно на куб.
продолжение…









