Анимация персонажей в 3ds max

         

Betty готова к объединению всех движений



Betty готова к объединению всех движений


Во-вторых, нужно убедиться, что в последнем кадре анимации присутствуют ключи, которые полностью закрывают отрезок движения, то есть ключи для всех треков. Тогда при соединении анимации не будут влиять друг на друга. В загруженной анимации эффекта отдачи Betty скопируйте набор ключевых кадров из первого кадра в последний (рис. 9.3).

В-третьих, - и это последнее, что нужно сделать, - добавьте дополнительный столбец ключей в конец отрезка движения. Когда отрезок движения окажется в редакторе Motion Flow Editor, последний кадр отрезка, если после него добавить другой отрезок движения, будет «съеден». Так происходит, даже если переходы не определены. В 3ds max и character studio предполагается, что последний кадр либо дублирует первый (для циклов), либо используется при переходе. Выделите последний столбец ключей и перетащите его в соседний кадр, чтобы создать «подушку» из ключевых кадров (рис. 9.4).

Заметьте, что отрезки движений не обязательно должны быть одной анимацией. Полученный ранее в результате ручного создания ключевых кадров анимаций бездействия, стрельбы и плавания Betty файл был достаточно большим. Он отлично подходит на роль первого отрезка движения, так как включает в себя кадр 0 в исходной позе. В отрезок движения может входить несколько движений; существует веская причина для того, чтобы назвать этот файл отрезков Clipl: в нем были созданы временные теги, начинающиеся с нулевого кадра.



Чтобы добавить анимации, нужно просто присвоить имя диапазону анимации и определить его границы



Чтобы добавить анимации, нужно просто присвоить имя диапазону анимации и определить его границы


Если вас раздражает проблема отсечения изображения по границам и вы умеете редактировать HTML-страницу, сделайте следующее. Откройте папку, в которую был помещен экспортер, и найдите файл WildTangent.html. С помощью программы FrontPage, Notepad (Блокнот) или любого другого редактора HTML откройте файл и перейдите к строке 339. Измените строку

camera.setClipping( 10000*globalPositionIncrement,

2*globalPositionIncrement); на

camera.setClipping( 10000*globalPositionIncrement, 4.0);



Точность Z-буфера увеличится, но если увеличение слишком велико, то будут отсечены передние части модели, поэтому немного измените значение. Экспортер старается установить хорошее значение по умолчанию - значение, которое подойдет для большинства моделей, но в зависимости от размеров модели эти числа можно увеличить и получить лучший характер видимости вдоль оси Z. Сохраните файл и держите его под рукой, чтобы заменять им исходный файл WildTangent.html, который записывается каждый раз при экспорте актера.



Чтобы исправить ориентацию третьего отрезка,



Чтобы исправить ориентацию третьего отрезка, в поле Angle введите значение -8


Если в поле Angle ввести положительное число, то персонаж повернется по часовой стрелке, а если отрицательное - против часовой стрелки.


Перейдите к следующему переходу и перетащите ползунок шкалы времени, чтобы воспроизвести анимацию смерти. Здесь поза ориентирована более или менее правильно, так как Betty падает почти строго назад, перпендикулярно виду сбоку. А следующий переход нужно исправить. Для перехода от betty_death к betty_recovery введите в поле Angle значение -58°, чтобы Betty падала прямо назад и вставала на ноги, смотря вперед (рис. 9.19).

Не заботьтесь об изменении относительной высоты. Это можно исправить с помощью слоев, окончив работу со всеми переходами, сохранив файл в формате BIP и перезагрузив его в новый объект Biped. Обратитесь к следующему переходу. Голова Betty, хотя этого можно и не заметить, повернута слишком сильно, поэтому всю анимацию нужно повернуть на 5°, чтобы голова смотрела вперед (рис. 9.20).

Чтобы определить порядок воспроизведения отрезков в сценарии, щелкните по каждому из них



