3D Studio MAX: первые шаги. Урок 24. Персонажная анимация средствами Character Studio

Светлана Шляхтина

Построение скелета

Помещение скелета внутрь модели

Связывание скелета с моделью

Подключение готовой анимации и корректировка связей

Создание анимации по методу Footstep

Создание анимации по методу Freeform

В предыдущих уроках мы ознакомились с методами прямой и обратной кинематики, а также рассмотрели построение иерархий с помощью системы костей Bones. При этом мы убедились, что получение анимации любого персонажа предполагает создание для него иерархической структуры костей Bones, связывание данной костной структуры с моделью и анимирование последней. Выполнение всех их операций требует огромных затрат времени даже в случае самого простого персонажа (то есть персонажа, имеющего простой скелет) и элементарного движения. Очевидно, что при усложнении скелетной структуры персонажа и характера его движения трудоемкость создания анимации возрастает в разы. Поэтому при анимировании реальных существ чаще всего пользуются дополнительными инструментами, самым мощным из которых является модуль Character Studio (ранее существовал как дополнительный модуль, но начиная с седьмой версии интегрирован в пакет). Простым примерам подготовки анимации с участием трехмерного персонажа средствами Character Studio мы и посвятим данный урок. Создание анимации с применением модуля Character Studio требует прохождения четырех шагов: построение скелета, помещение его внутрь модели, связывание скелета с моделью (то есть надевание на скелет оболочки) и анимирование модели.

Построение скелета

За формирование костной структуры в Character Studio отвечает тип объектов Biped (Двуногий) категории Systems (Системы) панели Create (Создать) — рис. 1, обеспечивающий моделирование скелета практически любого персонажа с четырьмя конечностями и определение характера его поведения. Технология формирования скелета напоминает создание сплайнов: нужно щелкнуть левой кнопкой мыши в одном из окон проекций в точке, ограничивающей скелет снизу, а затем, не отпуская левой кнопки мыши, протащить ее вверх до точки, ограничивающей скелет сверху. В итоге будет сгенерирована заданная в программе по умолчанию структура костей типа Skeleton (рис. 2) — при необходимости тип скелета в процессе создания может быть изменен через свиток Body Type.

 

Рис. 1. Категория Systems с активированным типом объектов Biped

Рис. 1. Категория Systems с активированным типом объектов Biped

 

Рис. 2. Первоначальный вид скелета (тип Skeleton)

Рис. 2. Первоначальный вид скелета (тип Skeleton)

 

Полученная система костей представляет собой скелет двуногого персонажа, то есть персонажа, имеющего некоторое количество шейных позвонков и позвонков торса, две руки и две ноги с определенным количеством суставов и т.д. Анатомическое строение скелета несложно изменить, что и осуществляют сразу после его создания путем корректировки параметров свитка CreateBiped (рис. 3). Так, можно удалить кости рук (флажок Arms), изменить количество позвоночных (SpineLinks) и шейных (NeckLinks) костей, количество костей для ног (LegLinks). А также установить число пальцев на руках и ногах (Fingers и Toes), количество фаланг пальцев на руках и ногах (FingersLinks и Toe sLinks) и при необходимости добавить нестандартные типы костей для персонажей с хвостом или гривой (TailLinks, Ponytail1 Links и Ponytail2 Links). Данные параметры могут быть изменены как при создании скелета (то есть сразу после выбора Create=>Systems=>Biped), так и при его редактировании. Последнее производится на панели Motion (а не на панели Modify), где вышеназванные параметры костной структуры окажутся доступными через свиток Structure. Данный свиток появляется лишь после включения в свитке Biped панели Motion режима фигуры (FigureMode — рис. 4), предназначенного специально для настройки скелета. Режим FigureMode может быть включен после выделения любой из костей скелета.

 

Рис. 3. Свиток CreateBiped

Рис. 3. Свиток CreateBiped

 

