Форумы Homeworld3.RU  

Go Back   Форумы Homeworld3.RU > Сделай сам! > Верфи близ Сарума [HW2 Modding]
Register Forum Rules FAQ Members List Calendar Today's Posts

Reply
 
Thread Tools
Quote
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
Old 08-20-2008, 05:40 AM   #2
Rusinoff
ЛейтенантЛейтенант
 
Rusinoff's Avatar
 
Join Date: Dec 2005
Location: Владивосток
Posts: 103
Re: Анимация (MAYA5.0.1)

Продолжаю дополнять урок по анимации. Выше, я говорил о принципе построения анимации. Последующие работы внесли коррективы, а именно. Маркер анимации, со своими "Set Key", включает в промежутке своей анимации, анимированные jointы с элементами модели. Опыты показали, что "Set Key" маркера должны совпадать с "Set Key" jointов. Другими словами номера кадров начало и конца анимации, как маркера так и jointов, должны быть идентичными. В моём примере: маркер "open" имеет номера ключевых кадров - начало 30, конец 100. Соответственно jointы (поднятия пушки и открытие торпедных аппаратов) имеют такие же номера кадров. Поднятие пушки 30 и 100, открытие торпед 30 и 100.
Rusinoff is offline   Reply With Quote
Old 08-29-2008, 09:15 AM   #3
Rusinoff
ЛейтенантЛейтенант
 
Rusinoff's Avatar
 
Join Date: Dec 2005
Location: Владивосток
Posts: 103
Re: Анимация (MAYA5.0.1)

Прошло ещё некоторое время и дальнейшие работы внесли следующие коррективы. При анимации элементов модели включающих в свой состав - оружие (анимация выдвижения орудийной башни), столкнулся с следующим правилом. Анимация HW2 анимирует только один joint, последующие jointы в иерархии под ним, не анимируются!! Поясняю: орудие с башней и стволами выезжают,а вот скелет орудия остаётся на месте. Выход из этого положения следующий, перед загоном модели в hod, изменяем расположение скелета и элементов орудия. Скелет выставляем в положение "огневая позиция", а элементы в положение "башня задвинута".

Как видно из скрина, Muzzle находится выше ствола. В этом состоянии и загоняем в hod. А затем, анимируем выезд орудийной башни и загоняем в Mad. Получается примерно такая картина.
Rusinoff is offline   Reply With Quote
Old 09-03-2008, 01:34 PM   #4
Rusinoff
ЛейтенантЛейтенант
 
Rusinoff's Avatar
 
Join Date: Dec 2005
Location: Владивосток
Posts: 103
Re: Анимация (MAYA5.0.1)

Даю примерный показ полученной анимации. Это Gif рисунок, весит 4,5 Мб. ( Решайти сами, качать или нет )
http://i254.photobucket.com/albums/h...ranic/Fire.gif
Один минус - не могу найти величину регулирования отката орудия, после выстрела.
Rusinoff is offline   Reply With Quote
Old 09-03-2008, 05:53 PM   #5
Prisoner
Контр-адмиралПрайд
 
Prisoner's Avatar
 
Faction:
Хиигаряне

Join Date: Jul 2008
Location: город герой Киев
Posts: 559
Re: Анимация (MAYA5.0.1)

точно не скажу но помоему я видел это в скриптах. Если найду то положу сюда
Prisoner is offline   Reply With Quote
Old 09-03-2008, 06:31 PM   #6
Pandorazero
Адмирал флотаHigara 15th Fleet
 
Pandorazero's Avatar
 
Faction:
Хиигаряне

Join Date: Mar 2007
Location: Киев
Posts: 1,427
Re: Анимация (MAYA5.0.1)

А по моему одача ствола это тоже анимация , по скольку я пробовал разные орудия и у них все разные одачи а настройки практически одинаковы !
Pandorazero is offline   Reply With Quote
Old 09-03-2008, 08:12 PM   #7
Prisoner
Контр-адмиралПрайд
 
Prisoner's Avatar
 
Faction:
Хиигаряне