Чтобы определить порядок воспроизведения отрезков в сценарии, щелкните по каждому из них


13. Закройте окно Motion Flow Graph, щелкните по имени отрезка в списке под названием сценария справа - оно будет выделено (синим).

14. Щелкните по кнопке Edit Transition (Редактировать переход).

15. Отредактируйте параметры перехода (рис. 9.12).



Определите сценарий потока движений и настройте переходы между отрезками



Чтобы устранить резкие переходы между отрезками, измените значения в полях start frame и length





Чтобы устранить резкие переходы между отрезками, измените значения в полях Start Frame и Length


Красная фигура, появляющаяся, когда открывается окно параметров перехода, изображает целевое движение. Она важна только при создании перехода к следующему отрезку движения. Желтая фигура, обозначающая исходный отрезок анимации, позволяет при перетаскивании ползунка в разные позиции на шкале времени сравнить относительные положения персонажа во время перехода.



Значение, которое нужно ввести в поле Start Frame в разделе Source Clip (Исходный отрезок), легко определить. Введите в это поле число, которое находится справа в текстовом поле прямо над полем Start Frame. Изменив два значения, щелкните по кнопке Next Transition in Script (Следующий переход в сценарии) - рис. 9.14, - перейдите к следующему отрезку анимации и измените значения в полях Length и Start Frame соответствующим образом.



Пройдите по всем переходам сценария, нажимая на кнопку Next Transition in Script



Чтобы увидеть список кадров начала и конца анимаций, щелкните по полю add time tag



Чтобы увидеть список кадров начала и конца анимаций, щелкните по полю Add Time Tag



Добавьте дополнительный столбец...



Добавьте дополнительный столбец ключей в конец отрезок движения - он будет служить буфером, который сможет «поглотить» следующий отрезок в потоке движений



Экспорт



Экспорт



Процесс разработки персонажей игр в реальном времени не может обойтись без экспорта в том или ином виде. В Q3A персонажи экспортировались в ASCII-формат 3ds max (под названием ASE), затем программисты взмахивали своими волшебными математическими палочками - и персонажи появлялись в игре. В файле конфигурации определялась скорость смены кадров для анимации, а также точка начала и конца анимации. Такой подход, использующий группу файлов, вполне приемлем, но он определенно предназначен не для художника.

Однако не все компании отказываются от подхода визуальных инструментов и заставляют художника (трепещите!) вводить массивы данных в процессе экспорта. Технология Web Driver компании WildTangent и набор инструментов RenderWare фирмы Criterion Software представляют новое поколение графически ориентированных экспортеров, в которых художественная разработка упрощена. Чтобы проиллюстрировать один пример экспорта, в следующем разделе подробно рассматривается использование экспортера для 3ds max 4 компании WildTangent1. На компьютер придется установить ряд программ WildTangent, поэтому, если вы хотите пропустить данный раздел, переходите сразу к заключению.



Экспорт актера с анимациями



Экспорт актера с анимациями



На этом этапе пригодятся все временные теги. Щелкните по полю Add Time Tag и отметьте кадры, в которых имеет место анимация Swim Forward (кадры 680-720) - рис. 9.29.

Откройте свиток Actor Motions (Движения актера) и щелкните по кнопке New Motion (Новое движение). В поле имени введите Swim Forward. Нажмите клавишу Tab или дважды щелкните по полю Start Frame и введите значение 680. В поле End Frame введите значение 720 (рис. 9.30).

Еще раз нажмите кнопку Export Actor и снова откройте страницу просмотра (рис. 9.31).



Если ввести значение в поле angle, то следующий отрезок анимации повернется



Если ввести значение в поле Angle, то следующий отрезок анимации повернется


Обычно при вращении отрезков движения в окне редактирования перехода правильное значение угла определяется экспериментально.



При вводе значения в поле Angle персонаж поворачивается соответствующим образом (рис. 9.17).



