Рассуждения: О команде PlayAnimation
#1
Повесть о playanimation ... гигантский размер и невероятная подробность Smile


@PlayAnimation (unit : object , anim : string)

Воспроизводит анимацию - движение частей тела и сопутствующие звуковые эффекты.

unit - юнит, который будет воспроизводить анимацию.
Где брать anim:
Сначала надо определиться с юнитом, который надо привести в движение. Потом в lmpdatabaseMapObjectsRaceModels.txt найти Name этого юнита. Теперь посмотрите, что стоит в колонке Mask name. Нам нужен файл с таким названием и расширением adb, он находится в resdatabase.res . Открываем этот файл блокнотом и видим среди мешанины значков некие связные элементы - это и есть anim'ы данного типа юнита.

Я проверял на примере орка-шамана:
Name = LMP Orc Male Tatoo
Mask name = unorma
Файл = resdatabase.resunorma.adb

Выковыренные оттуда anim'ы:
uattack01..09 - Атака различным оружием. Юнит машет "топором", натягивает "тетиву", тыкает "копьем".
udeath01..31 - Смерть. Падения вперед / назад / всторону, на бегу / на ходу / при ползании, с агонией / резко / медленно.
cidle01..09 - Оглядывание, переступание с ноги на ногу. То, что делает перс, когда долго стоит на месте.
ucast01..04 - Колдование. Эффектов типа шарика стихии не появляется, только движение тела.
uhit01..21 - Попадание по юниту. Также как и смерть, из любых положений.
crun01..02 - Бег. Под ногами появляются следы.
cwalk01..09 - Юнит идет, крадется. Есть анимации как бы раненой походки, усталой, хромой.
ccrawl01 - Юнит ползет.
ucross01..09 - Переходы между стоячим / крадущимся / лежачим положением юнита.
scross01..09 - Одна фаза шагания / ползания etc. Полный шаг, либо один рывок в сторону.
crest - Юнит садится отдыхать.
Кроме них, в "человеческом" файле unhuma.adb я нашел: (не проверял)
ubriefing## - Движения во время диалогов.
uspecial## - Отдает честь, кланяется, стоит по стойке смирно, etc.
cspecial## - Некие занятия наподобие точения меча, сидения на бревне, etc.

Первые буквы анимаций - указатели:
u - действие произойдет один раз, затем юнит вернется в исходное состояние
с - действие повторяется непрерывно, юнит не реагирует на указание другой анимации. Если в это время ударить юнит или показаться на глаза (враждебному), он не станет реагировать. Если замороженный анимацией объект бить, он будет отшатываться и потом снова выполнять заданную командой анимацию. Если убить, умрет как обычно и ляжет трупом.
s - аналогично u.

При вводе неправильного anim не происходит ничего.
Если юнит во время применения процедуры двигался, то он остановится, проиграет анимацию и потом пойдет дальше. (в случае анимации с буквой с он остановится навечно)

[ 22 апреля 2002: Изменил: Holy Warrior ]</p>
Ответ
#2
эти движения я как раз видел, имхо намного интереснее "хромые" и "усталые" походки.

я вот еще что заметил - после установки анимации "crest" оружие из рук пропадает...
Ответ
#3
Молодец. Хорошо написал.
Ответ
#4
Спасибо, Калбаска за помощь.
Я то-же добавлю к твоей повести. Вчера тоже побаловался.
Хотя добавить уже и нечего - практически исчерпывающе.
Второй параметр - это поле в группах юнитов
Поле36 в базе данных Сана или Mask Name у ниваловцев имя одного из файлов *.adb которые
находятся в DataBase.res. Т е юниты разбиты на группы и для каждой свои файлы анимации. В каждом
файле - ключевые слова - для забуска конкретной
анимации-это и есть второй параметр.

Есть движения которые в игре я не видел типа Зак
сидит в позе лотоса или на бревне...

Напр нам нужен Зак
Это- Human Male
Mask Name="unhuma"
Ответ
#5
КалбасКа & Co, сейчас это самая актуальная команда.
Вот здесь кажется ошибка
lmpdatabaseMapObjectsRaceModels.txt
нужно:
lmpdatabaseMapObjects MonstersPrototypes.txt
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)