Уроки: Blender

«Big Buck Bunny»: риг шиншиллы

Откроем файл chinchilla.blend и на панели костей включим все слои. Теперь мы научены горьким опытом и знаем, что на любом, даже самом неприметном слое, может храниться какое-нибудь маленькое, но очень важное кладбище костей для рига. Поэтому постараемся с первых же минут знакомства с шиншиллой ничего не упускать из вида.

Итак, вот она, наша костлявая красавица!

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

  • Слой 1 — Основа всей шиншиллы. Это корневая кость Root, контроллеры управлением ног, пальцев, туловищем и головы. А также кости для шкал переключения прямой-инверсной кинематики. Рук здесь нет и сейчас вы узнаете, почему.
  • Слой 2 — Руки! Для использования в режиме прямой кинематики.
  • Слой 3 — Те же руки, только для использования в режиме инверсной кинематики.
  • Слой 4 — Просто пальцы (не контроллеры, как в прошлый раз), хвост и уши.
  • Слой 5 — Контроллеры для управления эмоциями, ртом и глазами.
  • Слой 6 — Контроллеры для деформации различных частей морды и раздельного поворота глаз.
  • Слой 7 — Пустой.
  • Слой 8 — Пустой.
  • Слой 9 — Вспомогательные кости ног, пальцев, туловища и головы.
  • Слой 10 — Вспомогательные кости рук.
  • Слой 11 — Пустой.
  • Слой 12 — Вспомогательная кость хвоста.
  • Слой 13 — Вспомогательные кости глаз.
  • Слой 14 — Пустой.
  • Слой 15 — Пустой.
  • Слой 16 — Дубликат скелета для скининга мешевого деформера.

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

С чего же нам лучше всего начать? Наверное, с той части зверя, где меньше всего костей. А это, как нетрудно догадаться, снова нижняя часть скелета и конкретно — ноги.

Кости ног попадаются только на первом слое и девятом. Включим только их и потягаем сперва за контроллер левой ноги CTRL_Foot.L, после чего потягаем тело шиншиллы за тазовый контроллер CTRL_Pelvis.

Мы видим, что левая нога (да и правая тоже) работает так, как будто на ней висит констрейн инверсной кинематики: сама по себе она двигается, но остаётся на месте, когда двигается тело. Однако на самом деле никаких констрейнов здесь нет, а принцип работы ног можно условно назвать псевдо-инверсной кинематикой.

Перейдём в Edit Mode и взглянем на кости.

По пунктирным линиям, показывающим родственные отношения между костями, ясно, что все элементы ноги являются потомками кости контроллера CTRL_Foot.L, а та в свою очередь припаренчена к корневой кости рига Root. Это наглядно показывает, что нога может следовать только за корневой костью рига, а в остальных случаях она работает сама по себе, объявив суверенитет.

Как мы знаем, у техники инверсной кинематики есть два отличительных свойства:

  1. Возможность автоматически сгибать кости цепочки вслед за концевой.
  2. Возможность фиксировать концевую кость в пространстве, двигая всю цепочку за корневую кость.

Эти два свойства предоставляют наиболее удобные возможности для анимации ног. Но если у нас в цепочке имеется всего одна кость, то необходимость в первом свойстве автоматически отпадает, а второе можно легко проимитировать обычным припаренчиванием кости за пределами основного рига, то есть к самой главной его кости. Которая в данном случае называется Root. Вот так и получается режим псевдо-инверсной кинематики.

В остальном же нога шиншиллы является на редкость простым устройством, без всяких констрейнов и прочих наворотов для проверки нашего ума на прочность. Контроллер CTRL_Foot.L, как мы уже увидели, управляет всей ногой, контроллер CTRL_Toe.L — носком, а CTRL_FootRoll.L приподнимает пятку, оставляя носок неподвижным.

Хотя, если повернуть эту кость вниз, то окажется, что носок с некоторого момента всё-таки тоже начинает поворачиваться следом!

Это значит, что здесь мы словили сюрприз, и нужно рассмотреть механиз работы этой кости чуть более подробнее.

Переключим режим отображения костей в Octahedron и посмотрим, что там к чему.