Рис. 4. Активация режима FigureMode

Рис. 4. Активация режима FigureMode

В начало В начало

Помещение скелета внутрь модели

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

Для совмещения скелета с моделью выделяют его Root-объект (он в скелете по умолчанию всегда фигурирует под имением Bip01) и перемещают последний непосредственно на модель, после чего масштабируют скелет обычным образом и подгоняют высоту персонажа, добиваясь того, чтобы пропорции скелета примерно соответствовали сетке персонажа. Затем вручную корректируют размеры (длину и толщину) и положение каждой из костей, исходя из анатомических особенностей существа и добиваясь более точного совмещения скелета с персонажем. Величина каждой из костей изменяется при помощи стандартного масштабирования прямо в режиме FigureMode, положение и ориентация костей — путем обычного вращения и перемещения, а корректировка длины возможна лишь при активизации дополнительного режима — режима резиновой нити (RubberBandMode) — рис. 5, который может быть выбран только в режиме фигуры. После переключения в RubberBandMode перемещение кости вниз будет приводить к ее вытягиванию, а вверх — наоборот, к ее укорачиванию. Обратите внимание на следующие моменты:

  • в процессе совмещения скелета с моделью придется неоднократно включать/отключать режим RubberBandMode (сделать это можно только при выделенном Root-объекте) — см. рис. 5. Это необходимо, поскольку изменение длины костей производится лишь при включенном режиме RubberBandMode, а вращение, масштабирование и перемещение костей — при отключенном;
  • выделять кости в окнах проекций довольно сложно в силу большого числа объектов в них (вдобавок объекты еще и наложены друг на друга), поэтому, как правило, данную операцию производят в окне Select By Name;
  • если дважды щелкнуть по любому родительскому элементу Biped, то все его дочерние элементы тоже будут выделены, а значит, таким способом удобно выделять все дочерние элементы в иерархии ног и рук;
  • поскольку скелет симметричен, то многие операции требуется проводить вначале для определенной кости левой части скелета, а потом для соответствующей кости правой (или наоборот). Для ускорения выделения соответствующих костей удобнее использовать кнопки Symmetrical (Симметрично) и Opposite (Противоположный) — рис. 6, находящиеся в свитке TrackSelection панели Motion. Нажатие любой из названных кнопок при выделенной кости левой части скелета приводит к выделению соответствующей кости правой части скелета, за исключением того, что в случае кнопки Opposite при этом снимается выделение с исходной кости (то есть кости в левой части скелета);
  • настроив параметры одной из конечностей (например, ее положение), совсем необязательно повторять настройки для второй конечности — гораздо быстрее их скопировать, воспользовавшись операцией Copy/Paste. Для этого выделяют настроенную конечность, затем на панели Motion развертывают свиток Copy\ Paste (Копировать/Вставить) и щелкают на кнопке CreateCollection (Создать коллекцию — рис. 7). После этого в свитке CopyCollection s появляется коллекция Col01 (в дальнейшем будет несколько коллекций) и станет активной кнопка Copy Posture (Копировать положение) — рис. 8; если ни одной коллекции не существует, то данная кнопка неактивна. Затем для копирования в буфер обмена позы конечности щелкают по пиктограмме Copy Posture (после этого становятся активными кнопки, расположенные справа от нее), а для наложения позы на вторую конечность — по пиктограмме PastePostureOpposite (Вставить положение на противоположную кость).

 

Рис. 5. Активация режима RubberBandMode

Рис. 5. Активация режима RubberBandMode

 

Рис. 6. Свиток Track Selection с выделенными рамкой кнопками Symmetrical и Opposite

Рис. 6. Свиток Track Selection с выделенными рамкой кнопками Symmetrical и Opposite

 

Рис. 7. Создание коллекции для операции Copy/Paste

Рис. 7. Создание коллекции для операции Copy/Paste

 

Рис. 8. Кнопка СоруPosture в активном состоянии