Join Date: Jul 2008
Location: город герой Киев
Posts: 559
Re: Анимация (MAYA5.0.1)

а если про это.
Но в скрипте видел настройку силы отдачи.
Prisoner is offline   Reply With Quote
Old 09-03-2008, 11:05 PM   #8
Pandorazero
Адмирал флотаHigara 15th Fleet
 
Pandorazero's Avatar
 
Faction:
Хиигаряне

Join Date: Mar 2007
Location: Киев
Posts: 1,427
Восклицание Re: Анимация (MAYA5.0.1)

Quote:
Originally Posted by Prisoner View Post
а если про это.
Но в скрипте видел настройку силы отдачи.
Тогда ждём скрип команду от тебя Кинь сюда !
Pandorazero is offline   Reply With Quote
Old 09-04-2008, 04:57 PM   #9
Prisoner
Контр-адмиралПрайд
 
Prisoner's Avatar
 
Faction:
Хиигаряне

Join Date: Jul 2008
Location: город герой Киев
Posts: 559
Re: Анимация (MAYA5.0.1)

и вот цитата Тена
Есть такая функция – setMiscValues(NewWeaponType, <fRecoilDistance>, <fSlaveFireDelay>), она-то и определяет силу отдачи и задержку между залпами ведомых (slave) стволов орудия. Функция вызывается в .wepn-файле. Аргументы:

1. <fRecoilDistance> - длина хода отдачи орудия (в метрах) после залпа.
2. <fSlaveFireDelay> - задержка (в секундах) между залпами стволов орудия.

setMiscValues(NewWeaponType, 4, 0.6);

addAnimTurretSound(NewWeaponType, "Data:Sound/SFX/ETG/SPECIAL/SPECIAL_ABILITIES_TURRET_ON");

сразу с примером
заодно и с озвучкой

но это вро де как настройка, а в принципе выходит сама анимация должна гдето еще делатся - этого я не знаю в 3д моделинге не разбираюсь.
но все равно раз обещал то ...

-------через 2 часа--------

отдача должна по моему быть как у кушанских кораблей т.к. у них нет видимых стволов, а отдача по моему всей у башни.

Last edited by Prisoner : 09-04-2008 at 07:49 PM.
Prisoner is offline   Reply With Quote
Old 01-16-2009, 01:30 PM   #10
Rusinoff
ЛейтенантЛейтенант
 
Rusinoff's Avatar
 
Join Date: Dec 2005
Location: Владивосток
Posts: 103
Re: Анимация (MAYA5.0.1)

Решил опубликовать , потому как устал наступать на грабли. В скрипте файла .madstate название корабля прописывается заглавными буквами.

P.S. Если бы вы знали, сколько раз я подловился на этом приколе!
Rusinoff is offline   Reply With Quote
Old 06-30-2009, 03:32 PM   #11
Prisoner
Контр-адмиралПрайд
 
Prisoner's Avatar
 
Faction:
Хиигаряне

Join Date: Jul 2008
Location: город герой Киев
Posts: 559
Re: Анимация (MAYA5.0.1)

2 Rusinoff а можно ли сделать анимацию нескольких частей корабля не одной только гига пушки,а нескольких пушек, пары торпедных апаратов, и возможно еще чегото.так чтобы при "красном коде", переходе в режим атаки эти части открывались в разные стороны.
как я понял из описания выше, они должны находится под разными джонтами в иерархии,которые и будут двигатся в разные стороны.
можно ли так сделать?
Prisoner is offline   Reply With Quote
Old 07-01-2009, 03:56 PM   #12
Rusinoff
ЛейтенантЛейтенант
 
Rusinoff's Avatar
 
Join Date: Dec 2005
Location: Владивосток
Posts: 103
Анимация (MAYA5.0.1)

Быстрый ответ - да, можно. А теперь попробую обьяснить.
Использую рисунок "TimeLine" из Майки, где нанесены ключевые кадры.