Кроме кости носка и пятки мы видим там ещё какую-то секретную кость MCH_ToePivot.L, которая имеет такие же размеры, как и пяточная кость CTRL_FootRoll.L, и даже расположена в том же самом месте, сливаясь с ней, когда нога находится в исходном состоянии. Ко всему прочему, она ещё имеет и три констрейна. А когда дело доходит до констрейнов, то нам следует быть особо бдительными, чтобы в них не запутаться.

Уточним сперва, кто кого тянет. Самая главная кость, очевидно, — это CTRL_Foot.L. К ней одинаково и независимо друг от друга припаренчены кости пятки CTRL_FootRoll.L и секретная кость MCH_ToePivot.L. Это значит, что когда мы будем тянуть контроллер ноги, то пятка будет покорно следовать за ней. С этим вопросов не возникает.

Смотрим дальше. Кость носка CTRL_Toe.L припаренчена к секретной кости MCH_ToePivot.L, из чего следует, что она будет повторять любые её перемещения и повороты. Перемещения носка будут такими же, как и контроллера ноги, а вот с поворотами дело обстоит сложнее. Изучив как следует навешанные на кость MCH_ToePivot.L констрейны, можно прийти к умозаключению, что секретная кость через констрейн Copy Rotation будет повторять повороты пяточной кости, но до определённого предела, заданного констрейном Limit Rotation. Предел этот выставлен на 180 градусов, то есть повороты в диапазоне от 0 до 180 копироваться будут, а вот всё, что сверх того, — нет.

Отсюда мораль: когда пяточная кость поворачивается вверх, повороты секретной кости заблокированы, и зависимый от неё носок вместе с ней остаётся на месте. А когда пяточная кость поворачивается вниз, то блокировка поворота с секретной кости снимается, она следует за пяточной и тянет за собой носок. В этом-то и заключался сюрприз.

Кстати, на секретной кости есть ещё констрейн Copy Location, который по идее должен копировать перемещения пяточной кости. На самом деле я не нашёл ни одной причины, почему этот констрейн там вообще есть. Кроме как с целью запутать честного риггера, никакой другой пользы от него не наблюдается. Пяточная кость сама по себе всё равно никогда не перемещается, поэтому констрейн Copy Location вынужден оставаться без дела.

Разобравшись с первым подстерегавшим нас сюрпризом, смело двинемся дальше!

Теперь нам попадается хвост. Он не такой сложный, как у птицы, и состоит всего из трёх костей (начиная от кончика): CTRL_Tail2, CTRL_Tail1 и MCH_TailBase. Увидеть их мы можем на слоях 4 и 12.

Заметим также, что первые две кости располагаются на 4-м слое, а кость MCH_TailBase, расположенная в основании хвоста, вынесена в отдельный слой 12. Поскольку мы уже не в первый раз сталкиваемся с костями, названия которых начинаются на MCH, то знаем, что это какая-то вспомогательная кость, не предназначенная для непосредственной анимации. Учитывая, что она не содержит констрейнов или каких-то других запутанных конструкций, можно предположить, что предназначение её очень простое — удерживать следующие две кости.

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

Изучим сперва, как эти руки управляются. Включим на панели костей слой 1 и посмотрим на пальцы. Принцип их анимации такой же, как и для пальцев на ногах у птицы. Мы вращаем длинные пальцевые контроллеры — и пальцы поворачиваются. Мы их масштабируем — и пальцы сгибаются. Выполнено это точно так же через констрейны Action на суставах, поэтому мы больше не будем их рассматривать.

Включим теперь индивидуально слой 2 и увидим в каждой руке по три кости с присутствием в названиях буквосочетания FK, например, CTRL_FK_Hand.L — контроллер для управления ладонью. FK — это Forward Kinematics, то есть прямая кинематика, которая позволяет управлять костями обычным иерархическим способом, основанным на отношении предок-потомок. Подвигайте кости руки шиншиллы, и вы увидите, как это работает.

На панели констрейнов мы видим какие-то констрейны для костей руки, но нам сейчас не до них. Разберёмся с ними позже. Пока же включим слой 3 и увидим внутри рук шиншиллы ещё одну цепочку костей, среди которых одна попадается жёлтого цвета, то есть имеет констрейн инверсной кинематики IK (Inverse Kinematics), а все эти кости имеют в названиях словосочетание IK. Схватимся за точно такой же овальной формы контроллер ладони CTRL_IK_Hand.L и пошевелим его. Цепочка костей руки выходит при этом за пределы тела и начинает витать в воздухе.

Выглядит забавно, но эффекта на саму шиншиллу не производит. Поэтому на панели костей включим к слою 3 дополнительно слой 1, чтобы на шкалах над головой шиншиллы появились переключащие кости бегунков. Мы можем заметить, что эти кости установлены в режим FK. Поскольку мы начали баловаться с левой рукой, то перетащим бегунок для левой руки в положение IK. Рука при этом поднимется так, чтобы три её кости оказались ровно внутри неё.

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

Как мы уже поняли, для режимов FK и IK создано два отдельных набора костей. Когда руки находится в FK, мы должны анимировать те самые три кости со слоя 2, а когда в IK, то две кости со слоя 3: концевую и ту круглую, ElbowPoleTarget.L, которая привязана к локтю и задаёт угол его поворота. Также мы могли заметить, что кости для режима IK могут выходить за пределы тела, а кости для FK — нет. Это наводит нас на мысль, что скининг рук производился к костям FK, и поэтому, если мы хотим, чтобы в режиме IK меш руки следовал за костями, то кости IK должны тянуть за собой кости FK. На первый взгляд всё кажется слишком запутанным, но перечитайте вдумчиво предыдущее предложение пять раз, и вас должно осенить озарение. :) Если озарение всё-таки не наступило, то читаем дальше.

Вспомним теперь про те констрейны на костях FK, которые мы легкомысленно проигнорировали несколько абзацев тому назад. Вернёмся к ним и рассмотрим их повнимательнее. Для этого оставьте руку в режиме IK, и пусть она будет поднята там, где вы её бросили, когда шевелили за кость ладони CTRL_IK_Hand.L. А на панели костей включите снова слой 2 вместо слоя 3 (слой 1 с костями шкал пусть остаётся включенным).

Выберем какую-нибудь кость (лучше всего ладонную CTRL_FK_Hand.L) и взглянем на панель констрейнов. Там мы видим три констрейна — Copy Rotation, Copy Scale и Script. Последний предназначен при помощи скрипта на Python сохранять объём костей во время их масштабирования по осям X и Z, но так как мы пришли сюда изучать риг, а не Python, то его мы рассматривать не будем, тем более, что в стандартном риге он всё равно обычно не используется. А вот констрейны Copy Rotation и Copy Scale для нас представляют определённый интерес. Целевыми костями у них указана такая же кость ладони, которую мы выбрали, но с названием IK, то есть дубликат со слоя 3. Причём, заметим, что раз в данном режиме кости FK копируют вращение и масштаб костей FK, то значение Influence в констрейнах стоит на 1.

Попробуем это значение Influence на обоих констрейнах перевести в 0. У нас ничего не получится. Как только мы отпускаем бегуночек, он тут же возвращается обратно в 1. Значит, есть какая-то сила, которая сильнее нас. И эта сила (угадайте с трёх раз) — бегунок переключения FK-IK в шкале над головой шиншиллы! Вернём его в положение FK и снова выберем кость CTRL_FK_Hand.L. Значение Influence в констрейнах Copy Rotation и Copy Scale теперь находится в положении 0!

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

Меш руки то совмещается с костями IK, когда бегунок шкалы находится в положении IK, то возвращается обратно, оставляя кости IK висеть в пространстве, когда он переходит в положение FK. Другими словами, это означает, что когда бегунок шкалы находится в FK, то кости FK не копируют вращение костей IK и анимируются сами по себе. А когда он перемещается в положение IK, то кости FK начинают копировать вращение костей IK и не могут теперь анимироваться отдельно, а зависят от костей IK, которые в этом режиме и нужно анимировать. А поскольку меш руки следует всегда за костями FK, то рука деформируется либо под воздействием прямого влияния костей FK, либо под воздействием косвенного влияния костей IK.

