View Single Post
Old 08-17-2008, 10:49 AM   #1
Rusinoff
ЛейтенантЛейтенант
 
Rusinoff's Avatar
 
Join Date: Dec 2005
Location: Владивосток
Posts: 103
Анимация (MAYA5.0.1)

Ну вот, и дошли руки до долгожданной темы. Опустим слова предисловия, перейдём сразу к теме!
В наличии - Майя версии 5.0.1, готовая модель. Модель должна быть проверена на компиляцию в .hod файл, соответственно проверена в игре. Полностью настроена по скриптам. Другими словами, должна летать, стрелять, строить и т.д. В моём случае, для примера, модель "hgn_Executor".
Задача: сделать выдвигающееся гигаорудие. Примером послужил vgr_heavymissilefrigate, здесь перед стрельбой, открываются торпедные люки. И наоборот, после стрельбы закрываются. Использую скриптовый файл анимации vgr_heavymissilefrigate.madstate.
Немного теории: суть анимации в HW2 - это создание маркеров анимации. Маркеры имеют только два "Set Key" - начало анимации и конец анимации. По этим маркерам и запускается нужная анимация исходя из хода игры. Будь-то атака, выдвигаются орудия, открываются боевые люки и т.д. или отмена атаки - боевые системы приводятся в исходное состояние. В промежутке между этими "Set Key", мы создаём анимацию непосредственно на модели. Элементы модели, которые будут анимированы, ставим в иерархию под joint. Непосредственно этот joint мы и анимируем, т.е. создаём его личные "Set Key". Получается, мы имеем маркер анимации со своими"Set Key", а в промежутке между ними находяться joint с анимированными элементами модели и уже со своими "Set Key". Вот тут и определилась суть создания анимации. Нужно сразу спланировать расположение анимации, по её типу (аним. "подготовка к атаке""CodeRed" и аним.''отбой атаки""CodeGreen") на "Time Slider".
Шаг 1
Берём модель и создаём joint (обзываем как хотим), к которому привешиваем, в моём случае, орудие с лафетом. Получили элементы, которые будут анимированы, в иерархии за joint (Gigaturret).

Этот joint подвешиваем под Root модели. Всё - модель компилируем в .hod. Здесь анимация не нужна, да и присутствие её ни как не сказывается на процесс компиляции.

Шаг 2
Начинаем создавать анимацию jointа. Выделяем joint (Gigaturret). Определяем его исходную позицию, другими словами подгоняем. На "Time Slider" выставляем номер кадра, с которого начнётся анимация. У меня 30. И создаём "Set Key" путём - Animate-> Set Key (не забываем Майя в режиме Animation). На "Time Slider" появилась красная полоска первого контрольного кадра "Set Key". Выставляем номер следующего "Set Key", у меня 100. Только после этого joint (Gigaturret) выставляем в боевое положение, т.е. передвигаем в конечное положение орудие, при котором ведётся огонь. Создаём второй "Set Key" путём - Animate-> Set Key. Как видно из скрина joint (Gigaturret) в Hipergraph изменил форму. Создали анимацию выход орудия в боевое положение.

Теперь создаём анимацию - отбой боевого положения. По такому же принципу, создаём другие "Set Key" для этого же joint (Gigaturret). У меня 101й кадр (начало) и 171 (конец). Орудие спрятолось. И здесь, на этом этапе, мы можем загнать модель в .hod
Шаг 3
Создаём маркеры анимации. Открываю Hipergraph , создаю nulljoint, путём Ctrl+G. На Shelf от Relic кликаю мордашку "Matey". Выделяю созданный nulljoint и в окне "Matey" жму на кнопку "Marker".

Переименовываю nulljoint в "open". Создаю его "Set Key". Так как орудие выходит в диапазоне от 30 до 100, то эти кадры и будут "Set Key". Как это сделать описывалось выше. Создаю маркер "close" - 101 и 171.

Всё это добро загоняю в .mad Взял скриптовый файл vgr_heavymissilefrigate.madstate и поменял в нём названия на hgn_Executor. У меня всё заработало!
P.S. Опыта в создании таких обьёмных уроков у меня мало, так что сильно не ругать!! Могут быть ошибки.
Rusinoff is offline   Reply With Quote