Ring Array является системой, которая распространяется как пример для программиста. Подключаемое приложение создает массив объектов со множеством параметров. Выполняя анимацию фазы и цикла, можно заставить кубики совершать любые танцы. Присоедините объекты к кубикам и затем скройте кубики и получите анимацию сложной геометрии, подобной лошади на карусели.
Bones представляет собой систему с более очевидной практической ценностью. Ее можно легко применить в качестве иерархического каркаса для анимации. Например, как показывает рисунок 16.1, из различных объектов, связанных базовым скелетом, можно создать фигуру гуманоида. На данной иллюстрации скелет расположен слева, объекты - посредине, а скелет и объекты, готовые к анимации, находятся справа. Скелет образует иерархический каркас, который используется для подвешивания визуализируемых объектов (скелет является вспомогательным объектом и визуализации не подлежит). После произведения щелчка для создания скелета иерархия генерируется автоматически с первой костью на вершине дерева. Каждая новая кость добавляется в качестве дочерней для предыдущей кости.
Скелет имеет и еще одно назначение - служить в качестве каркаса для модификатора Physique, одного из подключаемых приложении, поставляемого в рамках Character Studio от Kinetix. (Подробное обсуждение Physique выходит за пределы книги, хотя данная глава содержит введение в модификатор). В основном модификатор Physique присоединяется к корневой кости иерархии костей, размещенных внутри каркасной модели. Затем Physique может деформировать каркас. Это полезная технология моделирования, не менее предпочтительная технологии анимации. Каркасы с Physique предназначены для анимации посредством Biped - еще одного подключаемого приложения Character Studio, которое и является предметом обсуждения данной главы. Рисунок 16.2 показывает торс, использующий кости для своего каркаса, моделируемого в Physique.
Biped (двуногое) является первым основным подключением 3DS МАХ для реализации в виде системы и представляет собой прекрасный пример того, какой может быть система. Остаток главы рассматривает способы применения Biped для управления реальным анимационным проектом. Попутно будет показано, что Biped бесшовно интегрируется с 3DS МАХ и добавляет в программу огромную функциональность, что делает Biped настоящей системой.
Biped является подключаемым приложением анимации персонажей, которая генерирует реалистичное движение двуногих созданий. Прежде чем более пристально посмотреть на его функционирование, следует учесть, что никто не заставляет вас делать с помощью Biped живого движения. Можно создать сюрреалистическое или фантастическое движение или выполнить анимацию танцующих газовых насосов или прыгающих кредитных карточек. Однако Biped особенно хорош для реалистичного движения, поскольку в него встроен интеллект, который принимает во внимание динамику движения, законы гравитации и т.п. Biped можно рассматривать как программное решение проблемы анимации человеческого тела в трех измерениях. Существуют и другие решения данной проблемы, но они имеют тенденцию быть аппаратными, что дорого, грубо и требует много времени.
Например, предположим, что требуется выполнить анимацию последовательности прыгающей фигурки для создаваемой игры и движение должно быть как можно более реалистичным. Что выбрать? Располагая значительным бюджетом, можно купить или арендовать оборудование для видеозахвата. Видеозахват отслеживает движение реального человека посредством оптико-электронных сенсоров, прикрепленных к суставам человека. Затем сенсоры транслируют движение в приемлемый формат. Прежде чем применять данные движения, их придется подправить вручную, но конечный результат, вероятно, будет предельно реалистичным. Очевидно потребуется кого-то нанять, кто умеет хорошо и высоко прыгать. Убедитесь, что у вас в студии есть достаточно места для этого.
При условии скудного бюджета и занятий спортом в свободное время, можно самостоятельно проделывать движения и выполнять анимацию модели с использованием инверсной кинематики. Главный недостаток такого подхода - время и качество. Анимация даже нескольких секунд жизненного движения, используя ручное оформление кадров, весьма трудоемка. Особенно трудно создать ощущение движения вперед и реалистичного контакта с землей. После всех усилий вы вряд ли достигнете реализма, обеспечиваемого видеозахватом.
Если нет ни большого бюджета, ни достаточного времени, можно использовать Biped и запись бега с препятствиями на Олимпийских играх из собственного видеомагнитофона, которая переносится на компьютер при помощи недорогого видеооборудования. Посредством Biped можно достигнуть качества видеозахвата за часть цены. С точки зрения затрачиваемого времени Biped также ускоряет процесс анимации и устраняет большую и изнурительную работу, связанную с ручным кадрированием.Решение Biped основывается на трех основных идеях:
Читая оставшуюся часть главы, можно заметить, как эти три элемента работают вместе, но поскольку они являются достаточно важными концепциями в Biped, мы затратим немного времени и рассмотрим их по отдельности.
После установки подключаемого приложения Biped создание скелета или фигуры является просто делом рисования коробки в любом видовом окне. Фигура, создаваемая Biped по умолчанию, имеет человеческие характеристики, но структуру легко изменить для создания других двуногих существ (см. рис. 16.3). Двуногое по умолчанию находится справа, тогда как другая двуногая фигура модифицирована в каркасную модель кенгуру. На данной иллюстрации видны также параметры структуры Biped так, как они появляются в 3DS МАХ на панели Create. Эти параметры определяют количество пальцев на руках и ногах, высоту двуногого, наличие хвоста и т.п.
Двуногая фигура обладает собственной развитой системой инверсной кинематики, поэтому, например, при щелчке и перетаскивании его руки или ноги посредством инструмента 3DS МАХ Select and Move будет двигаться вся рука или нога. Рисунок 16.4 показывает двуногого, позиционированного инструментом Select and Моvе. Для использования IK с Biped не следует включать инструмент 3DS МАХ Inverse Kinematics (IK). Система IK Biped на самом деле точнее, чем используемая в 3DS МАХ.Если взять руку двуногого, переместить ее и вернуть на прежнее место, можно обнаружить, что она вернулась точно на то же место, а не приблизительно на то же место.
Легко заметить, что разные части двуногого раскрашены по-разному. Такая расцветка не произвольна, подобно тому, как 3DS МАХ использует случайные назначения цветов. Здесь цвета имеют определенное значение: левая сторона окрашивается голубым, а правая - зеленым. Это соотносится с шагами двуногого, которые, как описано в следующем разделе, имеют те же самые цветовые соглашения.
Двуногое является цвето-кодированной, суставной арматурой, которую можно поместить в любую позу. В различных кадрах можно установить различные позы, и 3DS МАХ будет интерполировать между ними, в точности так, как это будет делаться для любой оживляемой иерархической структуры. Однако двуногое может делать гораздо больше. Оно действительно начинает жить, когда вы генерируете для него шаги.
Рядом с некоторыми автобусными остановками в Сиэтле находятся металлические подошвы, впечатанные в тротуар. Эти подошвы отражают последовательность шагов из популярных танцев, так что во время ожидания автобуса вы можете наступать на подошвы и упражняться в танго или вальсе. Biped основан на точно таком же принципе.Вы размещаете перед двуногим подошвы.Когда подошвы активизируются. Biped следует за шагами, адаптируясь к указанному виду движения - ходьбе, бегу или прыжкам. Подошвы можно размещать вручную. Лучше всего это подходит при создании чего-то подобного танцу, содержащему множество зигзагов и поворотов. Или же можно размещать подошвы автоматически, используя диалог Create Multiple Footsteps. Посредством данного диалога легко сгенерировать столько шагов, сколько необходимо. Здесь же можно управлять ускорением или замедлением Biped по ходу выполнения последовательности шагов.Авто-матически сгенерированные шаги ложатся по прямой линии, однако в последствии их можно поворачивать. Кроме того, можно двигать и поворачивать отдельные шаги. Рисунок 16.5 показывает кадр последовательности ходьбы по умолчанию сгенерированной Biped. Обратите внимание на то, что шаги окрашены (легко заметить разницу даже в оттенках серого: справа - зеленый, слева - голубой) и пронумерованы (правые шаги - нечетные, левые - четные).
Последовательность шагов по умолчанию, генерируемая Biped, очень реалистична. Если посмотреть на траекторию центра тяжести двуногого объекта (обозначенного маленьким восьмигранником в области таза), можно увидеть, что его движение следует волнообразному пути, отражающему небольшую разницу в подъеме центра тяжести в точках касания пяток и поднятия на носки (см. рис. 16.6).
Центр тяжести объекта (также называемого корневым объектом двуногого) важен для вычисления правильной позиции и баланса двуногого во время движения. После создания и активизации шагов двуногого, центр тяжести объекта вместе с ногами ведет себя совершенно по-иному, чем прежде. Активизация шагов генерирует ключи для центра тяжести и для ног, вынуждая данные объекты следовать внутренним правилам Biped для интерполяции ключевых кадров. Рисунок 16.7 показывает одного двуногого перед активизацией шагов (слева) и другого двуногого после активизации (справа). У обоих двуногих центр тяжести объекта повернут по оси X, оси Y и оси Z. Первый двуногий повернут полностью, а второй сохраняет контакт с поверхностью, вполне реалистично вращая туловище.
Подобным образом, если выбрать и переместить корневой объект вниз, то двуногое без шагов просто пройдет сквозь поверхность, а двуногое с активными шагами согнет колени и останется в правильном отношении с поверхностью (см. рис. 16.8).
Таким образом двуногие полностью управляются своими шагами. Это вовсе нс означает, что нет возможности создавать впечатляющие анимации.Движение, генерируемое Biped, следует взять за некий "набросок движения" и адаптировать его, настроив шаги и добавив ключи для верхней части тела, для рук и для головы. Biped не ограничивает эти ключи, как он ограничивает те, которые предназначены для ног и центра тяжести. Кроме того, можно отключить эффект шагов, создав между шагами "свободные" области. В таких свободных областях двуногое не касается земли и анимация может выполняться в любой позиции.
Шаги двуногого обладают своим собственным треком в 3DS МАХ Track View (см. рис. 16.9). Здесь шаги отображаются как цветные блоки: бледно-голубые для левой ноги и бледно зеленые - для правой. Отображается также номер каждого шага (полужирным шрифтом) и начальный и конечный кадры. В данном примере, который показывает ту же самую прогулочную последовательность по умолчанию, что и рисунок 16.5, шаги слегка перекрываются - то есть начальный кадр каждого шага начинается перед конечным кадром предыдущего. Такое перекрытие называется периодом двойной поддержки и является характеристикой прогулочной походки. Если вы сейчас же встанете и неторопливо пройдетесь, то сами почувствуете период двойной поддержки. Двойная поддержка отсутствует при беге или прыжках, где шаги разделяются воздушным периодом.
Ниже трека шагов Biped показаны треки для левой и правой nor (Biped рассматривает все части ноги от бедра до кончиков пальцев как один модуль, поэтому для каждой ноги определяется только один трек.) Все ключи в треках Biped генерирует автоматически после активизации шагов. Некоторые ключи помечены красной точкой. Это означает, что они заблокированы. Biped блокирует ключи для треков ног для того, чтобы успеть правильно выполнить вычисления. Если повернуть ногу в заблокированном ключевом кадре, то нога просто вернется в исходное положение. Внутри Track View заблокированные ключи можно разблокировать, но это делается на свой страх и риск. В Track View шаги можно удлинять, укорачивать и пр. При этом Biped пересчитывает отношения между шагами и генерирует новые ключи. Внутренне Biped обнаруживает столкновения между ногой и плоскостью поверхности и использует точку контакта в качестве основы для вычисления других положений ноги. На любом кадре в анимации каждая нога может находиться в одном из следующих четырех состояний (см. рис. 16.10):
Цикл шага - это время в кадрах, которое требуется для выполнения одного шага. По умолчанию цикл шага состоит из 15 кадров (полсекунды) для ходьбы и бега и 20 кадров для прыжков. Biped измеряет цикл шага от кадра касания одного шага до кадра касания следующего. Если снова посмотреть на цикл ходьбы, показанный в Track View (см. рис. 16.9), можно найти этому подтверждение. Заблокированные ключи появляются в положениях касания и подъема, т.е. в первом и последнем кадре шага. Поскольку кадры пронумерованы, легко заметить, сколько кадров в каждом цикле. Например цикл ходьбы - с правой ноги на левую после того, как фигура полностью разошлась, проходит 45, 60, 75, 90 и т.д. Чувство цикла полезно при сопоставлении шагов с конкретным движением, захваченным с видео. Четыре состояния для правой и левой ног помечены на командной панели прямо под свитком General. Метки во время шага сдвигаются, но отредактировать их за счет ввода новых значений нельзя.
Формат файла Biped (BIP) представляет собой специальный формат, сохраняющий всю ключевую информацию для двуногой фигурки. В файле записана как ключевая информация шагов, так и данные о положении верхней части тела. Единственное движение, которое нс запоминается в файле Biped в неизменном виде, - это движение, созданное инверсной кинематикой. Дело в том, что 1К использует параметр пространства объекта. Отношения IK возникают, например, тогда, когда вы касаетесь рукой мяча- Формат файла Biped ничего не знает о мяче, но сохраняет движение руки.Для сохранения отношения руки и мяча запишите файл МАХ.
После записи файла Biped, его можно загружать и применять к другим двуногим. Другим и словами файл данного формата можно использовать для создания целых библиотек движений. Это очень похоже iia создание библиотек текстур в 3DS МАХ. Можно запомнить различные виды прыжков, бега, ходьбы, танцев, подскоков, пинков и категоризировать их любым желаемым способом. Например, CD-ROM Character Studio включает набор из шести анимаций, сделанных по классическому справочнику по анимации The Human Figure in Motion автора Эдварда Майбриджа (Eadweard Muybridge). Собрав коллекцию клипов движений, их можно загружать и объединять, добавляя одно движение в другое и создавая более сложные последовательности. Анимации двуногих фигур можно загружать в любую двуногую фигуру, любого размера и пропорций, и анимация откорректирует себя в соответствии с новым характером.
Элементы управления сохранением и загрузкой файлов Biped появляются в свитке General панели Motion (см. рис. 16.11).
После выполнения удовлетворительной анимации двуногой фигуры выделите и нажмите кнопку Save File. Присвойте файлу уникальное имя и сохраните его в своей библиотеке движений. Когда потребуется применить движение к другой двуногой фигуре, выделите ее на сцене и нажмите кнопку Load File. Biped загрузит сохраненные шаги и другую ключевую информацию, а также автоматически адаптирует выделенную фигуру к новым данным. Файл Biped в большинстве случаев можно представлять как "конечный продукт". Скелет двуногой фигуры по существу является репозитарием для хранения данных о движении.
Оставшаяся часть главы посвящена использованию Biped для выполнения реального проекта анимации. Однако это не учебное пособие. Покупка Character Studio необязательна. Мы лишь пытаемся выяснить, что эта программа может делать и как ее применять. Если Character Studio уже доступен, то в данном разделе предлагается подход, который вы не найдете в документации, распространяемой с продуктом. В любом случае инструкции из данного раздела будет несложно применять в вашей собственной работе. Объясняемый здесь конкретный метод ротоскопирования не является единственным или даже предпочтительным для работы с Biped. Однако он предоставляет возможность продемонстрировать многие из фундаментальных процедур Biped в корректном порядке с упором на то, что Biped делает лучше всего - реалистичную анимацию фигуры человека.
Копирование коммерческих видеолент для публичного просмотра или распространения является нарушением закона, но ФБР, вероятно, не станет беспокоить нас из-за нескольких мгновений съемки великолепного движения атлетов, сделанной в целях самообразования. Посредством видеомагнитофона можно записать ленту со своего телевизора. А если у вас есть видеокамера, то для вас открывается целый мир движения. Все что нужно сделать - это выйти и снимать. Добавьте к этому стоимость недорогой платы видеозахвата и вы готовы создать в 3DS МАХ любой вид движения. Конечно, если вы собираетесь использовать отснятый материал в коммерческом проекте, то могут возникнуть юридические проблемы и в этой связи лучше всего поинтересоваться соответствующими законами. 3DS МАХ поддерживает высококачественный видеоввод с устройств, подобных Accom Work Station Disk, но для обеспечения видеокадров как фона двуногой фигуры вполне достаточно простого файла AVI. Видеозахват и сжатие само по себе является искусством и часто изменяется с представлением новых технологий компрессии/декомпресии. Для получения последней информации о видеозахвате поговорите с кем-то, кто имеет опыт работы с цифровым видео либо почитайте свежую книгу или профессиональный журнал.
Среди распространенных дешевых видеоплат захвата имеется Smart Video Recorder Pro фирмы Intel, VideoIT и UMAX Maxmedia от фирмы ATI. Данные типы плат обычно записывают с разрешением 320 х 240 или меньше и с частотой кадров 15 или 30 кадров в секунду. Стоимость плат - от нескольких сотен до 1000 долларов. Для захвата с большим разрешением требуются более дорогие продукты, подобные Perception Recorder фирмы Digital Processing Systems или Targa 2000 фирмы Truevision. Такое оборудование обычно стоит более 1000 долларов и требует специальный жесткий диск для захвата и воспроизведения. Именно для такой цели Diaquest делает для 3DS МАХ подключаемый элемент под названием 3d/av.
СОВЕТ
ротоскопирование (rotoscoping) представляет собой процесс переноса видеокадров в 3DS МАХ для того, чтобы они служили фоном для выравнивания и синхронизации элементов па сцене. С данного момента вы шаг за шагом будете изучать, как настроить среду 3DS МАХ и Biped на ротоскопирование.
К данному моменту среда 3DS МАХ настроена и вы готовы начать сопоставление движения в видео.
Наступило время оставить компьютер и засесть за бумагу. Вы должны внимательно присмотреться к видеозаписи, проанализировать се шаг за шагом и на бумаге начертить пронумерованную диаграмму кадров. Просмотрев видео десяток и более раз, вы получите ощущение шагов, даже если их не видно или видео в интересующем месте размыто. Иногда нет возможности определить точный кадр, где нога фигуры поднимается или касается земли, по обычно можно достаточно точно это угадать.
На данный момент уже выполнен значительный объем работ. Остальная работа связана с традиционной анимацией ключевых кадров.
Следующий шаг заключается в проходе по ключевым кадрам анимации и настройке положения ключей верхней части тела так, чтобы оно совпадало с фигурой на видео- Это наиболее творческая часть проекта, поскольку вы свободны использовать свои аниматорские способности для разработки движения - можно точно схватить движение, преувеличить его или использовать его в качестве основы для любого желаемого эффекта. В каком-то смысле видео уже сыграло свою главную роль - помогло установить корректный цикл шагов.
С этого момента завершение анимации становится вполне целенаправленным. Вы используете традиционные ключевые кадры для настройки положений ног и устанавливаете новые ключи для рук, позвоночника и головы. Здесь можно убить любое количество времени в зависимости от того, какую степень достоверности требуется получить.
Отработав движение, теперь его можно применить к каркасной модели при помощи другого подключаемого элемента Character Studio - Physique.
Обычно завершенное движение Biped можно запомнить в файле Biped (формат файла BIP), который впоследствии применим к другой двуногой фигуре, возможно, уже имеющей тело (т.е. обладать подсоединенным каркасом). Однако, если с каким-либо объектом на сцене установлено отношение IK, например с рукой, держащей мяч, то для сохранения отношения следует запомнить анимацию в стандартном файле МАХ. Можно сохранить и в файле Biped и он запомнит шаги и все ключи тела. Единственный аспект анимации, который файл Biped не может сохранить, - это ключи IK Object Space.Вданном случае у нас нет IK, поэтому мы просто сохраняем анимацию со сцены в файле Biped. В равной степени успешно можно было бы соединить со сценой каркасную модель и затем использовать каркас для наращивания тела фигуры.
Мы не будем детально освещать процесс наращивания тела двуногой фигуры, поскольку модификатор Physique выходит за рамки данной книги. (Детальное обсуждение темы приведено в документации Character Studio.) Ниже рассмотрен общий процесс:
ПРИМЕЧАНИЕ
ПРИМЕЧАНИЕ
Для сравнения мы включили в CD-ROM следующие AVI-файлы:
Character Studio обещал существенно упростить анимацию персонажей. В основном обещание выполнено, поскольку поставляемые инструменты изымают из процесса анимации большой объем изнурительной работы. Предоставляя возможность сконцентрировать внимание на тонкостях реалистичного движения моделей, Character Studio увеличивает степень артистизма и обеспечивает новый волнующий способ работы. Если ваша работа связана с анимацией персонажей или если вы хотите изучать человеческое тело в движении, то Biped и Physique достойны внимания.