Вся анимация находиться в .mad файле, а файл.madstate - своего рода пояснительная инструкция. В .madstate, мы увидим названия (Имя) анимаций, которые отвечают за переходы модели в различные режимы состояния (из пассивного в агрессивный и наоборот). В Майке это имя несёт маркер "nulljoint", он анимирован, т.е. имеет свои 2 ключевых кадра.( Своего рода зарубки, мол показать - от сих и до сих.)
На рисунке: анимация перехода в агрессивный режим растянута с 20го кадра по 112й. Здесь что то вроде иерархии, маркер "nulljoint" запустит только те анимации, которые входят в интервал его ключевых кадров. На рисунке видны две анимации орудий, которые входят в интервал маркера. Орудие 1 - это джоинт, на котором висит стафф орудия (башня, стволы и т.д.) Орудие 2 - это другой джоинт, на котором висит стафф другого орудия. Особо важно, что бы крайние кадры маркера и анимаций орудий, совподали!!(пост#2) Колличество анимаций орудий, либо другого стаффа под маркером - неограничено.
Ну и собственно, ответ на твой вопрос, анимация твоих разных джоинтов, которые будут двигаться в разные стороны, должна быть строго в интервале анимации маркера.
P.S. Кстати, Executor при переходе в агрессивный режим, поднимает не только гигаорудие, но и открывает торпедные люки. А это две анимации.

Last edited by Rusinoff : 07-01-2009 at 04:35 PM.
Rusinoff is offline   Reply With Quote
Old 02-18-2010, 07:49 PM   #13
Prisoner
Контр-адмиралПрайд
 
Prisoner's Avatar
 
Faction:
Хиигаряне

Join Date: Jul 2008
Location: город герой Киев
Posts: 559
Re: Анимация (MAYA5.0.1)

незнаю писали ли об этом до меня.
думал еще написать в "установке и настройке"
но так как эта тема касается анимации, то
в майке 5.0 нажатие на кнопку "матей" приводит к фатальному вылету
в майке 5.0.1 работает
при том что пять.нулевая позволят делать абсолютно рабочие ходы

пс интерисует меня еще одно: можно ли експортировать анимированые ходы через 5.0, тоесть 5.0.1 влияет только на возможность делать анимацию, или еще и на е экспорт.
Prisoner is offline   Reply With Quote
Old 02-21-2010, 03:07 PM   #14
Rusinoff
ЛейтенантЛейтенант
 
Rusinoff's Avatar
 
Join Date: Dec 2005
Location: Владивосток
Posts: 103
Re: Анимация (MAYA5.0.1)

То, что пятёрка не делала только анимацию, известно давно. Вот только, мне не понятно, экспортировать в пятёрке анимированные ходы. Это как? Когда-то я пытался делать анимацию в 5.0 (расстановка ключевых кадров), безрезультатно. Затем позже, когда я разжился версией 5.0.1 , эти же корабли(с этой же расстановкой) прекрасно прошли в аним.ход.
Rusinoff is offline   Reply With Quote
Old 02-21-2010, 09:47 PM   #15
Prisoner
Контр-адмиралПрайд
 
Prisoner's Avatar
 
Faction:
Хиигаряне

Join Date: Jul 2008
Location: город герой Киев
Posts: 559
Re: Анимация (MAYA5.0.1)

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

но суть в чем, кадры я настроил. в окошке кор махал ушами. но только я нажимал матей как майя нафиг вылетала.
после смены версии, я открыл туже самую сцену и без изменений ее експортнул. все заработало без единого глюка.
Prisoner is offline   Reply With Quote
Old 02-21-2010, 10:24 PM   #16
AndrewN
Вице-адмиралВице-адмирал
 
Faction:
Таииданская Империя

Join Date: Mar 2007
Location: Имперские Верфи
Posts: 786
Re: Анимация (MAYA5.0.1)

Еще Дрон01 где-то здесь говорил, что 5.0 некорректно экспортирует в .mad и поэтому нужна 5.0.1.
AndrewN is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +3. The time now is 05:24 PM.

Page generated: 0.146 seconds (87.09% - PHP and 12.91% - MySQL), 11 queries total