Рис. 8. Кнопка СоруPosture в активном состоянии

 

По окончании скелет желательно сохранить, открыв в режиме FigureMode свиток Biped, щелкнув на кнопке SaveFile (Сохранить файл) и указав имя файла. В итоге скелет окажется сохраненным в файле с расширением *.fig и может быть задействован для других моделей.

Рассмотрим простой пример. Создайте предусмотренный по умолчанию скелет, активировав категорию Systems панели Create, щелкнув на кнопке Biped, нажав левую кнопку мыши в произвольной части одного из окон проекций и протащив (при нажатой левой кнопке) мышь вверх (рис. 9). Сформируйте рядом со скелетом обычный цилиндр, размеры которого должны немного превышать размеры скелета (рис. 10). Совместите цилиндр со скелетом: выделите цилиндр, щелкните по кнопке Align и в качестве образца для выравнивания укажите Root-объект скелета (объект Bip01), воспользовавшись кнопкой Select by Name (рис. 11). Существенно увеличьте радиус цилиндра (рис. 12). На этом будем считать этап совмещения скелета с оболочкой завершенным. Сохраните сцену, так как позже мы к ней вернемся.

 

Рис. 9. Первоначальный вид сцены со скелетом

Рис. 9. Первоначальный вид сцены со скелетом

 

Рис. 10. Появление цилиндра

Рис. 10. Появление цилиндра

 

Рис. 11. Указание объекта Bip01

Рис. 11. Указание объекта Bip01

 

Рис. 12. Вид сцены после увеличения радиуса цилиндра

Рис. 12. Вид сцены после увеличения радиуса цилиндра

 

Усложним задачу и попробуем разместить скелет внутри простого объекта, смоделированного из примитивов, — пусть это будет кубик, дополнительно имеющий некую имитацию рук с кистями, ног со стопами и головы с шеей (рис. 13). Смоделируйте соответствующую сцену, а затем создайте костную структуру, нажав на кнопку Biped и сформировав в окне Front скелет нужного размера (рис. 14).

 

Рис. 13. Исходный вид кубика

Рис. 13. Исходный вид кубика

 

Рис. 14. Появление скелета

Рис. 14. Появление скелета

 

Теперь требуется грубо подогнать форму скелета к модели. Перейдите в режим редактирования скелета: выделите объект Bip01, активируйте панель Motion и включите режим FigureMode. Начнем с изменения длины бедренных костей ног, поэтому включите режим резиновой нити (RubberBandMode). В окне Front выделите кость Bip01 R Thigh, на панели Motion разверните свиток TrackSelection и нажмите кнопку Symmetrical — это приведет к выделению соответствующей кости другой ноги. Активируйте инструмент Select and Move и переместите мышь вверх так, чтобы длина выделенных костей уменьшилась нужным образом (рис. 15). Проведите аналогичные операции в отношении голеней (рис. 16). Уменьшите количество позвоночных костей до одной, указав соответствующее значение в поле SpineLinks свитка Structure (рис. 17).

 

Рис. 15. Масштабирование бедренных костей

Рис. 15. Масштабирование бедренных костей

 

Рис. 16. Масштабирование голеней

Рис. 16. Масштабирование голеней

 

Рис. 17. Уменьшение значения параметра SpineLinks

Рис. 17. Уменьшение значения параметра SpineLinks

 

Займемся совмещением скелета с моделью персонажа. Это удобнее всего сделать за два шага: вначале провести грубое совмещение путем применения выравнивания, а затем более точно расположить Root-кость скелета уже вручную. Но вначале назначьте всем объектам оболочки полупрозрачные цвета, что позволит при совмещении наблюдать за положением костей внутри оболочки не только в ортогональных проекциях, но и в проекции Perspective. Отключите режим Rubber Band Mode. Выделите объект Bip01 и воспользуйтесь операцией Allign, указав куб (имитирующий в нашем случае туловище) в качестве объекта, по которому будет производиться выравнивание (рис. 18). Увеличьте масштаб и в проекции Front переместите скелет за кость Bip01 так, чтобы тазовая часть скелета совпала с предполагаемой тазовой частью оболочки (рис. 19).

 