Сводим все вместе



Глава 9. СВОДИМ ВСЕ ВМЕСТЕ

СВОДИМ ВСЕ ВМЕСТЕ Режим Motion Flow Подготовка анимации для режима Motion Flow Создание сценария Motion Flow Script Настройка длины перехода между отрезками движений Поворот отрезков движения Экспорт Установка экспортеров WildTangent 3ds max 4 Создание и экспорт актера Экспорт актера с анимациями Заключение



Голову betty нужно повернуть на 5°



Голову Betty нужно повернуть на 5°


В следующем переходе протащите ползунок по шкале времени, просматривая анимацию в окне проекции Front. Голова Betty не смотрит вперед, но перемещение ее ступней и туловища таково, что поворота на -10° будет достаточно, чтобы выровнять ее нужным образом (рис. 9.21).



Измените имя актера, присвоенное по умолчанию, на betty



Рис. 9.26 Измените имя актера, присвоенное по умолчанию, на Betty

Удерживая нажатой левую кнопку мыши, перетащите курсор в окне программы просмотра, поворачивая камеру вокруг экспортированной Betty. Чтобы перетащить сцену, удерживайте нажатой правую кнопку мыши, а чтобы увеличить или уменьшить масштаб, удерживайте обе кнопки мыши, перемещая указатель вперед и назад. Чтобы переключаться между серым, белым и черным фоном, нажимайте клавишу В.



К четвертому переходу нужно добавить угол, равный -58°



К четвертому переходу нужно добавить угол, равный -58°



К последнему переходу нужно также применить поворот на -10°



К последнему переходу нужно также применить поворот на -10°


У последнего отрезка движения нет опций настройки перехода, потому что он последний и дальше переходить некуда. Переходы изменены -и анимацию можно сохранять и перезагружать на новый объект Biped. В свитке Biped щелкните по кнопке Save File

Настройка длины перехода между отрезками движений



Настройка длины перехода между отрезками движений



После того как сценарий определен, а движения внесены, нужно устранить резкие переходы между отрезками движений. Закройте окно Motion Flow Graph и вызовите окно параметров перехода для первого элемента сценария (шаги 13-15 в списке, приведенном ранее). В поле Length (Длина) введите длину перехода 0 и измените значение времени начала для следующего отрезка в поле Start Frame на 731 (рис. 9.13).



Не забудьте снять отметку с опции a keyframe per frame, чтобы избежать добавления ненужных ключевых кадров



Не забудьте снять отметку с опции A Keyframe per Frame, чтобы избежать добавления ненужных ключевых кадров


Вот некоторые изменения, которые нужно внести в новый файл формата BIP: переместите все движения персонажа (например, отрезок betty_recovery), добавьте буфер между анимациями и временные теги. Завершив работу над набором анимаций, можно переходить к экспорту.



Отклонение назад нужно исправить, голова betty должна более явно смотреть вперед



Отклонение назад нужно исправить, голова Betty должна более явно смотреть вперед


Последний отрезок движения состоит из нескольких анимаций, как и betty_clip01. Перейдите в кадр 1082, где персонаж в окне проекции Front смотрит куда-то вперед. Видно, что движение нужно повернуть еще примерно на-10°, выровняв отрезок правильно (рис. 9.22).



Перетащите ключи, чтобы первый столбец



Перетащите ключи, чтобы первый столбец оказался в кадре 0


Приучите себя проверять, готов ли отрезок к переносу в режим Motion Flow: еще раз загрузите файл Betty 12.max; добавьте кадр после всех ключевых кадров (рис. 9.5).

Первым перенесите в редактор motion flow editor отрезок движения, составленный из всех созданных для betty анимаций



Первым перенесите в редактор Motion Flow Editor отрезок движения, составленный из всех созданных для Betty анимаций


