Модуль Character Studio
В повседневной жизни наши движения настолько естественны и привычны, что мы не думаем, запрокинуть ли нам голову во время смеха или пригнуться, проходя под низким навесом.
Моделирование подобного поведения в трехмерной графике сопряжено с множеством трудностей, поэтому используется следующее: к телу человека подключается большое количество датчиков, которые фиксируют перемещение любой части тела в пространстве и подают соответствующий сигнал на компьютер. В свою очередь, компьютер обрабатывает полученную информацию и использует ее по отношению к некоторой модели. Такая технология называется Motion Capture.
Модуль Character Studio — это, пожалуй, самый мощный на сегодняшний день инструмент для работы с анимацией персонажей.
Начиная с седьмой версии 3ds max, Character Studio, который ранее существовал как дополнительный модуль, был интегрирован в пакет.
Character Studio содержит три модификатора:
Имитация движения трехмерных персонажей в Character Studio производится по следующему принципу: сначала строится скелет, в котором иерархично взаимодействуют его составляющие — кости (Bones). Затем на скелет надевается оболочка (Skin).
Для построения скелета используется система костей Biped (Двуногий), а также любая трехмерная модель персонажа.
Новый объект создается нажатием на кнопку Biped (Двуногий), которая расположена на вкладке Create (Создание) командной панели в свитке Object Type (Тип объекта) категории Systems (Дополнительные инструменты). Создаваемый объект представляет собой скелет двуногого персонажа (рис. 4.23).
Рис. 4.23. Объект Biped (Двуногий)
Свиток Create Biped (Создание двуногого) содержит параметры (рис. 4.24) настройки анатомических особенностей модели. Строение скелета максимально упрощено. Например, кости рук и ног изображаются параллелепипедами (см. рис. 4.23).
Это объясняется тем, что для прорисовки движений любого персонажа требуется указать не все кости, а лишь те, которые составляют опорно-двигательный аппарат.
Среди прочих настроек системы костей Biped (Двуногий) можно выделить параметры, которые регулируют наличие или отсутствие костей рук, позволяют изменять от одного до пяти количество пальцев на руках и ногах, а также количество позвоночных и шейных костей. Помимо этого можно добавить нестандартные типы костей для персонажей с хвостом или гривой.
После создания скелета необходимо совместить его с оболочкой (трехмерной моделью персонажа) и подогнать их по размеру.
Для этого нужно выделить объект Bip01 и постараться совместить его с моделью персонажа. Можно сделать наоборот — совместить оболочку со скелетом.
ПРИМЕЧАНИЕ
Для выделения объекта Bip01 вызовите окно Select Objects (Выбор объектов) при помощи клавиши Н.
Рис. 4.24. Свиток настроек Create Biped (Создание двуногого) на командной панели
Следующая задача заключается в том, чтобы кости оказывались внутри оболочки и располагались там как можно более естественнее. Правдоподобность движений конечной модели персонажа будет зависеть от того, насколько тщательно удалось совместить все элементы скелета и внешней оболочки. Для соединения скелета и оболочки необходимо включить режим Figure Mode (Режим фигуры) в свитке Biped (Двуногий) вкладки Motion (Движение) (рис. 4.25) и, не выходя из него, поочередно выделять и перемещать составляющие скелета.
При включении этого режима на командной панели появится свиток Structure (Конструкция), в который из вкладки Create (Создание) переместятся настройки системы костей.
Поскольку скелет симметричен, часто приходится выполнять одни и те же действия. Например, нужно поднять правую руку, а потом точно так же — левую. Если в настройках объекта на вкладке Motion (Движение) развернуть свиток Track Selection (Выбор направления) (рис. 4.26) и нажать кнопку Symmetrical (Симметрично), то все действия, которые будет производить персонаж на экране, будут симметрично отображаться. Чтобы перейти к симметрично расположенной кости, нужно нажать кнопку Opposite (Противоположный) в свитке Track Selection (Выбор направления). Форма костей у любого существа своя, поэтому всякий раз нужно специально регулировать размеры (длину и толщину) каждой из них.
Рис. 4.25. Включение режима Figure Mode (Режим фигуры)
Рис. 4.26. Свиток настроек Track Selection (Выбор направления)
После того как будут правильно расположены скелет и внешняя оболочка, нужно перейти в режим Rubber Band Mode (Режим резиновой нити), щелкнув на соответствующей кнопке свитка Biped (Двуногий) (рис. 4.27).
ПРИМЕЧАНИЕ
Чтобы открыть дополнительные параметры свитка Biped (Двуногий), щелкните на плюсике в его нижней части.
Находясь в режиме Rubber Band Mode (Режим резиновой нити), можно управлять формой отдельно взятой кости. Если попытаться переместить кость в окне проекции, то ее форма изменится, и она начнет вытягиваться так, как будто сделана из резины (отсюда следует название режима — rubber, от англ, резина). Величину элементов скелета можно изменять при помощи стандартной операции Scale (Масштабирование).
После подбора размеров нужно воспользоваться модификатором Physique (Телосложение). Применяется он к внешней оболочке будущего персонажа Character Studio. Оживление персонажей — процесс очень трудоемкий. Скелет двуногого существа состоит из иерархично связанных компонентов, поэтому удобнее присоединять к нему не сразу всю оболочку, а отдельные компоненты (конечно, если позволяет сцена), то есть сначала руки и плечи, затем ноги, а в конце — все остальное.
Рис. 4.27. Включение режима Rubber Band Mode (Режим резиновой нити)
В свитке Physique (Телосложение) настроек модификатора есть кнопка Attach to Node (Присоединить к оболочке). После нажатия этой кнопки выбирается элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.
На экране появится окно Physique Initialization (Условия составления телосложения) (рис. 4.28). Модификатор Physique (Телосложение) по своему принципу действия напоминает модификатор Skin (Кожа). В месте, где кожа изгибается, вокруг выбранной кости будет построена огибающая в форме капсулы.
Вершины той части оболочки, которая охвачена огибающей, в окне проекции окрасятся в разные цвета. Цвета вершин символизируют степень воздействия на них перемещений текущей кости.
Огибающая состоит из внешнего и внутреннего контура, а также содержит два поперечных сечения в форме кругов. Чтобы модифицировать характер сгиба оболочки, нужно изменить размер сечений огибающей или настроить степень воздействия на вершины перемещения кости.
Окно Physique Initialization (Условия составления телосложения) содержит несколько свитков с параметрами, которые определяют начальные настройки огибающей. Здесь необходимо нажать кнопку Initialize (Составить), затем перейти на вкладку Motion (Движение) командной панели. Нажав на кнопку Load File (Загрузить файл), можно загрузить файл, в котором хранится информация о движении скелета (предварительно необходимо отключить режим Figure Mode) (Режим фигуры). Данный файл имеет расширение BIP, его можно найти среди разнообразных примеров, предложенных разработчиками 3ds max 7.
Результат действий будет виден сразу после нажатия кнопки Biped Playback (Воспроизведение движений) в свитке Biped (Двуногий) вкладки Motion (Движение).
В этом случае двигаться будет только схематично нарисованный персонаж. Анимацию можно проиграть также, нажав кнопку Play Animation (Воспроизвести анимацию) — при этом будет видна вся анимация без упрощения. Двуногий человечек совершает определенные действия: прохаживается, размахивает руками и выполняет другие действия.
Рис. 4.28. Окно Physique Initialization (Условия составления телосложения)
Однако такая оболочка хоть и будет «одета», но будет иметь множество недостатков. Во-первых, есть большая вероятность того, что некоторые вершины не попадут под действие огибающей, поэтому на экране форма оболочки сильно исказится (будет выглядеть, как будто она прибита гвоздями к полу). Во-вторых, несмотря на все усилия, не получится добиться правильного соотношения размеров скелета и оболочки.
Чтобы исправить первый недостаток, нужно перейти на вкладку Modify (Изменение) командной панели, щелкнуть на значке плюса возле названия модификатора Physique (Телосложение) и переключиться в режим редактирования подобъектов Vertex (Вершина). На командной панели появится свиток Link-Assignment (Назначение связи) (рис. 4.29).
Чтобы убрать «прибитые гвоздями» вершины, нужно нажать кнопку Select (Выбрать) и выделить их в сцене. Затем необходимо нажать кнопку Assign to Link (Назначить связь) и указать, на какой кости будут закреплены выбранные вершины.
Можно также совершить обратную операцию: выбрать вершины при помощи кнопки Select (Выбрать), после чего нажать кнопку Remove from Link (Удалить связь) и указать элемент, с которым желательно удалить связи.
Рис. 4.29. Режим редактирования подобъектов Vertex (Вершина) модификатора Physique (Телосложение)
Для решения второй проблемы необходимо щелкнуть на плюсике возле названия модификатора Physique (Телосложение) и переключиться в режим редактирования подобъектов Envelope (Огибающая) (рис. 4.30).
После этого оболочку можно будет редактировать на уровне огибающей. Чтобы при проигрывании анимации общий скелет не был виден, можно пойти двумя путями.
Самый простой — установить флажок Hide Attached Nodes (Скрыть присоединенные вершины) в свитке Physique Level of Detail (Уровень детализации) настроек модификатора Physique (Телосложение).
Другой метод — выделить скелет, нажать правую кнопку мышки, выбрать строку Properties (Свойства) и в окне настроек объекта установить параметр Visibility (Видимость) равным нулю (рис. 4.31).
Рис. 4.30. Режим редактирования подобъектов Envelope (Огибающая) модификатора Physique (Телосложение)
Когда настройка модификатора Physique (Телосложение) будет завершена, результат можно сохранить с расширением PHY, нажав кнопку Save Physique File (Сохранить файл) в свитке Physique (Телосложение). Таким же образом при помощи кнопки Open Physique File (Открыть файл) в дальнейшем его можно открыть, чтобы использовать в других проектах.
При помощи модуля Character Studio можно также смоделировать ходьбу персонажа по нарисованным следам, расположение которых вы указываете сами. При этом результат сохраняется/загружается в файле с расширением STP.
Рис. 4.31. Диалоговое окно Object Properties (Свойства объекта)