Рис. 18. Результат выравнивания скелета по кубу

Рис. 18. Результат выравнивания скелета по кубу

 

Рис. 19. Окончательное определение положения Root-кости вручную

Рис. 19. Окончательное определение положения Root-кости вручную

 

Перейдем к плечам. Выделите единственную позвоночную кость Bip01 Spine и масштабируйте ее так, чтобы плечевые кости скелета оказались в оболочке на нужном уровне (рис. 20). Теперь нужно изменить положение ног так, чтобы соответствующие кости оказались внутри конечностей, при этом работать придется параллельно в проекциях Front и Left. Выделите правую бедренную кость (кость Bip01 R Thigh) и в проекции Front поверните ее относительно оси Z примерно на –11 позиций (рис. 21), а затем в проекции Left также относительно оси Z примерно на –8 позиций (рис. 22). Щелкните на кнопке Opposite (свиток TrackSelection панели Motion) — окажется выделенной левая бедренная кость. Выполните по отношению к ней те же самые преобразования, но вращая кость в противоположном направлении. Выделите в проекции Left правую голень (кость Left Bip01 R Calf) и поверните ее относительно оси Z примерно на 8 позиций (рис. 23). Повторите операцию поворота (но в противоположном направлении) для левой голени.

 

Рис. 20. Масштабирование позвоночной кости

Рис. 20. Масштабирование позвоночной кости

 

Рис. 21. Вращение правой бедренной кости в проекции Front

Рис. 21. Вращение правой бедренной кости в проекции Front

 

Рис. 22. Вращение правой бедренной кости в проекции Left

Рис. 22. Вращение правой бедренной кости в проекции Left

 

Рис. 23. Вращение правой голени в проекции Left

Рис. 23. Вращение правой голени в проекции Left

 

Займемся плечами и руками. Выделите обе плечевые кости (Bip01 R Clavicle и Bip01 L Clavicle) и масштабируйте их относительно оси X так, чтобы плечевые суставы оказались на подобающем им месте (рис. 24). В проекции Front выделите кость Bip01 R UpperArm и поверните ее относительно оси Z примерно на 42 позиции в отрицательном направлении. Включите режим RubberBandMode и удлините обе основополагающие кости руки требуемым образом. Отключите режим RubberBandMode и поверните кисть руки (кость Bip01 R Hand) так, чтобы она оказалась внутри оболочки. Теперь все только что проведенные операции необходимо применить к другой кисти. Для ускорения процесса воспользуемся операцией Copy/Paste. Выделите всю правую конечность, дважды щелкнув на кости Bip01 R UpperArm. На панели Motion разверните свиток Copy\Paste и последовательно щелкните на кнопках CreateCollection, CopyPosture и PastePostureOpposite — кости левой руки окажутся расположенными так же, как и кости правой руки (рис. 25). По окончании поверните стопы обеих ног (кости Bip01 R Foot и Bip01 L Foot) так, чтобы они тоже располагались внутри оболочки, а затем масштабируйте кости шеи и головы, добиваясь желаемого положения их внутри скелета (рис. 26). Сохраните сцену — она нам еще не раз понадобится.

 

Рис. 24. Вид плечевых костей после масштабирования

Рис. 24. Вид плечевых костей после масштабирования

 

Рис. 25. Вид верхних конечностей после полной корректировки их длины и положения

Рис. 25. Вид верхних конечностей после полной корректировки их длины и положения

 

Рис. 26. Вид скелета, помещенного в оболочку в окне Perspective

Рис. 26. Вид скелета, помещенного в оболочку в окне Perspective

В начало В начало

next

КомпьютерПресс 4'2008


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует