Как сделать скелет в maya
Как сделать скелет в maya
Ярлыки
viewport
вторник, 29 марта 2011 г.
Создание скелета под анимацию персонажа. Boy
Решила заново «с нуля» пройти путь создания скелета.
(для закрепления материала)
Проверяем, чтобы персонаж смотрел на Z.
Выбираем инструмент и начинаем создавать скелет, начиная с Root— первый joint (обычно находится в месте таза)
(я начинаю создавать скелет из Front View)
Двигаясь от Root-а вверх по позвоночнику ставим джоинты (на рисунке от 1 до 7)
Нажав Enter, мы обрываем нашу связь с инструментом.
Выбрав снова инструмент Joint Tool продолжаем делать скелет для левой половины нашей модели.
Я решила продолжить с ноги.
Нажимаем на Root и продолжаем «наращивать» кости вниз по ноге. (при этом не забывайте переходить в разные view окна, чтобы посмотреть правильно расположение joint-ов.)
подвинуть joint можно нажав клавишу D в режиме перемещения (Move)
Затем наращиваем кости руки.
Нам осталось сделать кости для запястья. Тут я посоветую начинать со среднего пальца. (в этом случае, ось будет смотреть в центр кисти руки и нам не нужно будет переназначать её локальную ось в будущем для правильного поворота)
Для этого лучше всего перейти в TOP View.
Подвинем joints на свои места, используя для этого разные View панели.
Теперь предстоит немного рутинная, но очень важная работа. Нам нужно дать имена всем джоинтам нашего скелета. Это позволит нам в дальнейшем при переносе левой половины скелета на правую сторону, сэкономить время. Да и работать с названными правильно джоинтами всегда удобно. 🙂
Называть все джоинты с левой стороны скелета лучше начиная с «L_»
Позже вы поймёте для чего мы это делали.
Теперь займёмся не менее важным процессом. Нам нужно проверить направление всех локальных осей для joints в созданной половине скелета.
Для более удобной работы с осями, включим их отображение.
Выделим всю иерархию нашего скелета
И вызовем отображение локальных осей вращения.
Ответ нашла только когда начала вращать джоинты. Главное, чтобы они вращались по осям, по которым анатомически правильно должна двигаться геометрия персонажа.
Если вы заметили, что оси располагаются неправильно, вы можете исправить это двумя способами:
1. Команда Orient Joint (выбрать нужную ориентацию в опциях)
2. Вручную. Для этого нужно перейти в режим выделения компонентов (нажав клавишу F8) и нажать иконку с вопросительным знаком (Select miscellanious components).
Установите локальную ось нужного вам джоинта так как вам нужно. (помните, что при этом вы не должны находиться в Gimbal, иначе вы не сможете двигать оси)
Теперь направление локальных осей джоинтов проверено, все джоинты переименованы.
Мы можем сделать вторую половину скелета.
Для этого выделите один родительский джоинт левой половины (например, для руки)
Затем зайдите в опции команды Mirror Joint. Выберите оси, относительно которых будет происходить отзеркаливание скелета.
Здесь чуть подробней остановимся на опциях Mirror Function.
Принципиально важно понимать, как образуется другая сторона скелета, выбрав Bihavior или orientation.
Итак, Bihavior.
Применим его и посмотрим на результат.
В режиме Bihavior джоинты отражаютя вместе с ориентацией, тоесть ориентация отраженных джоинтов абсолютно противоположная, что дает возможность левые и правые кости вращать одновременно вниз или вверх, в одном направлении.
Повращаем joint (откуда растёт рука). Вращение правильное.
Сделаем откат назад (Ctrl/Z) и поставим галочку теперь в Orientation
И повращаем снова joint. А вот теперь он вращается не так как нам нужно.
В режиме Orientation ориентация не отражается, а просто дублируется, то есть вращая левую и правую кость одновременно они будут крутится в разных направлениях
Поэтому остановимся на Behavior.
В строке Search for укажите начало названия всех ваших джоинтов для левой половины скелета «L_» (вот где пригодилось переименование джоинтов!)
и в строке Replace With впишите «R_»
В этом случае, все ваши новые отзеркаленные джоинты для правой стороны создадутся с правильными именами, которые будут начинаться на R (right), и в будущем вам будет легко найти их при необходимости в Outlinere.
То же самое проделайте для ноги
Готово! Мы создали с вами скелет для персонажа для дальнейшей анимации.
И ещё, пока не забыла.. После создания скелета перед настройкой setup-а оси вращения всех джоинтов должны быть в нуле.
Создание и настройка «скелетов» персонажей в MaYa
создание костей, инверсной кинематики и настройка управляющих локаторов простейшего скелета человека.
более сложный, но и более функциональный скелет человека: добавление и настройка костей пальцев, ключицы, скручивание предплечья.
Автор о себе:
Зовут меня Алексей Борзых (ударение на Ы), и лет мне 29.
Работаю я в компании NIVAL (уже 8 лет) на должности ведущего 3D моделера..
Что касается технологий, то для игровых персонажей (с которыми в основном приходится работать) используются исключительно кости, анимируемые вручную. Никакой динамики и cloth не используется, но, думаю это не надолго. Прогресс не стоит на месте, особенно в игровой индустрии.
Проекты, в которых я участвовал: Аллоды I, II; Проклятые Земли; Демиурги I, II; Операция «silent storm».Так-же имел опыт ведения своего проекта в качестве Project Lead-а.
Пожелания читателям от автора:
— Не стесняйтесь чаще нажимать кнопку F1. Help, это самый верный помощник в решении любых вопросов, связанных с работой в пакете MaYa. (к тому-же неплохо «подтягивает» технический английский)
— Постоянно читайте уроки, статьи и книги по интересующим вас темам (моделинг, анимация или rendering). Даже в самых простых вещах есть свои хитрости, которые могут очень пригодиться. (я например просмотрел бесчисленное кол-во туториалов по моделированию головы человека, и тем не менее продолжаю их читать)
Создание скелета в Maya – заключение
Приветствую, Вас, дорогие пользователи моего блога! Сразу извиняюсь, что так долго не мог написать заключительную часть урока по созданию скелета в Maya. Сегодня мы полностью доделаем рабочую модель скелета и добавим необходимые манипуляторы.
И так, для начала скачаем конечную модель с прошлого урока – здесь.
Мы, если помните, остановились на этом:
Хочу сразу предупредить, что заключительная чать будет очень длинной и возможно для некоторых нудной. Скриншотов в уроке больше 160, так как я старался не упускать ничего и фиксировать каждое действие. Приступим…
В режиме side анпарентиваем костью головы, выделив ее и нажав Unparent:
После того как “цепь” разорвалась мы создаем один новый сустав, переименовываем его в neck (не забудьте переименовать ниже располагающийся сустав в back4):
Парентим (клавиша P английская) кость головы к созданному суставу:
Создадим для головы IK handle, кликая по двум суставом снизу вверх если смотреть по рисунку:
Далее создаем круг для управления головы, перемещаем, крутим, обнуляем настройки, очищаем историю и переименовываем:
Выделяем круг, затем кость головы и жмем Orient:
Ну и парентим манипулятор спины (стрелку) к нашему кругу, что бы конструкция была взаимосвязана:
Теперь приступим к созданию костей рук. Для легкости отключаем сетку и создаем суставы. После переименовываем каждую кость:
Теперь нужно подправить ориентацию костей, зайдя в специальный режим, как показано на скринах:
Разворачиваем их относительно руки:
Далее необходимо создать IK от корневого сустава ко второму (надеюсь найдете нужную команду в меню):
От второго сустава к четвертому создаем еще один IK, и заходим в окно гиперграфа:
Сейчас нам необходимо перенести опорную точку созданного IK в последний сустав руки. Для этого выделяем эффектор в гиперграфе, жмем клавишу Insert и с помощью привязки к суставам (зажать V) прикрепляем нашу опорную точку. По завершению снова жмем Insert и переименовываем IK:
Создаем манипулятор в виде текста:
Два раза подряд делаем разгруппировку:
Центруем, переименовываем, обнуляем атрибуты и чистим историю:
Ну и на конец переносим опорную точку в центр нашего IK:
Приступаем к созданию костей пальцев. Переходим в панель front (вид спереди) и создаем суставы:
Перемещаем кости в пальцы. Тут чисто анатомическое представление должно быть, но думаю каждый справится:
Таким же образом создаем кости большого пальца и перемещаем их:
Парентим большой палец к последнему суставу руки:
То же самое проделываем и с остальными пальцами:
Теперь необходимо таким выровнить ориентацию костей большого пальца, таким же способом как мы делали в прошлый раз:
Ну и парентим руку к суставу в области груди:
Что бы весь процесс не повторять для правой руки в Maya существует замечательный инструмент, с помощью которого можно сделать зеркальную копию созданного скелета. Для этого выделяем нашу руку и заходим в меню настроек Mirror Joint:
В опциях выбираем относительно какой оси будет делаться копия, а так же меняем слова left на right, для того что бы новая копия автоматически переименовалась:
После всех этих операций не забудьте переместить опорную точку эффектора IK в новое место:
Так же вновь необходимо ориентировать суставы правой кисти, так как оси при копировании могут сбиться. По рисункам думаю разберетесь какой результат должен в итоге оказаться:
Вот теперь приступаем к работе над манипуляторами. Скопируйте на правую кисть квадрат, если вы еще это не сделали, а так же текстовый манипулятор S (отчистив историю и атрибуты):
Создаем Point между манипулятором S к IK как с правой так и с левой стороны:
Выделяем из два и группируем, не забываем переименовывать:
После чего группу парентим к задней стрелке:
Создаем два манипулятора для локтей:
Теперь необходимо наши манипуляторы задействовать и что бы они управляли локтем. Для этого выделяем например парвый манипулятор, далее IK кисти и жмем Pole Vector:
Если до этого все было сделано правильно то связь успешно создастся, но в некоторых случаях вылетает подобная ошибка:
Если это произошло, то для соответствующего IK в атрибут эдитор меняем IK Solver на IKRP Solver и повторяем действие снова. Не забудьте для второй руки прикрепить манипулятор.. Вот как работает манипулятор (кликните на картинку):
Далее создаем 2 круга – манипулятора для кистей, перемещаем их, переименовываем:
Сейчас необходимо создать связи между манипулятором, кистью и кубом. Делаем как показано на рисунках:
Наверно вы замечали в жизни, что когда крутите кисть, при этом и поворачиваются локтевая и лучевая кости.. Так вот давайте и при прокрутке круга манипулятора добавим такой же эффект. Для этого открываем экспрешн эдитор, выделяем в перспективе leftForearm и пишем выражение в окне как показано на рисунке:
Проверяем результат, проворачивая круг:
При управлении скелетом необходимо уделять внимание самым мелким деталям. Так например, мы сейчас с вами добавим возможность сжимать и разжимать пальцы кисти у скелета. Это делается путем добавления дополнительного атрибута к манипулятору.
И так, для круглого манипулятора добавляем атрибут и настраиваем как показано на рисунке:
Атрибут создан и теперь нужно зафиксировать разные положения кисти в помощью ключей.. Это делается с помощью SetDrivenKey. Для начала откроем это окно, выделив круглый манипулятор:
Убеждаемся что атрибут first выделен и равен нулю и жмем Load Driver:
Далее выделяем в перспективе наши фаланги и жмем Load Driven:
После, выделяем все кости и атрибут Rotate Y и жмем Key:
Теперь повторим ту же операцию но теперь для сжатых пальцев, не зыбываем в атрибуте first поставить 1:
Так же повторяем данные манипуляции для большого пальца а всей правой руки!
Создаем атрибут для левого IK плеча и заходим в конекшн эдитор:
Делаем как на рисунке и жмем Close:
Повторяем для правого IK все действия.
Теперь настал момент создать манипулятор, который бы перемещал, масштабировал и вращал весь скелет, потому что щас это сделать не поучится. Создаем круг и немного меняем его форму:
Далее выделяем все что требуется в Outliner и группируем:
Теперь свяжем нашу группу с главным манипулятором по средствам Parent и Scale:
Аналогичную операцию проведем и с костями и со всеми IK: группируем, переименовываем и создаем связь с помощью Scale:
Результат говорит сам за себя:
Теперь немного доработаем манипуляторы для колен, ведь щас при передвижении он остаются на месте, поэтому исправим эту проблему.
Сначала группируем манипулятор с самим собой и передвигаем опорную точку группы в пятку:
Используем команду Point для создания связи:
Далее создаем атрибут для манипулятора калена:
Ставим ключи с помощью того же Set Driven Key:
Повторяем все действия для правого манипулятора.
Теперь осталась самая малость – скрыть неработающие атрибуты, что бы потом в дальнейшем не запутаться. Начнем с манипуляторов колен. Выделяем их и жмум лук селектед:
Как видимо атрибут заблокирован. Теперь скрываем их в ченал контрол:
Тоже проделываем для стоп и бедер:
На этом все, друзья! Урок был очень длинный, даже мне к концу надоело вставлять эти скриншоты. Надеюсь кому то пригодится мой труд. Кстати, не поверите, но над последней частью работал трое суток.
Скачать финальную модель оснастки скелета можно здесь.
И кстати, в следующих уроках я расскажу как данный скелет правильно прикреплять к модели, размещать “веса” на теле и создавать анимацию.
Настройка скелета модели человека в Maya.
Данное повествование довольно долгое и занудное, но если прочитать его внимательно и вдумчиво, то вполне можно научиться создавать и настраивать скелеты персонажей. Наличие опыта работы с программой обязательно, так как многие очевидные вещи не объясняются подробно. Старайтесь не делать лишних кликов и нажатий клавиш. Если ситуация вышла из-под контроля — не пугайтесь. Вы всегда можете откатиться назад с помощью команды Undo (кнопка «z»). Для более глубокого понимания предмета не лишним будет периодически обращаться к соответствующим разделам Help.
Basic human skeleton setup
Архив с проектами для этой части: part1.zip.
Встречающиеся в тексте сокращения:
LMB – левая кнопка мыши
MMB – средняя кнопка мыши
RMB – правая кнопка мыши
Допустим, есть такая модель двуногого существа. Выглядит она не очень привлекательно, но это сделано специально, для наглядности.
Рассмотрим модель по частям.
Общее количество отдельных частей персонажа насчитывает 17. Именно столько костей нам и понадобится, чтобы создать для неё управляющий скелет.
Загрузите файл Dummy_mesh.mb. Если после загрузки модель не стоит ногами на полу, а лежит горизонтально раскинув руки — откройте окно Preferences и поменяйте вертикальную ось мировых координат с “Z” на “Y”.
Откройте файл ещё раз.
Команда создания костей (Joint Tool) находится в меню модуля Animation, для перехода в который нажмите F2. С начала проверим правильность опций создания костей, выбрав Option Box команды Joint Tool.
Выставляем опции, как на картинке, и закрываем окно (Close).
Если по каким–либо причинам ваш курсор не в виде крестика (обозначающий режим создания костей) — не пугайтесь. Просто активируйте команду Joint Tool из меню команд:
Таким образом, мы убрали все объекты, мешающие выбору управляющих локаторов.
опции создания костей:
— нажатие LMB создаёт новую кость в позиции клика,
— последующее нажатие LMB создаёт следующую кость иерархии в позиции клика.
изменение позиции костей при создании:
— нажмите и удерживайте LMB, перемещая курсор определите позицию новой кости, отпустите LMB для создания кости.
— нажмите и удерживайте MMB, перемещая курсор измените позицию последней кости иерархии.
Переключившись на вид side создадим кости позвоночника шестью последовательными нажатиями LMB: Hip –>Spine –> Chest –> Neck –> Head –> Head end Joint. Если кости получились слишком большие, то изменить их размер можно с помощью установок в окне Joint Display Scale..
Кость головы нужно выравнивать чётко по горизонтали (так надо для последующей настройки IK(инверсной кинематики)) Просто переместите конечную кость скелета с командой snap to vertex по оси Y.
Также, если вас не устраивают положения остальных костей, можно легко их передвинуть:
— выберите нужную кость
— включите режим перемещения (кнопка “w”)
— активируйте режим редактирования Pivot Point (нажмите “insert”)
— переместите кость в нужное положение
— выберите другие кости и переместите их
— нажмите “insert” снова, чтобы выйти из режима редактирования Pivot Point.
Кости можно двигать и без активации режима редактирования Pivot Point, но тогда будет перемещаться вся выше имеющаяся иерархия от перемещаемой кости. (Попробуйте просто подвигать кости, без активации режима Pivot Point)
Не вращайте кости при редактировании их позиции! Значения Rotate X, Y, Z каждой кости должны быть “0”.
Теперь создадим отдельно кости ног (используйте вид сбоку — side) и рук (вид сверху — top). Тут есть один нюанс – нужно выдержать между костями бедра и голени достаточный угол для сгиба коленей (то же самое правило для предплечья и плечевой кости). Угол необходим для того, чтобы определить для IK направление сгиба сустава. Придётся также немного повернуть геометрию — параллельно костям.
Переместите кости рук и ног в центр их геометрии.
Теперь нужно их сдублировать, потому как рук и ног у персонажа – по две штуки.
Ноги дублируются предельно просто:
— выберите бедренную кость,
— проверив опции дублирования жмём Duplicate,
— перемещаем вновь созданную кость простым добавлением знака «–» в её значение Translate X в окне Channel Box.
С руками немного сложнее, будьте внимательны, не делайте лишних «телодвижений»:
— выберите плечевую кость руки,
— создаём её дубликат (горячая клавиша дублирования Ctrl+d),
— группируем дубликат (Ctrl+g),
— изменяем атрибут группы Scale X «1» на Scale X «–1».
Получили зеркальный дубликат руки, по которому мы создадим новые (свежие) кости. Дубликат не годится, потому как имеет отрицательные значения локальных осей Scale и Rotate, что в дальнейшем будет мешать настройке IK и управляющих локаторов.
— Используя snap to vertex (нажмите и удерживайте “V”) создаём кости правой руки.
Кликайте не точно во «вспомогательные» кости, а рядом, на некотором расстоянии. Snap сам совместит позиции костей. Иначе новые кости будут создаваться как иерархическое продолжение той кости, в которую вы кликните.
— Удалите группу с дубликатом костей — они нам больше не понадобятся.
Теперь нужно присоединить руки/ноги к туловищу. Для этого используем команду Parent (горячая клавиша — «p»)
— выбираем обе ноги (бедренные кости) + тазовую кость, жмём “p”,
— выбираем обе руки (плечевые кости) + кость грудной клетки и снова “p”.
Вот мы и получили, наконец, иерархическое собрание костей под названием скелет. Не поленитесь, и переименуйте все кости в соответствии с их названиями — это сильно облегчит вам настройку в дальнейшем.
На этом работы с Mesh закончены, и чтобы сетка нам не мешала, назначим её в Layer, которому выставим тип отображения Reference. Это сделает Mesh «невидимым» для курсора, что позволит избежать ненужного выделения сетки при дальнейшей работе.
— создайте новый слой (Layer) кликнув по кнопке,
— двойным кликом на появившемся леере открываем окно Edit Layer
— меняем имя слоя
— цвет (помогает быстрее ориентироваться, когда слоёв много)
— тип отображения (Reference)
— нажимаем Save
— выбираем все Mesh объекты модели
Просто «рамочкой» выбрать все объекты не получится, потому как приоритет выделения у костей выше, чем у Mesh объектов. Поэтому последовательно, используя Shift «накликайте» все объекты один за другим. Другой (и более простой) метод решения данной проблемы — отключить на время отображение костей из меню Show –> Joints, и после этого спокойно воспользоваться «рамкой».
— Назначаем выбранные Mesh объекты в наш Layer с помощью команды из, либо из меню по нажатию RMB на слое.
Режимы отображения слоя (Template, Reference, Normal) можно поменять в любой момент кликнув в квадратик рядом с цветом. При каждом клике один режим будет сменять другой (R — reference, T — template, blank — normal). Также легко можно включить/выключить видимость (Visibility) слоя (и соответственно всех объектов в нём находящихся) кликнув в квадратик с буквой V.
IK (инверсная кинематика)
Добавим в скелет немного инверсной кинематики для управления ногами и рукам,.но для начала убедимся что:
— режим “IKFK control” выключен, (галочка отсутствует),
— режим отображения точек Pivots включён (галочка присутствует).
Откройте окно опций создания инверсной кинематики, нажмите Reset Tool, Close.
Начнём с IK для ног: курсором-крестиком кликните в бедренную кость левой ноги, затем в кость ступни. Появившаяся зелёная линия с «усами» в области ступни, проходящая через кости ноги, и есть IK handle. Сразу переименуем его в L_Leg_ikHandle.
Розовый цвет сетки означает, что объект находится в непрямой зависимости от выбранного объекта. Так и есть – IK handle влияет на кости, а кости в свою очередь определяют положение Mesh объектов. Получается что между IK и Mesh не прямая зависимость, а через кости.
Самостоятельно создайте IK для остальных конечностей: правой ноги, обеих рук и для головы. Не забудьте правильно переименовать все IK.
— Дублированием нашего локатора создаём остальные локаторы для всех ключевых костей.
Локатор головы расположите немного впереди скелета, но точно напротив кости головы (смотрите рисунок внимательно).
— Добавим ещё 4 вспомогательных локатора, которые будут определять направление коленей и локтей (по сути, продольное вращение рук и ног). И ещё один – для макушки головы. Используя snap to vertex поместите их напротив коленей, локтей и точно над костью головы.
— Аккуратненько переименовываем локаторы.
Выбрав все локаторы, делаем им Freeze Transform, исключая Scale. В дальнейшем это поможет быстро восстанавливать начальную позу скелета простым обнулением всех атрибутов управляющих локаторов.
Для того, чтобы локаторы приобрели силу управления, соединим их с костями и IK посредством констрейнов:
Point (hot-key Alt + p) — привязка по перемещению (Translate),
Orient (hot-key Alt + o) — привязка вращения (Rotate),
Pole Vector (hot-key Ctrl + p) — направление вектора инверсной кинематики.
Каждый тип объекта в сцене имеет своё значение приоритета выделения (Selection Priority). Например, IK имеет приоритет 4, а локаторы 3. Поэтому, если два объекта визуально перекрывают друг друга то при клике (или селекции рамкой) будет выбран тот (те), у кого приоритет больше. Будьте внимательны, пользуйтесь окном Outliner. Изменить настройку приоритетов можно в окне Preferences.
Итак, приступим. Точно соблюдайте порядок выделения объектов:
HIP (таз)
выбираем Hip_locator + Hip (joint).
не снимая выделения, последовательно назначаем Point constrain и Orient constrain.
Получили зависимость позиции и вращения тазовой кости от локатора «Hip_locator». Попробуйте подвигать и повращать его, чтобы посмотреть результат: вместе с локатором вращается и перемещается весь скелет. Это нормально, потому как IK рук и ног пока не прикреплены к своим локаторам. Идём дальше, скоро всё будет в ажуре!
SPINE (позвоночник)
Spine_locator + Spine (joint) >> Orient constrain.
Установили зависимость вращения кости спины от локатора Spine_locator. Теперь повращайте Hip_locator — кость спины смещается, а её локатор остаётся на месте, что не совсем удобно. Исправим это, добавив зависимость перемещения локатора спины от положения кости спины:
Spine joint + Spine_locator >> Point Constrain.
Повращайте Hip_locator снова. Теперь всё правильно — Spine_locator движется вместе с костью спины. Также настроим локатор грудной кости:
CHEST (грудная клетка)
Chest_locator + Chest (joint) >> Orient constrain — зависимость вращения грудной кости от её локатора.
Chest (joint) + Chest_locator >> Point constrain — привязка позиции локатора к грудной кости.
Ноги, руки и голова потребуют немного больше внимания, потому как для их управления используется по два локатора.
LEGS (ноги)
L_Leg_locator + L_Leg_ikHnadle >> Point Constraint – привязка позиции IK к локатору ноги.
L_Leg_locator + L_Foot joint >> Orient Constraint – зависимость вращения кости ступни от вращения локатора.
L_Knee_locator + L_Leg_ikHnadle >> Pole Vector Constraint – теперь коленный локатор определяет вращение ноги.
Те же настройки для правой ноги сделайте самостоятельно.
HANDS (руки)
L_Hand_locator + L_Hand_ikHnadle >> Point Constraint — привязка позиции IK к локатору руки.
L_Hand_locator + L_Hand joint >> Orient Constraint — зависимость вращения кости руки от вращения локатора.
L_Elbow_locator + L_Hand_ikHnadle >> Pole Vector Constraint — вращение руки при перемещении локтевого локатора.
То же самое — для правой руки.
HEAD (голова)
Head_locator + Head_ikHnadle >> Point Constraint — направление головы.
Head_Top_locator + Head_ikHnadle >> Pole Vector Constraint — наклон головы в стороны.
Если теперь включить отображение Mesh, то можно наблюдать неестественно свёрнутую на бок голову. Исправить это очень просто: выберите IK головы (Head_ikHandle) и измените значение атрибута Twist с нуля на 90.
Эту проблему можно было бы совсем избежать, если прикреплять Mesh к костям после всех настроек скелета.
Последняя не задействованная кость в скелете – шейная. Для её управления добавим локатору макушки головы два дополнительных атрибута, которые будут наклонять шею вперёд/назад и вправо/лево.
— Выберите Head_Top_locator, открываем окно редактора дополнительных атрибутов из меню Modify > Add Attribute.
— Добавляем два атрибута Neck RX (наклон шеи вперёд/назад) и Neck RZ (наклон шеи в стороны).
Теперь нужно связать эти атрибуты с вращением шейной кости по соответствующим осям X и Z.
Для этого:
— из меню открываем Connection Editor,
— выбрав Head_Top_locator, загружаем его атрибуты в левую часть окна (кнопка Reload Left),
— выбираем шейную кость Neck (joint) и загружаем в правую часть (кнопка Reload Right),
— находим в левом столбце наши дополнительные атрибуты (в самом низу), а в правом разворачиваем атрибут Rotate нажав на плюсик напротив,
— соединяем соответствующие атрибуты — сначала выбирается атрибут в левом окне, затем атрибут в правом окне.
Не пугайтесь, если вы случайно соединили не те атрибуты. Повторное нажатие на атрибут в правом окне отсоединит атрибуты.
Проверим настройку на деле — выберите локатор макушки головы, левым кликом выберите атрибут Neck RX, и средним кликом подвигайте в окне проекции. Также проверьте работу второго атрибута — Neck RZ.
Ну вот, теперь можно подёргать за различные локаторы Вашего скелета.
С настройкой покончено, осталась парочка косметических моментов для удобства работы — и всё!
В окне Outliner выбираем все объекты инверсной кинематики (ikHandles), и делаем их невидимыми с помощью команды Hide Selection (hot-key Ctrl + h)
Из меню Show снимите галочку напротив объекта joints. Это выключит отображение костей скелета в текущем окне проекции. Скрыть кости командой Hide Selection нельзя, потому как вместе с ними пропадёт отображение Mesh объектов модели.
Таким образом, мы убрали все объекты, мешающие выбору управляющих локаторов.
Lock unused locator’s attributes.
«Залочим» лишние атрибуты локаторов, которые не используются в управлении скелетом. Lock означает запрет на изменение значений атрибута.
Scale — абсолютно бесполезный атрибут для всех локаторов. Выбираем все локаторы в окне Outliner и «лочим» атрибут Scale X, Y, Z. Для этого проведите LMB по атрибутам Scale в Channel box, и в меню команд выберите Lock Selected.
Rotate – этот атрибут не понадобится локаторам коленей, локтей, макушки головы, и направления головы. Также «лочим» атрибуты вращения этих локаторов с непринуждённой лёгкостью.
Translate – чтобы случайно не сдвинуть локаторы спины и грудной клетки — «залочим» у них атрибуты перемещения по всем трём осям. Не переживайте — это не повлияет на Point constrain этих локаторов и их костей. Просто «ручками» подвинуть эти локаторы больше нельзя.
Make Unused Attributes Non Keyable.
Теперь уберём все залоченные атрибуты локаторов из отображения в Channel Box, сделав их Non Keyable.
— Выберите все локаторы,
— откройте окно редактора Channel Control.
Убедитесь, что присутствует галочка в опции “Change all selected objects of the same type” (это позволит изменять атрибуты сразу у всех выбранных локаторов).
— Выбираем атрибуты Scale и Visibility,
— «перекидываем» выбранные атрибуты в раздел Non Keyable нажатием кнопки «Move >>».
Не снимая выбора с локатором, смотрим на Channel Box — атрибуты Scale и Visibility пропали из Channel Box.
Тут может возникнуть вопрос — почему мы не «залочили» атрибут Visibility также как остальные? А потому, что тогда мы не смогли бы выключать/включать отображение локаторов в окне проекции. А убрали из Chanel Box, потому что данный атрибут никак не используется в управлении скелетом.
Выберите только локаторы коленей, локтей, макушки головы, и направления головы, и уберём у них атрибут Rotate.
И последнее, у локаторов Spine и Chest сделайте Non Keyable атрибуты Translate.
Ну вот, если вы сделали всё правильно, то можно проверить удобство работы с моделью на деле – например, попробуйте выставить одну из поз на картинке.
Если же вы дочитали всё до конца, но сами ничего не делали — загрузите проект Dummy_skeleton.mb.
Архив с проектами для этой части: part1.zip.