Итак, шаг за шагом мы постигли маленькую мудрость переключения рук из режима анимации прямой кинематики в инверсную. Осталось разобраться с последней хитростью: как бегунок шкалы FK-IK изменяет значение Influence в констрейнах Copy Rotation и Copy Scale. И здесь нам помогает наш любимый Driven Key!

Добавим, как обычно, ещё одно окошко во вьюпорте для Ipo Curve Editor, переключим его в режим отображения Constraint и выберем во вьюпорте кость CTRL_FK_Hand.L. Вот она, наша кривая.

Она является зависимостью значения Influence в констрейнах Copy Rotation и Copy Scale от перемещения по оси X кости CTRL_IKFKSwitch.L, которая выполняет роль бегунка на шкале FK-IK, в диапазоне от 0 до 0,2. Можете сами поглядеть координаты кости CTRL_IKFKSwitch.L по X, когда она находится в положении FK и когда в положении IK.

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

Первая особенность — это вращение головы. Голова у шиншиллы — это одно целое с телом. Мы не замечаем в ней шеи, поэтому отдельно от тела она вращаться не может. Любое вращение или перемещение головы однозначно влечёт за собой повороты или наклоны тела. Потягайте голову за шарообразный контроллер CTRL_IK_Head, чтобы убедиться в этом самим. Причём, обратите внимание, что куда бы мы ни двигали голову, она всегда смотрит ровно вперёд, хотя тело при этом может наклоняться в любую сторону.

Для изучения головы-тела нам понадобятся всего два слоя на панели костей — это слой 1 и слой 9. Включим их. В системе голова-тело перед нашим взором появляются три кости. Вы их не видите? Тогда включите режим их отображения в Octahedron, а Shapes выключите. Теперь от макушки головы до копчика мы точно видим три кости.

   

Средняя из них использует констрейн IK, и это плохо, потому что придётся вдумчиво разбираться, зачем он, и что он там делает. Но это ещё не всё. Переведите риг в Edit Mode и потягайте за кости. Вы увидите, что кость головы на самом деле не одна, а их тоже три!

Итого в системе голова-тело мы имеем уже пять костей, один констрейн IK и наверняка ещё куча других. Похоже, что шиншилла так просто свои секреты не отдаёт, но где только наша не пропадала! Разберёмся и в этом!

Будем двигаться, как обычно, снизу вверх. Нижняя кость CTRL_Pelvis является основой системы голова-тело и поворачивает всю шиншиллу сразу. Она зависит только от главной кости рига Root, и ничего хитрого в ней нет за исключением того, что к ней присоединён кольцевой шейп, указывающий на то, что это контроллер для анимации. Следом по иерархии идёт кость CTRL_Spine, которая, не смотря на то что называется с букв CTRL, контроллером в прямом понимании не является. То есть за неё нельзя схватиться и куда-то подвигать. Этому мешает, во-первых, то, что координаты перемешения у неё заблокированы, а, во-вторых, что вращение она копирует из костей Pelvis и CTRL_IK_Head.

Зачем брать вращение с кости Pelvis, для меня, честно говоря, так и осталось загадкой, учитывая, что это кость со слоя 16, где расположен запасной скелет, предназначенный для скининга мешевого деформера, а кости с этого слоя никогда обычно не применяются для анимации. Возможно, аниматор нарвался на какоой-то баг в специфический момент анимации и потребовал добавить эту фичу. Так или иначе, но удалив констрейн Copy Rotation, ведущий на кость Pelvis, я не заметил никаких дефектов в управлении шиншиллы. Но вы можете сами попытаться в этом разобраться. И я даже разрешаю написать мне письмо с замечанием, что я не шарю, а назначение этого констрейна весьма огромно (с подробным его описанием). :)

