вторник, 29 марта 2011 г.

Создание скелета под анимацию персонажа. Boy

Решила заново "с нуля" пройти путь создания скелета.
(для закрепления материала)

Проверяем, чтобы персонаж смотрел на Z.

Поехали!

Меню Animation -- Sceleton -- Joint Tool

Выбираем инструмент и начинаем создавать скелет, начиная с Root-- первый joint (обычно находится в месте таза)
(я начинаю создавать скелет из Front View)


Двигаясь от Root-а вверх по позвоночнику ставим джоинты (на рисунке от 1 до 7)





Нажав Enter, мы обрываем нашу связь с инструментом.
Выбрав снова инструмент Joint Tool продолжаем делать скелет для левой половины нашей модели.
Я решила продолжить с ноги.

Нажимаем на Root и продолжаем "наращивать" кости вниз по ноге. (при этом не забывайте переходить в разные view окна, чтобы посмотреть правильно расположение joint-ов.)
подвинуть joint можно нажав клавишу D в режиме перемещения (Move)



Затем наращиваем кости руки.

Нам осталось сделать кости для запястья. Тут я посоветую начинать со среднего пальца. (в этом случае, ось будет смотреть в центр кисти руки и нам не нужно будет переназначать её локальную ось в будущем для правильного поворота)

Для этого лучше всего перейти в TOP View.



Сделаем теперь кости и для остальных пальцев.


Подвинем joints на свои места, используя для этого разные View панели.



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

Называть все джоинты с левой стороны скелета лучше начиная с "L_"
Позже вы поймёте для чего мы это делали.







Теперь займёмся не менее важным процессом. Нам нужно проверить направление всех локальных осей для joints в созданной половине скелета.

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

Выделим всю иерархию нашего скелета


И вызовем отображение локальных осей вращения.

Меню Display -- Transform Display -- Local Rotation Axes


Наша главная сейчас задача -- проверить правильность направления локальных осей для 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-а оси вращения всех джоинтов должны быть в нуле.


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

3 комментария:

  1. Классно! Довольно последовательно и разжевано. Я бы еще в команде Mirror описал работу опции Mirror Function, больно эти 2 способа принципиально различны.

    ОтветитьУдалить