Документация Blender'а Том I - Руководство Пользователя |
||
---|---|---|
Анимация персонажей |
автор: Lyubomir Kovachev
Относится к Blender v2.31
Настройка анимации рук является напростой задачей. Жесты и движения пальцев и запястий очень важны, они отражают эмоции персонажа и его взаимодействие с другими персонажами и объектами. Поэтому очень важно иметь эффективно настроенную арматуру, позволяющую достаточно просто двигать пальцы и запястья. Ниже описано, как это сделать.
Рис. 26. Модель руки
Для этого учебника мы используем меш простой мультяшной руки (Рис. 26).
(Примечание переводчика: здесь и далее понятие привод ИК (привод инверсной кинематики) будет соответствовать оригинальному термину IK solver, дословно означающему вычислитель инверсной кинематики.)
Далее мы установим один привод ИК для движения руки целиком, и четыре других привода ИК для каждого пальца. Для поворота запястья используем просто вспомогательную кость.
Итак, глядя на наш меш, начинаем создавать арматуру.
Рис. 27. Рисование арматуры
Расположим 3D-курсор в точке плеча, перейдем на вид спереди и создадим арматуру. Создадим цепочку из трех костей v одну в верхнем плече, вторую в нижнем плече, и третью в ладони, закончив ее там, где начнется средний палец. То, что мы создали, образует цепь элементов арматуры (Рис. 27).
Рис. 28. Арматура на виде сбоку.
Рис. 29. Подгонка арматуры на виде сбоку.
Теперь изменим режим просмотра на вид сбоку и разместим кости так, чтобы они находильсь внутри руки и ладони (Рис. 28 и Рис. 29).
Рис. 30. Привод ИК запястья.
Сделаем вид крупнее и расположим курсор в корневой точке ладонной кости. Добавим новую кость, направленную вправо и той же длины, что ладонная кость. Это будет привод ИК всей руки (Рис. 30).
Рис. 31. Устройство пальца.
Расположим 3D-курсор в точке начала среднего пальца и на виде спереди создадим новую цепочку из четырех косточек (Рис. 31). Три из них будут действительными костями, а четвертая v вспомогательной, т.н. нулевой костью, которую мы направим в сторону ладони, и которая нам пригодится позднее для обратной кинематики.
Вновь перейдем на боковой вид и переместим косточки так, чтобы они разместились внутри пальца. Это может стать нелегкой задачей; облегчить работу поможет просмотр сцены с произвольных точек (режим трэкбола), см. Рис. 32.
Рис. 32. Устройство пальца
Рис. 33. Добавление привода ИК для пальца
Теперь добавим привод ИК для цепочки пальца. Поместим 3D-курсор в корневой точке нулевой кости и добавим косточку с такой же длиной, как остальные три косточки в пальце (Рис. 33). Эта кость будет "рукояткой" привода ИК.
Рис. 34. Арматура для остальных пальцев.
Повторим то же самое для создания цепочек ИК для остальных пальцев. Единственное отличие будет в большом пальце, который имеет всего две действительных косточки, вместо трех. Достаточно скопировать и вставить цепочки, и затем подгонять их...(Рис. 34).
Рис. 35. Имена для элементов руки
Пришло время для важной задачи v дать косточкам имена. Это необходимо для последующей привязки костей к мешу. Назовем кости так, как показано на Рис. 35.
|
Имена косточек для пальцев 1 и 2 не показаны, поскольку они такие же, как в пальце 3, лишь с другим индексом. |
Рис. 36. Привязывание большого пальца
Теперь кое-что свяжем между собой отношениями родитель-потомок
Выделим начальную кость большого пальца "ThumbA.R" (Рис. 36), затем в меню редактирования щелкнем в поле "child of" (потомок) и выберем там "Hand.R". Это сделает большой палец потомком ладонной кости.
Рис. 37. Привязывание остальных пальцев.
Точно также сделаем: (Рис. 37):
Кость "Fing1A.R" потомком "Hand.R"
Кость "Fing2A.R" потомком "Hand.R"
Кость "Fing3A.R" потомком "Hand.R"
Кость "IK_thumb.R" потомком "Hand.R"
Кость "IK_fing1.R" потомком "Hand.R"
Кость "IK_fing2.R" потомком "Hand.R"
Кость "IK_fing3.R" потомком "Hand.R"
Для чего все это было проделано? Для чего так много костей сделано потомками "Hand.R"? Это нужно для того, чтобы при перемещении и повороте руки пальцы перемещались вместе с ней.
|
Кости-"рукоятки" приводов ИКне являются потомками каких-либо костей из контролируемых ими цепочек ИК. Все они являются потомками ладнной кости "Hand.R". |
Рис. 38. Настройка привода ИК для запястья. Выделение кости.
Настало время задать привязки. Войдем в режим позирования (Рис. 38) и включим панель контекстных кнопок (F7). Выделим ладонную кость ("Hand.R") и добавим привязку вида "IK solver" на пенели "Constraints". Там же, в поле "OB", введем имя нашей арматуры - "Armature". После этого кость переместится в центр арматуры, до тех пор, пока не будет сделана следующая операция. В новом появившемся поле "BO" нужно ввести имя целевой кости ИК - "IK_arm.R". После этого с помощью этой кости можно управлять движением руки (Рис. 39).
Рис. 39. Настройка привода ИК для запястья. Установка привязки.
Теперь повторим те же операции,
выделив "ThumbNull.R" добавим привод ИК на кость "IK_thumb.R",
выделив "Fing1null.R" добавим привод ИК на кость "IK_fing1.R",
выделив "Fing2null.R" добавим привод ИК на кость "IK_fing2.R",
выделив "Fing3null.R" добавим привод ИК на кость "IK_fing3.R".
С настройкой костей покончено. Теперь в режиме позы можно, выделяя разные приводы ИК, подвигать их, проверяя работу цепочек обратной кинематики. Можно шевелить пальцами и всей рукой, кроме того, при врещеини ладонной кости должна вращаться вся кисть.
Теперь перейдем к покрытию оболочкой. Это означает настройку деформации меша. Мы должны создать в меше группы вершин. Каждая группа должна иметь то же имя, что и кость, деформирующая ее. Если группы вершин не задавать, то будет расходоваться больше ресурсов процессора, анимация будет удручающе медленной и, возможно, с ошибками. Настоятельно (почти обязательно) рекомендуется использовать для персонажей подразделяемый меш, что позволяет уменьшить количество вершин. Иными словами, если меш слишком сложный, то и привязать его к арматуре также будет сложно. И хотя не нужно жертвовать деталями, все же моделировать меш следует экономно, с как можно меньшим количеством вершин и с использованием подразделяемых поверхностей.
Сделаем меш потомком арматуры, при этом в меню выберем "Armature" и в следующем меню выберем "Name Groups". После этого в меш будут добавлены пустые группы вершин.
Выделим меш руки, перейдем в режим редактирования и включим кнопки редактирования (F9). На панели "Mesh Tools 1" имеется небольшая группа кнопок с надписью "Group" над ней. Благодаря тому, что мы чуть выше выбрали автоматическое задание имен, у нас уже есть все группы, которые нам необходимы (Рис. 40).
Рис. 40. Имена групп вершин.
Даже если кости вида "IK" и "null" были помечены, как "Unskinnable", все равно для них создаются группы вершин. Но поскольку они нам не понядобятся, их можно смело удалить.
Теперь предстоит серьезная работа. Выберем группу с именем "ArmHi.R" с помощью списка на панели редактирования. Теперь, в 3D-окне, выделим все вершины, которые должны перемещаться вместе с этой костью "ArmHi.R" (Рис. 41).
Рис. 41. Группа вершин "ArmHi.R" (верхнее плечо)
Затем нажмем на кнопке "Assign" ("присвоить") в окне кнопок редактирования (Рис. 42). Это действие свяжет выделенные вершины с группой "ArmHi.R". Теперь эти вершины будут перемещаться вместе с одноименной костью "ArmHi.R".
Рис. 42. Присваивание вершин группе
Повторим все то же самое для остальных групп: выделим вершины и присвоим их соответствующим группам. Это утомительный процесс, требующий аккуратности. Не нужно беспокоиться, если несколько вершин присвоены по ошибке. Ненужные вершины нужно выделить и нажать кнопку "Remove" (удалить). Одну и ту же вершину можно присвоить нескольким групам. Например, вершины, находящиеся непосредственно вблизи суставов, желательно присваивать двум группам вершин. Вершины могут иметь различный показатель деформации. По умолчанию он равен единице, но можно добавить вершины с значением деформации 0.500 или меньше. Чем меньше этот показатель, тем меньше деформация вершины. Можно сделать деформацию равной 75% для одной кости и 25% для другой, а можно и 50% на 50%. Это значит, что для каждого конкретного случая нужно подбирать свои значения, наиболее удовлетворяющие поставленной задаче. Вообще говоря, если в меше все суставы находятся в полусогнутом положении (как в нашей руке), то хороший результат достигается и без применения отличных от единицы значений деформации. Главное правило моделирования персонажей состоит в том, чтобы модели ног и пальцев рук были полусогнутыми - это гарантирует их правильную деформацию.
Если все вершины присвоены своим группам и не сделано никаких ошибок, то у нас получится правильная рука с кистью. Выделив арматуру, включив режим позы и выделяя разные приводы ИК, можно проверить работу руки и пальцев (Рис. 43).
Рис. 43. Разные позы.
Настройка скелета ноги и ступни - возможно самая важная часть из всего процесса создания арматуры персонажа. Неправильная настройка ведет к эффекту "скользящей ноги", который способен испортить всю анимацию. Хорошая, полноценная настройка должна позволять ноге оставаться на "земле", когда "тело" уже движется, а также уметь ряд других вещей, например вставать на "цыпочки", шевелить пальцами ног и т.п. Ниже мы рассмотрим несколько настроек для разных ситуаций.
Рис. 44. Неправильная настройка ноги.
Вначале рассмотрим неправильную настройку ноги (Рис. 44).
Построим цепь из трех косточек - бедра, голени и ступни. Теперь поместим 3D-курсор туда, где находится пятка и добавим еще одну кость - привод для ИК. Затем добавим привязку "IK solver" для ступни, где в качестве цели укажем на последнюю созданную кость (Рис. 45).
Рис. 45 Привязка для обратной кинематики
Рис. 46. То, что получается в режиме позирования.
Прверим то, что вышло: в режиме позирования переместим привод ИК - кажется, все двигается, как надо. Теперь попробуем переместить бедро - оказывается, что ступня двигается вместе с ним, а это совсем не то, что нам нужно! (Рис. 46).
Как правило, при анимации тело делает множество движений. Кость бедра является потомком тела, и передвигается вместе с ним. Поэтому при каждом перемещении или повороте тела ступня также будет перемещаться, оказываясь либо под землей, либо над ней. Это приводит к ужасной картине, особенно при анимации ходьбы.
Рис. 47. Добавление пальцев ноги и еще одного привода ИК.
Быть может, этого можно избежать при помощи еще одного привода ИК на пальцах ноги (Рис. 47)? Давайте попробуем. Создадим новую арматуру - бедро, голень, ступню и пальцы. Добавим два привода ИК - один для ступни, а второй - для пальцев. Затем сделаем ИК-кость пальцев потомком ИК-кости ступни.
|
ИК-кость пальцев сделана потомком ИК-кости ступни. Это значит, что она не должна являться потомком любой другой кости арматуры. Чтобы удалить отношения "предок-потомок", нужно выбрать пустую строку в списке меню "Child of:". Не забывайте соблюдать это правило в последующих примерах. |
Рис. 48. Перемещение бедра.
Проверим что получилось - попробуем передвинуть бедро (Рис. 48). Что ж, теперь скольжение не так явно, как в прошлый раз, но достаточно, чтобы погубить анимацию.
Рис. 49. Применяем вспомогательную кость.
Создадим еще одну арматуру. Это будет цепочка из трех костей - бедра, голени и "нулевой" кости. Последняя - это маленькая кость, к которой мы добавим привод ИК. Теперь поместим 3D-курсор в пятке и добавим ступню. Затем добавим к "нулевой " косточке привязку "IK solver" с целевым объектом - костью ступни (Рис. 49). (В качестве привода ИК можно использовать и другую вспомогательную кость, задав для кости ступни привязку "copy location", нацеленную на эту вспомогательную кость ИК).
Рис. 50. Арматура со вспомогательной костью.
Проверим - теперь это работает! При перемещении бедра ступня остается неподвижной!!! (Рис. 50). Это здорово. Но все же недостаточно. Сдвинем бедро чуть выше. Вся цепочка поднимется, но ступня так и останется на земле. Это, разумеется, недостаток данной настройки, но ведь при анимации необязательно поднимать тело настолько высоко... :-)
Рис. 51. Добавление пальцев ноги
Снова создадим цепочку из трех костей - бедра, голени, и "нулевой" кости. Разместим 3D-курсор в пятке и создадим еще одну цепь из двух костей - ступни и пальцев. Добавим привод ИК для ступни (Рис. 51).
Проверим. Это хорошая настройка, с устойчивой независимой ступней и подвижными пальцами. Но в этой настройке все-таки невозможно встать на "цыпочки".
Рис. 52. Полностью завершенная настройка.
Рис. 53. Увеличенное изображение ступни.
Сделаем цепочку из трех костей - бедра, голени и "нулевой" кости (назовем ее LegNull) (Рис. 52). Начиная от пятки, сделаем вторую цепочку всего из двух костей - ступни (Foot) и маленькой "нулевой" косточки (FootNull). Поместим 3D-курсор в конце ступни и добавим кость пальцев (Toes). Из той же точки создадим кость ИК для пальцев (IK_toes). Теперь поместим курсор в пятке и добавим там другую кость ИК (IK_heel). И напоследок, примерно около пятки, добавим еще одну большую ИК-кость (IK_foot) (Рис. 53).
Теперь зададим привязки:
К кости "Toes" добавим привязку "copy location", нацеленную на кость "IK_toes".
К кости "FootNull" - привязку "IK solver" (цель - "IK_toes").
К "Foot" - привязку "copy location" (цель - "LegNull").
К "LegNull" - привязку "IK solver" (цель - "IK_heel").
Ну вот. Все проверим. Попробуем перемещать "IK_foot". Затем переместим вниз "IK_toes". Ступня поворачивается, но кажется, что пальцы не связаны с ней. Но если отнестись к анимации тщательно, то можно избежать ситуации, когда пальцы оторваны от ступни. Вернем арматуру в начальную позу. Выделим "IK_heel" и "LegHi" и поднимем их вверх. Теперь персонаж стоит на носках. Ступня вновь может отделиться от пальцев, но это легко исправить, выделив только "IK_heel" и сдвинув его немного вперед или назад. Эта настройка не самая простая для анимации, но дает больше возможностей, чем предыдущие варианты. Если персонаж не должен стоять на "цыпочках", то достаточно более простых вариантов настройки. Вообще говоря, совершенного варианта не бывает. Можно лишь приблизиться к нему, но все равно останутся какие-то недостатки.
Рис. 54. Проверяем настройки.
|
||
Привязки |
|
Арматура для механизмов |