Скопировав ключи в конец отрезка, сохраните файл под именем betty_clip01.bip. Теперь, когда вы знаете, как подготавливать отрезки, можно начать создавать набор анимаций с помощью редактора Motion Flow Editor.



Подготовка анимации для режима motion flow



Подготовка анимации для режима Motion Flow



Прежде чем переносить отрезок движения в Motion Flow Editor, нужно удостовериться в наличии трех условий, при необходимости внеся исправления. Прежде всего, первый столбец ключей должен быть в кадре 0. Даже если по какой-то причине в кадрах, например, с 0 по 50 нет анимации, первый столбец ключей, определенных для всех звеньев Biped при просмотре в окне Track View, должен находиться в кадре 0. Иначе, когда будет включен режим Motion Flow, переходы и длина отрезка анимации могут быть неправильными.

Загрузите файл Betty15.max (рис. 9.1).

Вызовите окно Track View - и вы увидите, что ключи сдвинуты вправо, они не начинаются в кадре 0. Такое иногда случается при сохранении сегмента анимации, а не всего файла Biped (особенно в режиме Motion Flow). Выделите все ключи и перетащите их так, чтобы первый столбец оказался в кадре 0 (рис. 9.2).



После установки к экспортеру wile/tangent можно получить доступ на панели utilities



После установки к экспортеру Wile/Tangent можно получить доступ на панели Utilities


Загрузите файл Betty16.max и затем выделите объекты сетки Betty (рис. 9.25).



Поворот отрезков движения



Поворот отрезков движения



После устранения переходов, которые происходят между анимациями движения, нужно проверить ориентацию отрезков. Каждый последующий отрезок начинается в конце предыдущего, а вращение объекта СОМ относительно - оно происходит в зависимости от положения персонажа. Это значит, что иногда нужно повернуть отрезок анимации с помощью того же метода, который использовался при повороте всего движения. Перейдите в кадр 731 и посмотрите на Betty в окнах проекции Тор и Front (рис. 9.15).



Позиционируйте отрезки движений: активизируйте кнопку move clip и определите положение отрезков



Позиционируйте отрезки движений: активизируйте кнопку Move Clip и определите положение отрезков


6. Щелкните правой кнопкой мыши по пустым полям отрезков движений.

7. Укажите путь к нужным отрезкам движения.

8. В каждое поле отрезка загрузите файл движения. Загрузите файлы betty_*.bip из папки в следующем порядке (рис. 9.9):



Просмотр актеров wile/tangent осуществляется через internet explorer



Просмотр актеров Wile/Tangent осуществляется через Internet Explorer


Исходные параметры камеры обеспечивают отсечение изображения, поэтому издалека Betty выглядит немного странно. Однако в увеличенном виде она выглядит хорошо. По умолчанию только что созданный файл хранится в папке Documents and Settings\[Имя пользователя]\Аррlication Data\WildTangent\Generated Files\Web.. Закройте окно программы просмотра, вернитесь в 3ds max и в свитке Actor Export щелкните по кнопке Preferences (Настройки). Когда появится окно Export Preferences (Настройки экспорта), щелкните по вкладке Web-ready Format (Формат, готовый для Web), а затем - по адресной строке, расположенной под опцией Web-Ready Output (Выход для Web). Введите путь C:\artgc\export (вместо C:\ можно указать любой диск) - рис. 9.28.



Режим motion flow



Режим Motion Flow



Редактор Motion Flow Editor предназначен для создания переходов между движениями и изменения направления файлов движения, если это необходимо. Он идеально подходит для соединения отдельных созданных вами анимаций, завершая аналогию с анимационной папкой. В режиме Motion Flow есть много полезных функций, но в этой главе рассматривается только сшивание (stitching) набора анимаций.



Создайте новый сценарий потока движений



Создайте новый сценарий потока движений


12. Щелкните по каждому полю отрезка в том порядке, в котором они должны быть соединены друг с другом. Порядок для отрезков Betty таков (рис. 9.11):

betty_clip01; bettyjbigshot; betty_kick; betty_death; betty_recovery; bettyjog; betty_backpcdal; betty_specials.




Создайте поля в окне motion flow graph



Создайте поля в окне Motion Flow Graph


Расположите поля отрезков движений так, чтобы их было проще связывать друг с другом. Обычно больше всего подходит ступенчатая конфигурация, но можно применить и любую другую придуманную вами систему. Чтобы переместить отрезки, сначала нужно нажать кнопку Move Clip (Переместить отрезок) - рис. 9.8.





Создание и экспорт актера



Создание и экспорт актера



Щелкните по кнопке New Actor (Новый актер) в свитке Actor Geometry (Геометрия актера). По умолчанию в качестве имени актеру присваивается название одного из выделенных объектов. Выделите появившееся в поле имя и измените его на Betty (рис. 9.26).

Щелкните в любом месте окна проекции, чтобы сохранить измененное имя, и в свитке Actor Export (Экспорт актера) нажмите кнопку Export Actor (Экспортировать актера). Приложение начнет экспортировать актера в особую программу просмотра, а в нижней части экрана появится синяя полоса состояния. По окончании экспорта в нижней части экрана на панели задач Windows вы увидите ярлык новой программы. Щелкните по нему, чтобы вызвать окно программы просмотра (рис. 9.27).



Создание сценария motion flow script



Создание сценария Motion Flow Script



Чтобы соединить все анимации, нужно создать сценарий потока движений, определив тем самым порядок, в котором связываются анимации, и всевозможные переходы или изменения ориентации, которые нужно осуществить. Этот сценарий всегда создается одинаково, поэтому в файле Betty 12.max выполните следующие шаги:

1. Выделите объект Biped.

2. Щелкните по кнопке Motion Flow - она станет активной (фиолетовой) - рис. 9.6.



Создание сценария потока движений начинается с активизации режима motion flow



Создание сценария потока движений начинается с активизации режима Motion Flow


3. Щелкните по кнопке Show Graph - она станет активной.

4. В окне Motion Flow Graph: Betty активизируйте кнопку Create Clip.

5. Создайте столько полей для отрезков, сколько нужно (для Betty создайте восемь) - рис. 9.7.



Сводим все вместе



СВОДИМ ВСЕ ВМЕСТЕ
Вы могли заметить, читая главу 8, что в кадре 0 поза не устанавливалась. При работе с захватом движения лучше всего преобразовывать данные в те движения, которые вам нужны, и сохранять их в отдельном файле формата В IP. В режиме Motion Flow можно связывать файлы, созданные в ходе этого процесса, начиная с кадра 0 или добавить их в сгруппированные отрезки движений в дальнейшем. В конце концов, когда все движения связаны друг с другом и необходимый набор анимаций завершен, нужно экспортировать движения и персонаж в формат, который сможет использовать игровой движок.










Теперь betty «плывет» в web-браузере



Теперь Betty «плывет» в Web-браузере


Чтобы поместить в игру такого персонажа, как Betty, нужно ввести все его анимации в список движений перед тем, как экспортировать персонаж. Помимо этого есть и другие возможности для настройки, например, выдвинутых костей (promoted bones) и создаваемых материалов WildTangent. Изучите работу экспортера WildTangent, посетите сайт www.wildtangent.com. где представлены более подробные руководства.

Экспортер WildTangent производит экспорт на Web-страницу, поэтому вы можете создать одну или несколько моделей, анимировать их, экспортировать и разделять их со всеми, кто может и хочет скачать WildTangent Web Driver.



Установка экспортеров WildTangent 3ds max



Установка экспортеров WildTangent 3ds max 4


Прежде чем устанавливать экспортер WildTangent, прочитайте раздел Known Issues файла Readme на компакт-диске, чтобы убедиться, что параметры вашей системы удовлетворяют требованиям.

