Персонажная анимация
Создание персонажной анимации — одна из самых сложных задач трехмерной компьютерной графики.
Несмотря на это, она привлекает многих начинающих пользователей, которые, однако, часто не в силах ее освоить.
В этом уроке создадим простейшую анимацию с участием трехмерного персонажа. В качестве оболочки будем использовать стандартные примитивы 3ds max 7.
Очевидно, что созданный таким образом персонаж не претендует на реалистичность. Цель урока другая — продемонстрировать на примере основы работы с модулем Character Studio.
Перейдите на вкладку Create (Создание) командной панели, в свитке Object Type (Тип объекта) категории Systems (Дополнительные инструменты) нажмите кнопку Biped (Двуногий). Создайте объект в окне проекции (рис. 4.59).
Рис. 4.59. Объект Biped (Двуногий) в окне проекции
Создайте в окне проекции стандартный примитив Cylinder (Цилиндр) (рис. 4.60).
Рис. 4.60. Объект Cylinder (Цилиндр) в сцене
Выровняйте его положение относительно ноги объекта и подберите параметры примитива таким образом, чтобы Cylinder (Цилиндр) охватывал кости ноги персонажа (рис. 4.61). Значение параметра Height Segments (Количество сегментов по высоте) установите равным 13.
Рис. 4.61. Расположение объекта Cylinder (Цилиндр) на персонаже
ПРИМЕЧАНИЕ
Файл, содержащий скелет персонажа и объект Cylinder (Цилиндр), находится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урок10_1.тах.
Клонируйте Cylinder (Цилиндр) и разместите полученный объект таким образом, чтобы он совпадал со второй ногой скелета. Аналогичным образом создайте цилиндры для рук персонажа и совместите их со скелетом (рис. 4.62). Совмещать объекты со скелетом персонажа нужно с максимальной точностью.
Рис. 4.62. Объекты Cylinder (Цилиндр) размещены на руках и ногах скелета
Теперь необходимо присоединить оболочку к скелету. Делать это лучше не со всей оболочкой сразу, а с ее отдельными частями. Выделите первый цилиндр (например, правой ноги), перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор Physique (Телосложение). Напомним, что он применяется к внешней оболочке будущего персонажа Character Studio, которую в нашем примере формируют примитивы.
В свитке Physique (Телосложение) настроек одноименного модификатора нажми- те кнопку Attach to Node (Присоединить к оболочке) (рис. 4.63) и выберите элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.
Рис. 4.63. Кнопка Attach to Node(Присоединить к оболочке) в настройках модификатора Physique (Телосложение)
На экране появится окно Physique Initialization (Условия составления телосложения) (рис. 4.64).
Рис. 4.64. Окно Physique Initialization (Условия составления телосложения)
Данное окно содержит несколько свитков с параметрами, которые определяют начальные настройки огибающей поверхности. Нажмите кнопку Initialize (Составить). Теперь выделенный элемент будет присоединен к системе костей персонажа, и при изменении положения костей оболочка будет деформироваться. Чтобы убедиться в этом, выделите объект Bip01 при помощи окна Select Objects (Выбор объектов) (рис. 4.65), которое вызывается клавишей Н.
Рис. 4.65. Окно Select Objects (Выбор объектов)
Перейдите на вкладку Motion (Движение) командной панели и при помощи кнопки Load File (Загрузить файл) (рис. 4.66) в свитке настроек Biped (Двуногий) загрузите файл walk_start .bip (рис. 4.67). В этом файле хранится информация о движении скелета.
Рис. 4.66. Кнопка Load File (Загрузить файл) в свитке настроек Biped (Двуногий)
Рис. 4.67. Выбор файла walk_start.bip
ПРИМЕЧАНИЕ
Файл walk_start.bip также содержится на прилагаемом к книге компакт-диске в папке ch04/Examples.
После загрузки файла вы увидите, что скелет и присоединенная к нему оболочка изменят свое положение в сцене.
ПРИМЕЧАНИЕ
Файл, содержащий скелет персонажа и присоединенный объект Cylinder (Цилиндр), находится на компакт-диске в папке ch04/Examples. Файл сцены называется Урок10_2.mах.
Вернуть скелет с присоединенной оболочкой на прежнее место можно, выделив объект Bip01, и в свитке Biped (Двуногий) на вкладке Motion (Движение) командной панели включить режим Figure Mode (Режим фигуры) (см. рис. 4.25). Если щелкнуть на плюсике в нижней части свитка Biped (Двуногий), то появятся дополнительные настройки. Нажав кнопку In Place Mode (Режим «на месте»), можно заставить скелет двигаться на месте в той точке, в которой он находился до загрузки файла walk_start. bip (рис. 4.68).
Рис. 4.68. Кнопка In Place Mode (Режим «на месте») в дополнительных настройках свитка Biped (Двуногий)
Теперь можно проиграть анимацию, нажав кнопку Play Animation (Воспроизведение анимации). Вы увидите, что персонаж будет идти реалистичной походкой (рис. 4.69).
Рис. 4.69. Движение персонажа в окне проекции
При выделенном объекте Bip01 на шкале анимации будут обозначены ключевые кадры, по которым создается реалистичная ходьба персонажа (рис. 4.70). Они были созданы с использованием технологии Motion Capture.
Рис. 4.70. Обозначение ключевых кадров на шкале анимации в нижней части окна 3ds max 7
ПРИМЕЧАНИЕ
Вы также можете воспроизвести анимацию персонажа при помощи кнопки Biped Playback (Воспроизведение движений), которая находится в свитке Biped (Двуногий) вкладки Motion (Движение). Однако в этом случае двигаться будет только схематично нарисованный персонаж, в то время как при нажатии кнопки Play Animation (Воспроизведение анимации) видна вся анимация без упрощения.
Теперь, когда мы убедились, что скелет совмещен с частью оболочки, можно повторить операцию присоединения для всех частей оболочки. Убедитесь, что режим Figure Mode (Режим фигуры) включен.
Выделите следующий цилиндр (например, вторую ногу), перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор Physique (Телосложение). В свитке Physique (Телосложение) настроек одноименного модификатора нажмите кнопку Attach to Node (Присоединить к оболочке) и выберите элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.
ПРИМЕЧАНИЕ
Чтобы увидеть, какой элемент скелета является основным в группе, в окне Select Objects (Выбор объектов) установите флажок Displace Subtree (Отображать иерархию) (рис. 4.71).
Рис. 4.71. Окно Select Objects (Выбор объектов) с включенным режимом Displace Subtree (Отображать иерархию)
На экране возникнет окно Physique Initialization (Условия составления телосложения) (см. рис. 4.64). Нажмите кнопку Initialize (Составить). Теперь выделенный элемент будет присоединен к системе костей персонажа, и при изменении положения костей оболочка будет деформироваться. Выключив режим Figure Mode (Режим фигуры) и просмотрев анимацию, можно увидеть, насколько удачно вы совместили оболочку со скелетом. Есть большая вероятность того, что некоторые вершины не попадут под действие огибающей поверхности, поэтому на экране форма оболочки сильно исказится (рис. 4.72). Такое неправильное смещение вершин происходит из-за того, что в процессе присоединения оболочки персонажа к системе костей возникли неправильные связи.
Рис. 4.72. Искажение формы оболочки
Чтобы исправить этот недостаток, выделите оболочку, которую необходимо отредактировать, перейдите на вкладку Modify (Изменение) командной панели и щелкните на значке плюса возле названия модификатора Physique (Телосложение). Переключитесь в режим редактирования подобъектов Vertex (Вершина). При этом на ноге отобразятся все вершины оболочки (рис. 4.73).
Рис. 4.73. Вид оболочки при переходе в режим редактирования подобъектов Vertex (Вершина) модификатора Physique (Телосложение)
В свитке Link-Assignment (Назначение связи) настроек режима редактирования подобъектов Vertex (Вершина) нажмите кнопку Select (Выбрать) и выделите в сцене неудачные вершины (рис. 4.74).
Рис. 4.74. Выделение неправильно расположенных вершин
Нажмите кнопку Assign to Link (Назначить связь) и укажите, на какой кости будут закреплены выбранные вершины. Вы увидите, что вершины изменили свое положение (рис. 4.75).
Рис. 4.75. Вершины изменили положение
Теперь можно проиграть анимацию, нажав кнопку Play Animation (Воспроизведение анимации). При этом проследите, не осталось ли вершин, которые необходимо присоединить к той или иной кости. Если все в порядке (рис. 4.76), можно переходить к присоединению рук.
Рис. 4.76. При движении персонажа в окне проекции нет выступающих вершин
Включите режим Figure Mode (Режим фигуры) и повторите описанную выше операцию присоединения объектов к скелету поочередно для каждого цилиндра. Если выключить режим Figure Mode (Режим фигуры) и просмотреть анимацию, то будет видно, насколько удачно вы совместили оболочку со скелетом. Может возникнуть проблема, когда потребуется удалить связи, установленные между оболочкой и костями. Чтобы исправить этот недостаток, выделите оболочку, которую необходимо отредактировать, перейдите на вкладку Modify (Изменение) командной панели и щелкните на значке «плюс» возле названия модификатора Physique (Телосложение). Переключитесь в режим редактирования подобъектов Vertex (Вершина). При этом на ноге отобразятся все вершины оболочки. В свитке Link-Assignment (Назначение связи) настроек режима редактирования подобъектов Vertex (Вершина) нажмите кнопку Select (Выбрать) и выделите в сцене неудачные вершины. Нажмите кнопку Remove from Link (Удалить связь) (рис. 4.77) и укажите элемент скелета, с которым необходимо удалить связи. Вы увидите, что вершины изменили свое положение.
Рис. 4.77. Кнопка Remove from Link (Удалить связь) в свитке Link-Assignment (Назначение связи)
Когда присоединение оболочки к скелету будет завершено, можно скрыть скелет. Для этого поочередно выделите каждый элемент оболочки, к которым был применен модификатор Physique (Телосложение). Перейдите на вкладку Modify (Изменение) командной панели и в свитке Physique Level of Detail (Уровень детализации) настроек модификатора установите флажок Hide Attached Nodes (Скрыть присоединенные вершины).
СОВЕТ
При анимировании оболочек персонажа, содержащих большое количество полигонов, бывает очень трудно управлять вершинами оболочки. По этой причине те вершины, в положении которых вы уверены, можно спрятать. Для этого нажмите кнопку Select (Выбрать) в свитке Link-Assignment (Назначение связи) настроек режима редактирования Vertex (вершина) и щелкните на кнопке Hide (Спрятать). Если вам снова понадобится увидеть все вершины, нажмите кнопку Unhide All (Показать все).
ПРИМЕЧАНИЕ
Готовый файл анимации персонажа находится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урок10_З.max.
СОВЕТ
Попробуйте, взяв за основу этот урок, создать голову и туловище персонажа. В качестве оболочки для головы можно, например, использовать стандартный примитив Teapot (Чайник), а в качестве оболочки для туловища — цилиндр с большим радиусом, чем тот, на основе которого были смоделированы ноги и руки. Готовый персонаж может выглядеть так, как показано на рис. 4.78.
Рис. 4.78. Готовый персонаж, полученный в результате присоединения скелета к частям оболочки
Подведем итоги урока — выполнив его, вы научились: