Уроки: Blender

«Big Buck Bunny»: риг летяги

Предводитель банды грызунов, он же белка-летяга (или просто летяга), несмотря на биологическое родство с косоглазой белкой, разительно отличается от неё по устройству скелета. Это говорит о том, что риг, как правило, создаётся не столько с учётом анатомии персонажа, сколько с учётом его предназначения. Для прямоходящей двуногой белки риг, стало быть, будет одним, а для летающей и часто бегающей на четырёх лапах — другим. Хотя и у той, и другой белки имеются одни и те же лапы, голова и хвост.

Откроем файл flyingsquirrel.blend и оценим трезвым взглядом летягу, повключав у неё всё, что можно.

Итак, мы видим, что мешевый деформер снова возвращается и окутывает летягу с головы до ног. Также заметно, что количество переключающих шкал заметно возросло. Теперь в режим IK переключаются не только руки, но и ноги, ведь летяга может летать, а во время полёта ноги лучше держать в состоянии прямой кинематики. Ещё появилась шкала для раскрытия парашюта и какая-то боковая для смены пивота спины. На слое 13 вьюпорта мы наблюдаем отдельную арматуру с некими лицевыми контроллерами, которые сами по себе перемещаться не могут, но указывают зачем-то на похожие кости из основной арматуры. Со всем этим и многим другим нам предстоит разобраться, но сперва по традиции произведём ревизию костяных слоёв.

  • Слой 1 — Основные элементы управления летягой: корневая кость, спина, голова, пальцы и бегунки переключающих шкал.
  • Слой 2 — Руки в режиме FK.
  • Слой 3 — Ноги в режиме FK.
  • Слой 4 — Руки в режиме IK.
  • Слой 5 — Ноги в режиме IK.
  • Слой 6 — Лицевые контроллеры эмоций, пальцы и уши.
  • Слой 7 — Продвинутые контроллеры для век, глаз и носа
  • Слой 8 — Контроллеры хвоста, парашюта и лицевые для растягивая отдельных частей головы.
  • Слой 9 — Снова пальцы.
  • Слой 10 — Вспомогательные кости ног и хвоста.
  • Слой 11 — Снова ноги.
  • Слой 12 — Пустой.
  • Слой 13 — Контроллеры рта и кости в системе поворота глаз.
  • Слой 14 — Пустой.
  • Слой 15 — Несколько костей для коррекции косяков деформации меша.
  • Слой 16 — Запасной скелет для управления мешдеформером. Куда ж без него? :)

Изучив слои с костями и поняв, что молниеносного пробега по ригу ожидать нам, как всегда, не приходится вследствие обнаружения много всего нового и неизведанного, то приступим к делу, не затягивая и перекрестясь.

Что мы можем сказать о ногах? Включим слои 1, 3, 10, 11 и 15, выключим Shapes, а квадратный B-Bone переключим в более человеческий Octahedron, чтобы лучше рассмотреть кости и их взаимосвязи между собой. На первый взгляд система ноги очень напоминает то, что мы уже видели у белки. Однако попробуйте потягать за контроллер CTRL_FK_Foot.L, и вы увидите, что нога всегда остаётся на месте, а сгибается в ней только стопа. Это и понятно, ведь ноги находятся в режиме FK. Ещё обратите внимание, что будучи потянутой за кость MCH_FK_FootRoll.L, стопа может не только подниматься над носком, но и опускаться ниже него, чего в предыдущих ригах мы не наблюдали.

Это может показаться странным на первый взгляд, но если вспомнить, что режим FK вообще не предназначен для того, чтобы ноги в нём ходили по земле, а летяга будет только болтать ими в воздухе, то становится понятно, что фиксировать поворот пятки ниже стопы всё равно нет никакой нужды. А два выключенных констрейна Copy Location и Copy Rotation, указывающие на какую-то невидимую кость CTRL_FootRoll.L, и то, что ни одна из костей не связана с главной костью рига, только подтверждают наши догадки. Ноги для режима FK собраны таким образом, чтобы быть всегда связанными с туловищем и не оставались на земле в то время, когда летяга взмоет в небо. Потягайте за тазовую кость CTRL_Pelvis, и вы увидите, что это означает.

Но переключим теперь оба бегунка right leg и left leg в положение IK и заметим, что ноги прибились к полу, и сдвинуть их теперь не может никакое перемещение тазовой кости.

Выключим костяной слой 3 с ногами FK, а взамен него включим слой 5 с ногами IK. Мы видим абсолютно похожую ногу, только в этот раз не связанную жёстко с туловищем благодаря констрейну IK, а контроллер стопы CTRL_IK_Foot.L является теперь предком главной кости рига Root. Найдём напоследок в глубине стопы кость CTRL_FootRoll.L и повращаем пятку. Теперь она вращается, как надо, не изворачивая носок неестественным образом.

В общем, переключение ног из FK в IK работает точно так же, как мы рассматривали когда-то для рук шиншиллы и косоглазой белки. Для каждого режима собрана своя система костей ноги, только кости IK всегда двигаются сами по себе, а кости FK имеют на себе констрейны Copy Location и Copy Rotation, привязывающие их костям IK в тот момент, когда бегунок шкалы right leg или left leg переключает своё состояние из FK в IK.

С кинематиками ног на этом всё, но ещё не всё с самими ногами. Мы заметили, когда включали по очереди слои с костями, что там нам вдруг попались кости с названиями, начинающимися на COR, что указывало на их принадлежность к исправлению мелких деформаций меша. И в отличие от косоглазой белки, в этот раз такие рычажки работают не через ручное управление аниматором, а в автоматическом режиме. Это становится любопытным, и заставляет нас поглубже погрузиться в тайны этих костей.

Включим индивидуально слои костей 15 и 16. На 15-м слое находятся корректирующие кости, а на 16-м — запасной скелет для привязки к нему мешевого деформера.

В прошлый раз исправление дефектов деформации меша производилось при помощи Shape Key, настроенных на меше самого тела косоглазой белки. Но в летяге такой способ едва ли пройдёт, потому что поверх тела надет мешевый деформер, и поэтому бесполезно будет искать Shape Key в меше летяги. А вот в сетке мешдеформера FlyingSquirrelDef мы их найдём почти мгновенно.

Я не буду заставлять вас проверять, какие кости управляют этими двумя Shape Key-ями, а скажу сразу, что это COR_LegUp.L и COR_LegUp.R. Сосредоточимся, как обычо, на левой ноге и обнаружим, что кость COR_LegUp.L имеет растягивающий констрейн Stretch To, указывающий на рядом расположенную кость COR_LegUpTarget.L, с которой они объединены концевыми шарнирами. В свою очередь, COR_LegUpTarget.L констрейнами Copy Location и Copy Rotation привязана к кости Femur.L, которая является аналогом бедренной кости в основном скелете, так как привязана точно таким же образом к кости CTRL_FK_Femur.L.

Что же мы имеем в итоге? Когда бедренная кость CTRL_FK_Femur.L порачивается, она поворачивает, соответственно, и COR_LegUpTarget.L, а та в это время растягивает корректирующую кость COR_LegUp.L, вынуждая привязанный к ней Shape Key срабатывать должным образом. Мешевый деформер при этом изменяет форму летяги, подстраивая её под изогнутую ногу, и все остаются довольны! Причём, даже не требуется никакой ручной регулировки!

На этом мы уж точно покончим с ногами поднимемся чуть выше в сторону хвоста. Для этого нам понадобятся слои костей 1, 8 и 10. Также нам понадобится слой 3 вьюпорта, потому что кроме мешдеформера там находится ещё кое-что интересное.

А теперь посмотрим на хвост и признаем, что такой структуры среди ранее рассмотренных персонажей «Big Buck Bunny» видеть нам пока не приходилось.

Будем размышлять снаружи внутрь. Что мы видим снаружи? Конечно, три кости для управления хвостом — CTRL_TailTip, CTRL_TailMid и CTRL_TailBase. Первые являются потомками главной кости рига Root, а последняя припаренчена к тазовому контроллеру CTRL_Pelvis. Пока что это даёт нам определить лишь то, что когда зад летяги движется в определённом направлении, то основание хвоста движется следом, а середина и конец остаются на месте. Внутри кости CTRL_TailBase есть похожая, но более мелкая кость CTRL_TailBase.001, не имеющая ни констрейнов, ни каких-то других осмысленных связей, поэтому предназначение её для меня осталось смутным, и мы не будем акцентировать на ней внимания.

К этим трёх хвостовым костям припаренчены пустышки Empty, а они при помощи модификаторов Hook привязаны к узлам кривой TailCurve, которая проходит сквозь весь хвост. Углубляясь ещё дальше, мы обнаружим, что кривая через модификатор Curve при помощи Vertex-группы Tail, сосредоточенной в хвосте, управляет деформацией меша. Итого получается, что, тягая кости, мы деформируем кривую, а она изгибает меш хвоста. Вот так всё просто!

Похожим образом в мультфильме создан и риг верёвок, которые в своей партизанской деятельности использовал Большой Зай. Единственное отличие состоит в том, что на летяге нужно было указать, какие конкретно вершины должна изгибать кривая, ведь не весь же он состоит из хвоста. :)

Устройство спины у летяги не представляет ничего сложного, так что даже как-то скучно о ней рассказывать. В районе таза в позвоночнике имеется точно такой же центр расхождения костей, как и в косоглазой белке, то есть кость CTRL_Pelvis идёт вниз, а CTRL_Spine — вверх. Это делает летягу разделённой на две части. Верхняя часть над тазом поворачивается сама по себе, и нижняя — тоже сама по себе, что даёт аниматору возможность заставлять летягу бегать так, чтобы передвижения ног и наклоны таза не раскачивали верхнюю половину туловища. Правда, за счёт этого связь тазовой и спинной костей с корневой получилась немного хитрой, но не настолько, чтобы сломать на ней мозг. Непосредственно с главной костью рига связана только CTRL_Spine, а уже к ней припаренчена тазовая кость CTRL_Pelvis. Но от неё она зависит только в перемещении, а повороты тазовая кость берёт только у корневой кости благодаря родительской связи через констрейн Child Of.

Вдоль позвоночника летяги выстроен ряд горизонтальных костей для деформации краёв парашюта (правда, риггер, в отличие от меня, назвал его крыльями), чтобы они колыхались во время полёта. И ничего сложного в них тоже нет.

Что касается той страшной шкалы на три положения под названием wing spread, то она тоже работает достаточно просто и, минуя кости скелета, влияет сразу на мешдеформер, искажающий форму летяги в районе парашюта. В левом положении biped (двуногий) форма сжимается:

А в правом flying (летающий) — расширяется:

И последнее, что касается спины. В левой части раздела с переключающими шкалами приютилась какая-то подозрительная вертикальная шкала под именем spine pivot. Её переключение не даёт видимого эффекта, но можно определить, что при переводе бегунка в положение top у первого констрейна Script на кости CTRL_Spine параметр Influence принимает значение 1.

Скрипт bone_preserve_volume.py мы уже встречали ранее, и занимается он тем, что при масштабировании кости сохраняет её объём вдоль осей X и Z. Однако увидеть работу этого скрипта в действии нам до сих пор так и не удалось. В этот раз тоже просто так не удастся, если пробовать сделать это только в файле с летягой. Потому что единственный верный способ разгадать секрет этого констрейна и скрипта — это порыться в анимации и найти там момент, когда переключается бегунок на шкале spine pivot. Благо, мультфильм короткий, и файлов с анимацией немного.

Такие моменты там есть, и встречаются они не единожды. Принцип их прост: когда летяга ходит двумя лапами по земле, то бегунок находится в состоянии bottom.

Но как только она взбирается четырьмя лапами на дерево, то бегунок тут же переводится в положение top.

По правде сказать, даже найдя момент переключения бегунка, я не смог усмотреть в нём особой необходимости для летяги. Поэтому раскрыть тайну его предназначения — это будет для вас домашним заданием. Чем не повод лишний раз поломать свой мозг и в случае успеха показать, что вы шарите больше, чем автор статьи? :)

Следующее, с чем мы сталкиваемся на пути восхождения по летяге, — это руки. Но руки у летяги, к счастью, ничем не отличаются от тех, что мы видели ранее в скелете косоглазой белки. Те же кости для прямой кинематки, те же — для инверсной и переключащие шкалы для них — right arm и left arm. В общем, оставляем руки в покое и движемся дальше.

Голова. В голове у летяги такое дикое количество Shape Key-ев для управления эмоциями, что их контроллеры были вынесены в отдельную арматуру. Главная арматура летяги называется FlyingSquirrelRig, а лицевая — FlyingSquirrelFaceRig, и расположена она в отдельном слое вьюпорта №.13. А поскольку слои с костями у этой арматуры теперь тоже свои, то чтобы увидеть все задействованные в ней кости, придётся повключать их заново. Я обнаружил, что всё необходимое находится в слоях 1, 9, 10, 15 и 16.

Однако, несмотря на всё это умопомрачительное буйство костей, соединены они достаточно просто. Например, звездообразно расположеная кучка костей, исходящих из центра каждого глаза, нужна только лишь для того, чтобы зависимые от них контроллеры на нижнем и верхнем веках двигались по поверхности глаза, а не проваливались внутрь него. А кольцевые кости вдоль век предназначены для равномерной их деформации благодаря тому, что, оттягивая один контроллер, мы при этом немного сдвигаем и соседние тоже. Ну, и всё остальное в том же духе.

Основные кости, влияющие на деформацию лица, собраны в слое 1. Все они через констрейны типа Copy Location, Copy Rotation или Copy Scale связаны с аналогично расположенными костями из основной арматуры, и оттуда уже производится их управление. В основной арматуре FlyingSquirrelRig эти кости расположены в слоях 6 и 7.

Что касается глаз, то их управление реализовано аналогично, как и для косоглазой белки за исключением того, что нельзя поворачивать каждый глаз в отдельности. Видимо, от суровой летяги не требовалось того, чтобы смешить зрителя безумными выражением лица, поэтому её глаза всегда смотрят точно на цель.

Что ж, смею вас поздравить: на изучение летяги нам понадобилось минимально рекордное количество времени! Но всё это не из-за того, что риг летяги в чём-то прост. А благодаря тому, что мы усердно разбирались в ригах предыдущих персонажах и подобрались к летяге уже основательно подготовленными. Однако наши старания нельзя назвать напрасными. Весь накопленный нами опыт нам нужен был для того, чтобы в конце концов смело встретиться лицом к лицу с самым страшным ригом мультфильма — Большим Заем. Итак, знакомьтесь...

Сайт автора: www.krre.inf.ua.

8466 Автор:
Актуальность: 450
Качество: 620
Суммарный балл: 1070
Голосов: 8 оценки
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: * уникальных посетителей