Если проблем совместимости не должно возникнуть, закройте все программы, включая 3ds max. Откройте папку Demos\WT на компакт-диске и запустите файл установки wtwdinstFull. Пакет Web Driver компании WildTangent будет установлен на ваш компьютер. Эта программа позволяет запускать содержимое, созданное на патентованной платформе WildTangent.

Затем запустите файл WildTangentMax4Plugins, чтобы установить сам экспортер 3ds max. После этого снова запустите 3ds max. Откройте панель Utilities, щелкните по кнопке More (Еще), выделите в списке утилиту WildTangent Actors и нажмите кнопку ОК (рис. 9.24).

В окне export preferences определяется, куда попадут экспортируемые актеры



В окне Export Preferences определяется, куда попадут экспортируемые актеры


Когда появится предложение создать папку, нажмите кнопку ОК. Теперь каждый раз при экспорте актера в этой конкретной сцене 3ds max его файл окажется в определенной выше папке.



Второй отрезкок можно исправить, повернув все движения после первого отрезка на 40°



Второй отрезкок можно исправить, повернув все движения после первого отрезка на 40°


Очевидно, что параметры в окне переходов влияют на следующий отрезок движения в сценарии. Однако не забывайте, что все отрезки движений, которые в сценарии следуют за первым, повернуты на 40°, потому что ориентация каждого отрезка определяется по отношению к предыдущему.

Теперь нужно проверить другие отрезки движения и убедиться, что они ориентированы правильно. Чтобы перейти к следующему отрезку движения, не закрывая окно параметров перехода, снова щелкните по кнопке Next Transition in Script

Второй отрезок ориентирован неправильно



Второй отрезок ориентирован неправильно


Вернитесь в окно параметров перехода для первого отрезка движения в сценарии и в поле Angle введите значение 40 (рис. 9.16).



Загрузите файл betty06.max и выделите все объекты сетки betty



Загрузите файл Betty06.max и выделите все объекты сетки Betty



Загрузите отрезки движений в окне motion flow graph



Загрузите отрезки движений в окне Motion Flow Graph

betty_clip01; betty_bigshot; betty_kick; betty_death; betty_recovery; bettyjog; bettyjbackpedal; betty_specials.


9. Когда все движения будут загружены, обратите внимание на раздел Scripts (Сценарии).

10. Активизируйте кнопку Define Script, щелкнув по ней.

11. Выберите пункт Create new script (Создать новый сценарий) и нажмите кнопку ОК (рис. 9.10).



Без сомнения, ничто так не



Заключение

Без сомнения, ничто так не достойно вознаграждения, как анимация персонажей. В этой книге я давал советы, указывал тонкости, приводил инструкции в надежде, что вы сможете поверить в свою способность «оживить» персонажи. Программы 3ds max и character studio - отличные инструменты, и с каждой новой версией они становятся все лучше. Этот факт, а также рост мощности компьютеров и игровых приставок открывают новые горизонты анимации персонажей игр в реальном времени. Я не сомневаюсь, что в ближайшие пять лет мы увидим персонаж, состоящий из 10000 полигонов, невероятно быстро анимируемый, с тоннами пиротехники и других эффектов.

Вам же как аниматору персонажей нужно будет извлечь пользу из любого технологического нововведения, подчинить его своей творческой воле. Анимация персонажей всегда будет одной из самых сложных и наиболее вознаграждаемых форм компьютерной графики. Чтобы лучше ее освоить, нужно работать, экспериментировать тысячи часов. Какой бы инструмент вы ни использовали, над каким бы проектом ни работали, не останавливайтесь на достигнутом (если время позволяет). Ищите более интересную позу, динамичное, чистое движение. В каждом из нас заложена способность совершенствоваться.



Замкните отрезок движения, чтобы на него случайно не повлияли другие отрезки, добавленные позже



Замкните отрезок движения, чтобы на него случайно не повлияли другие отрезки, добавленные позже