Зато вот второй копировальный констрейн, указывающий на кость CTRL_IK_Head, следующую по пути вверх, уже не настолько бесполезен. Особенно интересно то, что значение Influence у него выставлено в 0,4 вместо привычного 1. Чтобы понять смысл этого числа, нужно, очевидно, сделать только одно: посмотреть, как будет вести себя шиншилла при значениях Influence в 0 и 1. Но радость наша от запутанности всего этого дела была бы неполной, если бы кость CTRL_Spine не имела констрейна IK. А поскольку этот констрейн всё-таки есть, то становится не так очевидно, с чего начать разбираться — то ли с него, то ли с Copy Rotation. Давайте всё-таки попытаемся начать с констрейна IK.

Этот констрейн нацелен на кость CTRL_IK_Head, а длина IK-цепочки составляет одно звено, то есть она заканчивается на той же кости CTRL_Spine, к которой прицеплен IK-констрейн. При этом предки самой кости CTRL_IK_Head находятся, понятное дело, далеко за пределами всей этой цепочки, а конкретно она припаренчена к самой основной кости рига Root. Что нам это даёт? Поскольку кость контроллера головы не зависит от вращений и перемещений тела шиншиллы, то она всегда остаётся в вертикальном положении. Однако в связи с тем, что она также является и целевой костью для IK-констрейна на спинной кости CTRL_Spine, то этим ей позволено увлекать её за собой, а вместе с ней и всё тело шиншиллы.

Впрочем, здесь есть один нюансик. Контроллер CTRL_IK_Head с самой головой непосредственно никак не связан. С ней связана лишь кость MCH_Head, которая припаренчена к кости CTRL_Spine, а она не будет всегда находиться в вертикальном положении, поскольку зависит от поворотов родительской кости. Чтобы указать этой кости, что её вместе с головой нужно держать всегда прямо, к ней прицеплен констрейн Copy Rotation, указывающий на кость CTRL_IK_Head. (Там есть ещё констрейн Copy Scale, но он выполняет ту же функцию, только для масштабирования головы, поэтому я не буду больше о нём упоминать).

Теперь нам, собственно, понятно, почему голова всегда смотрит прямо. Потому что она стремится принять то положение, которое задаёт ей контроллер CTRL_IK_Head, а тот, в свою очередь, не зависит от поворотов и наклонов тела шиншиллы, потому что выведен за пределы системы голова-тело.

Однако, несмотря на то что вопрос наклонов и поворотов кажется закрытым, возникает недоумение, зачем в голове третья кость, и почему ранее мы видели констрейн Copy Rotation со значением Influence 0,4? Ответить на эти вопросы — наш священный долг. Даже если нам вдруг покажется, что какие-то кости в шиншилле лишние, мы всё равно должны чётко об этом сказать: «да, кости лишние», а не увиливать от ответа. Поэтому давайте пороемся в системе голова-тело ещё некоторое время.

Вспомним, с чего всё началось. Мы говорили о том, что голова у шиншиллы нераздельна с телом. И если поворачивается голова, то должно поворачиваться и тело. Однако насколько сильно повороты тела должны зависеть от поворотов головы? Чтобы определить это, проведём такой эксперимент. Мы собирались провести его раньше, но тогда ещё не были к этому готовы. Но теперь — другое дело!

Поставим шиншиллу в обычное исходное состояние, если вы как-то сильно наклоняли её ранее. Выделим кость CTRL_Spine и в констрейне Copy Rotation, берущим повороты с кости CTRL_IK_Head, уменьшим параметр Influence с 0,4 до 0. Теперь повращайте контроллер головы по оси Z.

Голова повернулось, но тело осталось на месте. При этом в районе заросшей жиром шеи возникли дикие деформации меша. Теперь, оставив голову в таком же повёрнутом положении, увеличим Influence того же констрейна до 1.

Тело повернулось вслед за головой, и возникли дикие деформации от шеи до самого копчика. Значит, ни тот, ни другой варианты нас не устраивают. Раз так, то установите Influence в среднее значение, например, в 0,5.

Вот это уже более нормально. Тело поворачивается вслед за головой не всё сразу, а с половинным усилием. Можно это так и оставить, но риггер, создавший скелет шиншиллы, решил, что лучше, видимо, будет со значением 0,4. Я тоже так думаю. Тело у шиншиллы более массивное, чем голова, а соотношение (масса головы)/(масса тела) как раз и находится где-то в районе 0,4.

