Создание трехмерной анимации
Модуль Character Studio
Само понятие анимации многие ассоциируют с персонажной анимацией, то есть, с двигающимися героями анимационной картины. Создание персонажной анимации - это один из важнейших этапов разработки трехмерного проекта.
Любую анимацию можно условно разделить на два типа: реалистичная и нереалистичная. Персонажная анимация может быть как реалистичной, так и нереалистичной, однако зрители воспринимают анимацию лучше, если она напоминает движения, совершаемые реальными существами. Даже если персонаж анимации - это вымышленное существо, плод воображения художника, лучше, чтобы его движения были правдоподобны. В противном случае персонаж будет выглядеть безжизненным манекеном.
Поскольку зрителю очень знакомы движения живых существ (особенно если имитируются движения человека), он без труда отличит несовершенную трехмерную подделку. Поэтому в персонажной анимации модель должна выглядеть безукоризненно.
Характер движения любого существа определяется анатомическим строением его скелета, поэтому при создании трехмерной анимации сначала создается модель скелета существа, на который позже "надевается" оболочка. При движении отдельных частей скелета внешняя оболочка будет деформироваться в соответствии с формой каркаса. Таким образом, для анимирования персонажа достаточно настроить параметры движения скелета, который затем можно использовать с различными внешними оболочками, например когда требуется анимировать группу мультяшных героев. "Надевание" оболочки - это тоже достаточно трудоемкий процесс, ведь нужно "привязать" кости к соответствующим частям тела таким образом, чтобы при изменении положения скелета оболочка деформировалась реалистично.
Создавать анимацию скелета будущего персонажа можно двумя способами: вручную (с помощью ключевых кадров), и используя систему захвата движения Motion Capture. Последний способ получил широкое распространение и применятся практически во всех коммерческих анимационных проектах, так как имеет несколько преимуществ перед методом ключевых кадров.
Технология Motion Capture использовалась, например, в одном из самых популярных трехмерных анимационных рождественских фильмов "Полярный экспресс" (The Polar Express). В этом фильме известный актер Том Хенкс, играл сразу несколько ролей: маленького мальчика, проводника поезда, бродягу и Санта Клауса. При этом во многих анимационных сценах актер играл сам с собой. Конечно же, все герои мультфильма были трехмерными, но Том Хенкс управлял их действиями, жестами и даже мимикой. Актер надевал специальную "одежду" с датчиками, напоминающую гидрокостюм, совершал действия перед специальным устройством, а компьютер получал информацию об изменении положения отметок на костюме и моделировал, таким образом, движения трехмерного персонажа. Подобные датчики были установлены и на лице актера, что позволило перенести на анимационных героев его мимику.
Очевидно, что анимация персонажей, созданная с использованием технологии Motion Capture, более реалистична, чем полученная методом ключевых кадров.
Модуль Character Studio - это, пожалуй, самый мощный на сегодняшний день инструмент для работы с анимацией персонажей. Он интегрирован в 3ds Max 2008.
Character Studio включает три компонента:
- Biped (Двуногий) - моделирует скелет практически любого двуногого создания и задает его поведение;
- Physique (Телосложение) - с его помощью можно "надеть" оболочку на скелет;
- Сrowd (Толпа) - анимирует группы трехмерных персонажей, используя систему связей и поведения.
Имитация движения трехмерных персонажей в Character Studio производится по следующему принципу: сначала строится скелет, в котором иерархично взаимодействуют его составляющие - кости ( Bones ). Затем на скелет надевается оболочка ( Skin ).
Для построения скелета используется система костей Biped (Двуногий), а также любая трехмерная модель персонажа.
Новый объект создается нажатием кнопки Biped (Двуногий), которая расположена в категории Systems (Дополнительные инструменты) вкладке Create (Создание) командной панели. Создаваемый объект представляет собой скелет двуногого персонажа ( рис. 8.17).
Свиток Create Biped (Создание двуногого) содержит настройки анатомических особенностей модели ( рис. 8.18). Строение скелета максимально упрощено. Например, кости рук и ног изображаются параллелепипедами. Это объясняется тем, что для прорисовки движений любого персонажа требуется указать не все кости, а лишь те, которые составляют опорно-двигательный аппарат.
Среди прочих настроек системы костей Biped (Двуногий) можно выделить параметры, которые регулируют наличие или отсутствие костей рук, позволяют изменять количество пальцев на руках и ногах (от одного до пяти), а также количество позвоночных и шейных костей. Помимо этого можно добавить нестандартные типы костей для персонажей с хвостом или гривой. В 3ds Max 2008 можно устанавливать до 10 костей позвоночника и до 25 костей шеи и хвоста.
После создания скелета необходимо совместить его с оболочкой (трехмерной моделью персонажа) и подогнать их по размеру. Для этого нужно выделить объект Bip01 и постараться совместить его с моделью персонажа. Можно сделать наоборот - совместить оболочку со скелетом.
Для выделения объекта Bip01 вызовите окно Select From Scene (Выбор из сцены) при помощи клавиши H.
Следующая задача заключается в том, чтобы кости оказались внутри оболочки и располагались там как можно более естественно. Правдоподобность движений конечной модели персонажа будет зависеть от того, насколько тщательно удалось совместить все элементы скелета и внешней оболочки. Для соединения скелета и оболочки необходимо включить режим Figure Mode (Режим фигуры) в свитке Biped (Двуногий) вкладки Motion (Движение) ( рис. 8.19) и, не выходя из него, поочередно выделять и перемещать составляющие скелета.
При включении этого режима на командной панели появится свиток Structure (Конструкция), в который из вкладки Create (Создание) переместятся настройки системы костей.
Поскольку скелет симметричен, часто приходится выполнять одни и те же действия. Например, нужно поднять правую руку, а потом точно так же - левую. Если в настройках объекта на вкладке Motion (Движение) развернуть свиток Track Selection (Выбор направления) ( рис. 8.20) и нажать кнопку Symmetrical (Симметрично), то все действия, которые будет производить персонаж на экране, будут симметрично отображаться. Чтобы перейти к симметрично расположенной кости, нужно нажать кнопку Opposite (Противоположный) в свитке Track Selection (Выбор направления). Форма костей у любого существа своя, поэтому всякий раз нужно специально регулировать размеры (длину и толщину) каждой из них.
После того как будут правильно расположены скелет и внешняя оболочка, нужно перейти в режим Rubber Band Mode (Режим резиновой нити), щелкнув на соответствующей кнопке свитка Biped (Двуногий). Чтобы открыть дополнительные параметры свитка Biped (Двуногий), щелкните на плюсике рядом с надписью Modes and Display (Режимы и отображение) в его нижней части.
Находясь в режиме Rubber Band Mode (Режим резиновой нити), можно управлять формой отдельно взятой кости. Если попытаться переместить кость в окне проекции, то ее форма изменится, и она начнет вытягиваться так, как будто сделана из резины (отсюда следует название режима - rubber, с англ. резина). Величину элементов скелета можно изменять при помощи стандартной операции Scale (Масштабирование).
После подбора размеров нужно воспользоваться модификатором Physique (Телосложение). Он применяется к внешней оболочке будущего персонажа Character Studio. "Оживление" персонажей - процесс очень трудоемкий. Скелет двуногого существа состоит из иерархично связанных компонентов, поэтому удобнее присоединять к нему не сразу всю оболочку, а отдельные компоненты (конечно, если позволяет сцена), то есть сначала руки и плечи, затем ноги, а в конце - все остальное.
В свитке Physique (Телосложение) настроек модификатора есть кнопка Attach to Node (Присоединить к оболочке). После нажатия этой кнопки выбирается элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.
После щелчка на элементе скелета на экране появится окно Physique Initialization (Условия составления телосложения). Модификатор Physique (Телосложение) по своему принципу действия напоминает модификатор Skin (Кожа). В месте, где кожа изгибается, вокруг выбранной кости будет построена огибающая в форме капсулы. Вершины той части оболочки, которая охвачена огибающей, в окне проекции окрасятся в разные цвета. Цвета вершин символизируют степень воздействия на них перемещений текущей кости. Огибающая состоит из внешнего и внутреннего контуров, а также содержит два поперечных сечения в форме кругов. Чтобы модифицировать характер сгиба оболочки, нужно изменить размер сечений огибающей или настроить степень воздействия на вершины перемещения кости.
Окно Physique Initialization (Условия составления телосложения) содержит несколько свитков с параметрами, которые определяют начальные настройки огибающей. Здесь необходимо нажать кнопку Initialize (Составить), затем перейти на вкладку Motion (Движение) командной панели . Щелкнув на кнопке Load File (Загрузить файл), можно загрузить файл, в котором хранится информация о движении скелета (предварительно необходимо отключить режим Figure Mode (Режим фигуры)). Данный файл имеет расширение BIP, его можно найти среди разнообразных примеров, предложенных разработчиками 3ds Max 2008.
Результат действий будет виден сразу после нажатия кнопки Biped Playback (Воспроизведение движений) в свитке Biped (Двуногий) вкладки Motion (Движение). В этом случае двигаться будет только схематично нарисованный персонаж. Анимацию можно проиграть также, нажав кнопку Play Animation (Воспроизвести анимацию) - при этом будет видна вся анимация без упрощения. Двуногий человечек совершает определенные действия: прохаживается, размахивает руками и т. д.
Однако такая оболочка хоть и будет "надета", но будет иметь множество недостатков. Во-первых, есть большая вероятность того, что некоторые вершины не попадут под действие огибающей, поэтому на экране форма оболочки сильно исказится (будет выглядеть так, как будто она прибита гвоздями к полу). Во-вторых, несмотря на все усилия, не получится добиться правильного соотношения размеров скелета и оболочки.
Чтобы исправить первый недостаток, нужно переключиться на уровень субобъектов Vertex (Вершина).
На командной панели появится свиток Vertex - Link Assignment (Вершина - назначение связи). Чтобы убрать "прибитые гвоздями" вершины, нужно при нажатой кнопке Select (Выбрать) и выделить их в сцене. Затем необходимо нажать кнопку Assign to Link (Назначить связь) и указать, на какой кости будут закреплены выбранные вершины. Можно также совершить обратную операцию: выбрать вершины при помощи кнопки Select (Выбрать), после чего нажать кнопку Remove from Link (Удалить связь) и указать элемент, с которым желательно удалить связи.
Для решения второй проблемы необходимо переключиться на уровень субобъектов Envelope (Огибающая). После этого оболочку можно будет редактировать на уровне огибающей.
Чтобы при проигрывании анимации общий скелет не был виден, можно пойти двумя путями. Самый простой - установить флажок Hide Attached Nodes (Скрыть присоединенные вершины) в свитке Physique Level of Detail (Уровень детализации) настроек модификатора Physique (Телосложение). Другой метод - выделить скелет, нажать правую кнопку мышки, выбрать строку Object Properties (Свойства объекта) и в области Rendering Control (Контроль визуализации) окна настроек объекта установить значение параметра Visibility (Видимость) равным 0 ( рис. 8.21).
Когда настройка модификатора Physique (Телосложение) будет завершена, результат можно сохранить с расширением PHY, нажав кнопку Save Physique (*.phy) File (Сохранить файл) в свитке Physique (Телосложение). Таким же образом при помощи кнопки Open Physique (*.phy) File (Открыть файл) в дальнейшем его можно открыть, чтобы использовать в других проектах.
При помощи модуля Character Studio можно также смоделировать ходьбу персонажа по нарисованным следам, расположение которых вы указываете сами. При этом результат сохраняется/загружается в файле с расширением STP.