Итак, отсюда можно сделать такой вывод. Когда вы будете делать свой навороченный риг с похожей анатомией, то прикиньте сперва, каковы массы тела и головы. Если масса головы больше, то констрейн для копирования поворотов тела в зависимости от головы может вообще не понадобиться. В этом случае подойдёт обычная родительская связь между костями. А если наоборот, то теперь вы знаете, какое значение для Influence нужно поставить. :)

И последнее, что нам осталось сделать, чтобы распрощаться с системой голова-тело, — это поставить точку в вопросе третьей кости в голове.

До сих пор мы всё время вращали контроллер головы, но нам никогда не приходило в голову повращать контроллер таза. Давайте сделаем это. Повернём шиншиллу за контроллер таза CTRL_Pelvis по оси Z, и что мы при этом увидим? Тело повернулось, а голова снова осталась на месте.

Давайте немного поразмыслим. С виду кажется, что всё правильно. Поворот головы задаётся контроллером CTRL_IK_Head, который не зависит от поворотов таза. Поэтому даже если мы повернём таз, голова всё равно останется на месте благодаря констрейну Copy Rotation в кости MCH_Head. Однако на самом деле всё немного так, как должно быть в идеале. Голова всё же немного наклоняется вслед за телом. Почему?

В том же месте, где находится кость головы MCH_Head, покликаем несколько раз левой кнопкой мыши, как будто мы стараемся выбрать другую кость. Можно заметить, что там есть ещё одна кость с каким-то хитрым названием MCH_HeadToRoot1. Ура! Мы знали это, мы чувствовали! Три кости в голове — это было бы слишком просто! Но шиншилла — зверюга не простая, и поэтому в её голове находятся целых 4 кости! Примечание: вообще на самом деле их там даже пять, но пятая кость, со слоя 16, используется для скининга мешевого деформера, так что её можно не считать.

Почему же мы не увидели эту кость раньше в Edit Mode, когда делали пересчёт костей головы? Очень просто. Риггер по каким-то своим шпионским мотивам скрыл её. Для включения перейдите при выбранной кости в Edit Mode и на панели Armature Bones отожмите кнопку Hide. Вот теперь, как и полагается, в голове в одном и том же месте находятся четыре кости.

Поскольку мы находимся сейчас в Edit Mode, то самое время проверить, какая кость к чему припаренчена. Получается вот что:

  • CTRL_IK_Head — к Root, о чём мы, в общем-то, знали и раньше.
  • MCH_Head — к CTRL_Spine, о чём мы тоже уже знаем.
  • MCH_HeadToRoot1 — к Root.
  • MCH_HeadToRoot2 — к CTRL_Pelvis.

Очень интересно, да.

У новоявленной кости MCH_HeadToRoot1 есть констрейн Copy Location, указывающий на другую хитрую кость MCH_HeadToRoot2. Выключим этот констрейн и повращаем тело шиншиллы за контроллер таза. Теперь голова остаётся на месте, как прибитая.

Поскольку кость MCH_HeadToRoot2 припаренчена к кости таза CTRL_Pelvis, то ей всё равно, как вращается средняя кость CTRL_Spine, а вот повороты тазовой кости она воспринимает напрямую. От неё кость MCH_HeadToRoot1 копирует не повороты (заметьте!), как обычно, а перемещение её основания. То есть основания костей MCH_HeadToRoot1 и MCH_HeadToRoot2 движутся синхронно и в одной и той же точке.

А теперь самое главное: кость CTRL_IK_Head, которая управляет и движет головой, через констрейн Copy Location связана с костью MCH_HeadToRoot1. Поначалу может показаться странным, что контроллер головы от чего-то зависит, ведь его перемещения задают повороты не только головы, но и всего тела. Однако в том-то всё и дело, что задают только тогда, когда мы управляем шиншиллой через этот контроллер. А когда мы начинаем вращать шиншиллу при помощи тазовой кости, то контроллер головы становится подчинённым, чтобы привести поворот головы к повороту таза.

Суть в том, что если взглянуть на шиншиллу сбоку, то окажется, что она вместе с головой чуть наклонена вперёд. Как бы сутулится. Поэтому при вращении таза вокруг вертикальной оси голова не может держаться ровно вертикально. Она наклонится либо в одну сторону, либо в другую, куда поворачивается таз. Для этого-то и используется так много костей в голове. И лишних там нет ни одной. :)

Это была первая отличительная особенность шиншиллы в сравнении с ригом птицы. А сейчас будет вторая, и она же последняя — глаза . Чтобы добраться до шиншиллиных глаз, нужно включить следующие слои на панели костей: 5, 6 и 13. Вся система глаз при этом будет выглядеть так.

Поиграемся с очкообразным контроллером. Заметим, что обычное перемещение контроллера поворачивает зрачки глаз, а масштабирование — сужает их. При этом видно, что сужение зрачков зависит от масштаба очкообразного контроллера по локальной оси Y, и в связи с этим масштабирование по другим осям заблокировано. Очень разумно, надо заметить.

В прошлый раз, когда мы изучали глаза птицы, масштабирование производилось по двум осям: по одной сужались зрачки, а по другой глаза раздвигались в сторону. А если надо было повращать глаза индивидуально, то приходилось выбирать кости глаз и вращать непосредственно их. Теперь всё выглядит более цивилизованно. Чтобы вращать глаза по-отдельности (хоть в разные стороны, хоть по диагонали), внутри очкообразного контроллера есть ещё две вертикальные кости — EyeTarget.r и EyeTarget.l. Перемещение их в пространстве поворачивает привязанные к конкретной кости глаза.

Посмотрим, как это было сделано.

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

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

Итак, мы видим констрейн Copy Rotation, указывающий на кость Eye.L, находящуюся на 16-м слое. Это хорошо. Выделим эту кость и обнаружим, что через ещё один констрейн Copy Rotation она ведёт к кости CTRL_Eye.L. Таким образом мы выяснили, кто конкретно вращает глаза, и поэтому слой 16 можно теперь отключить, чтобы разгрузить немного наше кладбище. Остаётся всего две кости — CTRL_Eye.L и MCH_Eye.L.

Вращательная кость CTRL_Eye.L не содержит констрейнов, и мы смеем предположить, что её связь со второй костью является отношением предок-потомок. И это действительно так. Кость CTRL_Eye.L припаренчена к MCH_Eye.L. Вот мы и подобрались почти к самому концу. Взглянем теперь на кость MCH_Eye.L.

На панели констрейнов наблюдаются два констрейна типа Locked Track, указывающие на одну и ту же кость EyeTarget.l — это та самая вертикальная палка с правой стороны очкообразного контроллера. Отсюда мы можем сделать самый банальный вывод в нашей жизни: поворот каждого глаза задаётся всего лишь навсего перемещением вертикальных костей на очкообразном контроллере. Ни больше, ни меньше! Каждый глаз управляется индивидуально. А теперь подумайте, что нужно сделать, чтобы их можно было поворачивать одновременно?

Если после целой бессонной ночи размышлений ничего так и не пришло вам в голову, я отвечу: припарентить обе вертикальные кости к очкообразному контроллеру. Вот и всё. Очкообразный контроллер сам по себе ничего не стоит. Он является всего лишь рамкой для двух вертикальных костей, чтобы можно было двигать их одновременно. Однако не будем всё же настолько принижать его значение, ведь есть же ещё функция сужения зрачков. И вот она-то напрямую связана только с очкообразным контроллером. Откроем Ipo Curve Editor и убедимся в этом сами.

Деформация зрачка через Shape Key приводит нас к Driven Key, зависящего от масштаба кости CTRL_EyeTarget по Y.

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

Напоследок, если хотите, можете включить во вьюпорте слой 3, на котором находится мешевый деформер, и слой 16 на панели костей, где спрятан запасной скелет для скининга этого деформера, и поглядеть, как они взаимосвязаны. Ничего особо нового здесь тоже нет.

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

10400 Автор:
Актуальность: 416
Качество: 666
Суммарный балл: 1082
Голосов: 14 оценки
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: * уникальных посетителей