анимация статичных зданий в варкрафте

Подскажите пожалуйста как сделать анимацию предметов в Warcraft?
Для героев и зданий — та же техника анимации?

#1
16:27, 16 Oct 2007

Для юнитов — точно морфинг.
А вот здания. Ну я бы сделал частично через Object Transform, а ткань через Morphing.
Скорее всего, близарды не заморачивались и делали все через Морфинг.
как это делается в Warcraft, можете погуглить, думаю есть плагины для работы с варкрафтовскими моделями.

#2
16:39, 16 Oct 2007
#3
16:46, 16 октября 2007 г
#4
16:49, 16 Oct 2007
#5
19:06, 16 октября 2007 г

Если вы никогда не работали с анимацией, я рекомендую для анимации твердых объектов (автомобили, здания и т.д.).).д.) использовать Object Transform. Самая быстрая анимация из возможных. Совершенно неприменимо к мягким телам (тканям, например). Ткань уже морфирует.
По-прежнему остается скелетная анимация, самая медленная из всех анимаций, рационально применять ее к персонажам для оживления.

Как сделать анимацию в Редакторе карт Warcraft 3


В XProger есть примеры для экспорта и работы со всеми тремя типами анимации. За что ему огромное спасибо. 🙂

#6
19:49, 16 октября 2007
#7
20:29, 16 октября 2007

Hmmm. Каждый кубик должен быть интерполирован кватернионами, а затем каждая вершина должна быть также ассигнована кубику. В то время как в морфинге линейная интерполяция и операции только над каждой вершиной.

Это:
Skined Mesh:
Интерполяция смещения и вращения каждой кости
Умножение каждой вершины на матрицу кубиков

Морфинг:
Линейная интерполяция смещения каждой вершины

Я что-то не понимаю в этом мире?

#8
20:52, 16 октября 2007
#9
21:08, 16 октября 2007 г

Хорошо проведите свои примеры, я не думаю, что скелет будет показывать меньше fps, чем морфинг. Так что вам придется самим разбираться, что выгоднее, а что нет.

#10
21:15, 16 Oct 2007

в DOOM 3, например, скелет считается на проце, поэтому на слабых процах тромоз заметен. Я не знаю, почему это так, но это факт. Возможно из-за большого количества костей в скелете (около 100 на нормальном меше).
Если трансформация происходит в шейдере, то производительность отличная, но ограничение на количество костей.
У меня эта цифра не более 30, что конечно мало. Но при умелом подходе моделлера можно сделать что-то стоящее даже с 30 костями.

#11
21:31, 16 Oct 2007

Народ. Да, определенно скелет на GPU считается быстрее чем на CPU.
Однако, мой тезис был: «Скелет медленнее, чем морфинг.».
Вы делаете морфинг на GPU и получаете более высокую скорость, чем если бы вы делали ту же анимацию через скелет и шейдеры.
И если сравнить морфинг на CPU и скелетон на GPU, то скелетон, скорее всего, не проиграет, а даже выиграет.
Как говорится, «не путайте кислое с длинным.»C) Матрица

#12
21:32, 16 октября 2007 г

Blew_zc

смешной обзор WARCRAFT 3 | Анимация Мульт-обзор Варкрафт 3


>В DOOM 3 например скелет рассчитывается на прок, в связи с этим на слабый прок
>тромосомы заметны. Не знаю почему, но это факт. Возможно, это большая
> количество костей в скелете (около 100 на обычном меше).

Там напряженные тени были. Поэтому на cpu.

#13
22:06, 16 октября 2007

XIRMAC
>Blew_zc
>>В DOOM 3 например скелет рассчитывается на проце, в связи с этим на слабых процах
>>тромосы заметны. Не знаю почему, но это факт. Возможно, из-за большого
>>количество костей в скелете (около 100 на нормальном меше).
>Теперь были напряженные тени. Поэтому на tspu.

а что мешает получить данные, которые считал шейдер? Я думаю, что это возможно сделать с VBO. Я никогда не пробовал.

#14
22:26, 16 октября 2007

Источник: gamedev.ru

Варкрафт как сделать анимацию

Обычно статичные или зацикленные движения персонажей. Используется через команду:

.мод «standstate x -,где x анимационный номер.

Что будет останавливать эмоции, вместо x тип 0

Существуют различные проги облегчающие использование анимации (Об одной из них я расскажу ниже), но я делаю это вручную следующим образом:

1) Первым делом открываем чат. Здесь мы напишем наш код для активации анимации.

2) Комбинация клавиш Ctrl + V вставить код.

3) Делаем ретрик (нажимаем пробел) и пишем анимацию по нашему выбору. В данном случае это анимация 472.

Должна получиться строка следующего вида, после чего смело нажимаем клавишу Введите.

4) Давайте полюбуемся красивой анимацией в действии

Второй вариант (Для тех, кто ленится или экономит свое время): Если вам не нравится использовать анимацию вручную, вы можете воспользоваться этим аддоном rp-wow.ru/launcher/Interface/AddOns/EasyEmote.zip (кидаем папку из архива в Darkmoon/Interface/AddOns). В самой игре у вас появится окно со списком анимаций. Вам нужно просто щелкнуть мышью на выбранной анимации, и она немедленно начнет воспроизводиться.

Для быстрого и удобного поиска анимаций рядом с их объяснениями стоят опознавательные знаки.

(Р) — Профессиональная анимация

(А) — Атакующая анимация

(С) — управление на игроке

(М) — Магия / произнести заклинание

(P) — Получение урона

Анимация смерти (статичная, человек лежит мертвый).

Эмоции:

В основном это одни и те же сценарии, представленные на языках ru и en. Некоторые из них, например /calendar — открыть календарь. (неожиданно, не правда ли :D).

Эмоции также могут быть направлены на других игроков и пришельцев. Пример:

1) Просто напишите команду в чате и отправьте сообщение

2) Получаем аналогичный результат. Мы не увидим ничего, кроме отписки в чате

3) Для эксперимента перейдем к быку, он же таурен. Мы получаем следующий результат:

Список 1. Английский

/mad /angry — размахивать кулаком в гневе

/sorry /apologize — извиняться. Sorry!

/applause /applaud. Браво!

/beckon — вызывать жестом

beg — смотреть с умилением. Выглядит жалко.

/burp /belch — грубо рыгать в лицо

/кусать. О!

/blood /bleed — ваши раны кровоточат

/kiss /blow — послать поцелуй

/ румянец. покраснеть.

/boggle — таращиться в изумлении

/doh /bonk — ударить по голове. Boom!

/bored. Разговорный утомляет основательно

/bounce — подпрыгивать на месте.

/brb — показать, что вы скоро вернетесь

/goodbye /farewell /bye. До свидания!

/cackle — глупо смеяться

/calm — попытаться успокоиться

/scratch /catty /cat. Как котенок!

Читайте также:  Варкрафт 2 как установить

/cheer — радоваться успеху

/strut /flap /chicken — махать руками и ходить вокругчика, чика, чика!

/giggle /chuckle

/clap — восторженно аплодировать

/cold — показать, что вам холодно

/commend — похвала за хорошо выполненную работу

/confused — выглядеть озадаченным

/cough — кашлять, чтобы привлечь внимание

/бояться /cower — дрожать от страха

/knuckles /crack

/cringe — отпрянуть в страхе

/spoon /caddle — обниматься

/curious — интересно, что будет сделано

/curtsey — реверанс

/хмуриться/разочаровываться

/wrath /threaten /threat /doom — пророчить небесную кару

/shindig /drink. ура!

/drool — скривиться, глядя на..

/duck — прятаться

/feast /eat — есть

/stare /eye — смирять взглядом

/fart — теретьсяи громко задыхаться

/impatient /fidget — нервничать, ждать

/strong /flex — играть мускулами. Какая сила!

/голодный/пища. Может быть съесть что-нибудь

/gaze — смотреть

/glad — быть очень довольным

/glare — бросить сердитый взгляд

/gloat — злорадствовать по поводу неудачи

/greetings /greet — приветствовать

/grin — злобно ухмыляться

/groan — смотретьи стонать

/peon /grovel — ползать перед как услужливый слуга

/guffaw — смотреть наи смеяться

/happy — быть очень довольным

/hi /hello — приветствовать от всего сердца

/hug — крепко обнять

/jk — показать, что это просто шутка

/kneel / преклонить колени

/похвалить /славить

/lay — ложиться /laydown — ложиться

/lie /liedown — лгать

/лик. Lick

/слушать

/massage — растирать плечи

/moan — приглашающе стонать

/mock — смеяться над глупостью

/moon — снять штаны и показать задницу

/mourn — оплакивать в глубоком молчании

/no — нет! Этого не произойдет!

/pick /nosepick — ковырять в носу

/peer — пялиться

/shoo /pest. Проваливай, ублюдок!

/point — указывать..

/poke — отпихивать в сторону. Эй!

/размышлять

/pounce — бросаться на..

/pray — молиться

/puzzled — быть озадаченным поведением

/raise — смотретьи поднять руку

/rdy — показать, что вы готовы

/rear — вилять задницей перед кем-то

/roar — рычать в ярости. Это ярость!

/rude — делать непристойный жест

/salute — приветствовать

/sexy — думать, что..

/шимми танец впереди

/shiver/ дрожать от холода

/shrug — пожать плечами. Кто знает?

/shy — застенчиво улыбаться

/slap — ударить по лицу. Oh!

/ вонять / нюхать — нюхать. Ooh, that stinks?

/smirk — ухмыляться

/snarl — ухмыляться и огрызаться

/snicker — задыхаться от смеха

/ сдаться. Горечь поражения тяжела!

/talk — обсуждать дела

/talkex — возбужденно говорить

/tap — топать ногой в предвкушении

/taunt — насмешливо дразнить

/thank /thanks

/thirsty — жаждущий. дать мне глоток?

/tickle — щекотать. Hee-hee.

/tired — показать, что вы устали

/veto — запретить двигаться

/victory — упиваться славой

/volunteer — смотрите и поднимаете руку

/волна

/приветствие — не стоит благодарности

/whine — жалобно скулить

/wicked /wickedly

/work — работать с..

/yawn — лениво зевать

/yay — быть очень довольным

/absence — Вы кажетесь растерянным.

/agree — вы соглашаетесь

/ восхищаться тобой!

/ сердиться — вы в гневе сжимаете кулак

/apologize — ВЫ извиняетесь перед всеми.Извините!

/ applaud — вы аплодируете.Браво!

/ Shoulders — Вы расправляете плечи /.

/attackaceli — вы приказываете всем атаковать.

/ вздрогнуть — вы в ужасе оглядываетесь по сторонам.

/backpack — вы роетесь в своем рюкзаке.

/ bad — вы не думаете, что все закончится хорошо /.

/ гав — вы лаете. Woof — гав!

/ застенчивый — вы краснеете.

/twist — вы жестом подзываете всех к себе.

/ beg — вы смотрите на других умоляющими глазами.Выглядит жалко.

/ отрыжка — вы громко рыгаете.

/ укусить — вы ищете, кого бы укусить

/ обвинять — вы заявляете, что во всем виноваты вы сами.

/ Stare — Вы бессмысленно таращитесь по сторонам.

/ кровотечение — ваши раны кровоточат.

/blink — вы моргаете

/поцелуй — вы посылаете воздушный поцелуй.

/краска — вы обливаетесь краской/.

/ отшатнуться — вы не знаете, что делать в этой ситуации

* Шлепок — вы бьетесь головой. Bummm!

/ skook — Вам скучно до умопомрачения. какая тяга!

/jump — вы подпрыгиваете на месте.

/ bowing — вы изящно кланяетесь.

/ swing — вы яростно размахиваете своим оружием.

/brbrb — Вы даете всем понять, что скоро вернетесь.

/дышать — вы делаете глубокий вдох.

/brow — вы вопросительно поднимаете бровь.

# Bye # # Вы машете всем #. Goodbye!

/смех — вы смеетесь вслух.

* Успокойся * * Ты сохраняешь спокойствие *.

/ Cat — Вы царапаетесь. Почувствуй себя лучше!

/calling out — вы бросаете вызов всем вокруг вас. Go!

/ attack — атаковать — вы переходите в атаку.

/charm — Вы призываете на помощь все свое обаяние.

/радоваться — вы очень счастливы/!

/ chew — вы начинаете есть.

/ chuckle — вы искренне смеетесь.

/donna — вы осушаете свою кружку одним глотком.

/cold — Ты показываешь всем, что тебе холодно.

/ утешение — вы нуждаетесь в утешении /.

/похвала — вы благодарите всех за хорошо выполненную работу.

/ смущаясь, вы застенчиво улыбаетесь /.

/поздравить — Вы поздравляете всех вокруг себя.

/кашель — вы кашляете непроизвольным кашлем.

# Your ears — вы закрываете уши.

/ дрожать — вы дрожите от страха.

* хрустеть, ты хрустишь костяшками пальцев *.

/поклон — вы сжимаетесь в страхе.

/накрест — вы скрещиваете руки.

/плакать — вы плачете.

/cuddle — обнимать — вы хотите, чтобы вас обнимали.

/Curiosity — вы проявляете любопытство.

/танцевать — вы танцуете.

/ jingle — Вы достигли нового уровня.ZING!

/не соглашаться — Вы не соглашаетесь.

/разочароваться — вы хмуритесь/.

/кара — ты пророчишь кару небесную/.

/doubt — вы сомневаетесь, что ситуация сложится в вашу пользу.

/drink — вы поднимаете свою чашку. Аплодисменты!

/drool — струйка слюны капает с ваших губ.

/to cover — вы ищете укрытие.

/e — эмоция от вашего прозвища.

# To eat # # You start to eat #.

/ смущение / вы вспыхиваете от смущения

/ cheer up — вы подбадриваете всех вокруг себя.

/враг — вы предупреждаете всех, что враг близко.

/ to liven up — вы возбужденно разговариваете со всеми вокруг.

/глаза — ваши глаза выскакивают из головы/.

/Brow — вы вопросительно поднимаете бровь.

/ закатывать глаза / Вы закатываете глаза.

Читайте также:  Что такое пати варкрафт 3

/hiding face — вы прячете лицо в ладонях

/обморок — вы падаете в обморок.

/прощаться — вы машете рукой на прощание. До свидания!

/ fart / you’re farting. Eww что это за запах??

/ feast — вы начинаете есть.

/ to fidget / you’re fidgeting.

# Кулак — ты трясешь кулаком.

/run/ Вы кричите, чтобы все убегали!

/muscles — вы играете со своими мышцами.Это сила!

/ флирт / вы флиртуете /.

/ суетиться / вы суетитесь беспомощно /

/Примите поклон — вы жестом призываете всех следовать за вами.

# Голодный ты голодный #.

/ gaze — вы смотрите куда-то вдаль.

/ giggling / Вы хихикаете.

/Hunger — Ты голоден

/удовлетворенный /вы переполнены счастьем!

/rath — вы бросаете гневный взгляд

/ злорадство — вы злорадствуете над общей неудачей.

/ angry — вы злобно смотрите на всех вокруг себя.

/ иди — ты говоришь всем идти.

/шпора/ Тебе пора.

/ равнодушно — вы вяло аплодируете.

/прощай — вы машете всем.До свидания!

/hello — Вы сердечно здороваетесь со всеми!

/ здравствуйте — вы тепло приветствуете всех вокруг себя.

/smirk — Вы злобно ухмыляетесь

/ стонешь — начинаешь стонать / стонешь.

/ Ты ползаешь на брюхе в полной покорности

/ growl — вы угрожающе рычите.

/ Laugh — вы громко гогочете!

/ Приветствие — вы приветствуете всех.

/happiness — вы переполнены счастьем!

# мигрень # # у вас болит голова #.

/ исцелить — вы призываете целителя!

/ помощь!

/hiccup- Вы громко икаете.

/dip-five — вы поднимаете руку в дружеском приветствии.

/sniff — вы шипите на окружающих.

/надоку — вы хотите взять кого-то за руку.

/ остановитесь — вы протестуете!

/ кричать — вы кричите.

/обнимать — вы хотите, чтобы вас обняли.

/ голод — вы голодны!

/ спешить — вы стараетесь не отставать.

/ идея — у вас есть идея!

/ are coming — вы кричите, что враги приближаются!

/sentence — вы считаете всех вокруг себя отродьем пьяного орка.

/представиться — вы представляетесь/.

/Jealousy — вы завидуете всем вокруг.

/ шутить — вы просто шутите!

/Smack — вы посылаете воздушный поцелуй.

/ knees — вы преклоняете колени.

# Crunch — вы хрустите костяшками пальцев #.

/laughing — вы смеетесь.

/слава/ — Вы восхваляете Свет.

/ ложись / ты ложись.

/ лизать — вы лижете.

/ listen — вы слушаете.

/ смотреть — вы смотрите по сторонам.

/ Bewilderment — вы в полной растерянности.

/любовь — вы чувствуете любовь.

# Good luck — вы желаете удачи окружающим.

/гнев — вы поднимаете кулак в гневе/.

/Mock — Вы смеетесь над жизнью и всем, что с ней связано.

# Naked-ass — вы снимаете штаны и показываете всем свою задницу #.

/ скорбь — В глубоком молчании вы скорбите о павших.

/ MURMURING — Вы сердито бормочете себе под нос.Hmmmmm!

/Вы тревожно оглядываетесь по сторонам.

/Нет — вы говорите: «Нет!»

/ nod — вы киваете.

/ pick your nose — Вы проводите время, ковыряясь в носу.

/protest — вы ПРОТЕСТУЕТЕ!

/ предложение — вы хотите внести предложения.

/♪ ты говоришь, что у тебя заканчивается мана ♪!

/fire — вы приказываете открыть огонь.

/ rummage — вы роетесь в своем рюкзаке.

/ паника — вы бегаете кругами в панике

# вы хотите, чтобы вас погладили #.

/смотрите внимательно/ Вы внимательно оглядываетесь по сторонам.

/ bend — вы отгоняете неприятных существ.

/stroke — вам нужна ласка

# pinch, you pinch yourself #.

/жалость — вы жалеете тех, кто рядом с вами.

/ отчаяние — вы падаете на колени в отчаянной мольбе.

/ точка — вы указываете в ту сторону.

# тыкать вас в живот и хихикать #.

/ думать — вы обдумываете ситуацию.

/ до дрожи / ты выпрыгиваешь из тени /.

/ дуться — вы дуетесь на всех вокруг.

/ молиться — Вы молитесь богам.

/ pride — вы гордитесь собой.

/ Пульс — вы проверяете свой пульс. Никуда не денется.

/toumac — ты ударил себя.

/murr — вы мурлычете, как котенок.

/ puzzled — вы озадачены. Что здесь происходит?

/ рука — вы поднимаете руку.

/жест — вы делаете неприличный жест.

/drrr — вы яростно рычите/.какая ярость!

/Готовность — вы показываете всем, что вы готовы!

# назад # # ты отступаешь #. / сожалеть — вас переполняет сожаление.

/ назад — вы кричите, чтобы все убежали!

/ Месть / Вы даете обет мести /.

/ROFL — вы катаетесь по полу от смеха.

# глаза вверх # # ты закатываешь глаза #.

/Squawk — Ты ерошишь волосы /Squawk — Ты ерошишь волосы.

/ dejection — вы удрученно повесили голову.

/ честь — вы стоите во внимании и отдаете честь.

/ насмешка / вы хихикаете /

/ ругать — вы отказываетесь от себя.

/царапина / вы царапаетесь. Почувствуйте себя лучше!

/dance — вы танцуете перед толпой.

# Тост Вы поднимаете кубок. аплодисменты!

* Дрожь * * Вы дрожите от холода. Холод!

/ не знаю — вы пожимаете плечами. Кто знает??

# дрожишь # # ты дрожишь #.

# Вы говорите всем заткнуться #. Шшш!

/ смущение — вы застенчиво улыбаетесь.

/вздох — вы испускаете долгий, усталый вздох

/signal — вы подаете сигнал.

/ анекдот — Вы рассказываете анекдот.

/song /вы поете/.

/slap — ударить себя по лицу! О!

/сп — вы засыпаете. Грррр..

/Squawk — Ты ухмыляешься и рычишь.

/ фыркать — вы беззвучно задыхаетесь от смеха.

/♪ нюхайте, вы нюхаете воздух ♪

/Вы презрительно разговариваете с окружающими вас плебеями

/ плакать / вы плачете

/утешить — вы нуждаетесь в утешении.

/ простить — вы просите у всех прощения. Извините!

/плевок/ Вы плюнули на землю.

# Ласки вы хотите ласки; #17.

# Вонь, что ты нюхаешь воздух. Кому это воняет?

/Неверие/ Вы в полном недоумении/.

/ surrender — вы сдаетесь на милость победителей.

/вопрос/ — вы хотите узнать смысл жизни.

/top — Вы топаете ногой. Ну, быстрее, чем это!

/drop — вы всех дразните. Ну же, дураки!

/ дразнить — ты такой вредный!

/ Спасибо — вы благодарите всех.

/ жажда — вы так хотите пить. Никто не даст ни глотка?

/щекотать — вы хотите, чтобы вас щекотали. Хи-хи!

/усталость — вы показываете всем, что вы устали.

/ перемирие — Вы предлагаете перемирие.

/sps — вы благодарите всех.

/win — вы жаждете победы.

/скрипка — Вы начинаете играть на маленькой скрипке.

Читайте также:  Когда выходит варкрафт рефордж

/wait — вы просите всех подождать.

/dangerous — вы предупреждаете всех.

/wave — вы машете рукой.

/nzch — Ты был рад помочь.

/ whine — вы жалобно скулите.

/ wink — вы лукаво подмигиваете.

/ очарование — вы очень счастливы!

/работа — начинаешь работать.

/sigh — Вы сонно зеваете.

/ ура — вы вне себя от радости!

Автор списков — Xeroxata.

Источник: rp-wow.ru

Как воспроизвести анимации типа Стойка-2, Заклинание-4

В кинематике часто используется команда trigger, чтобы сделать действие более реалистичным
Анимация игровых юнитов.
Например, если персонаж по сюжету должен прыгать от радости, а он вместо этого стоит на месте, это будет выглядеть как-то неестественно. Лучшим выходом в этом случае будет воспроизведение анимации прыжка. Например, прыжок Повелителя Ужаса (Дридлорда) — анимация Стенд-3. И вот здесь возникает проблема. Оказывается, команда play animation работает сразу с группой анимаций.

Т.е. при попытке играть не Стенд, а Стенд 2, Стенд 3 или Стенд 4 результат будет непредсказуемым. Скорее всего, будет воспроизведена обычная анимация Стоять (он же — Стоять 1) или вообще ничего не будет играть.
В случае с повелителем террора проблема решаема — просто используйте Вариматаса для кинематики — у него есть анимация прыжка Заклинание третье, что играет без проблем.
Но в любом случае, жаль, что большинство анимаций юнитов оказываются недоступными для триггера. Особенно обидно, когда импортируешь 10Мб модель на карту WoW, а потом оказывается, что из всех этих анимаций можно использовать только 3-4 штуки. Остальное — просто мертвый груз, потому что War не понимает анимации с нестандартными названиями (типа Атакуйте очень-очень сильно).

Вы не можете решить эту проблему путем запуска. Но у JASS’ов есть шанс. Я думаю, что многие фанаты JASS во время просмотра общего.j обратили внимание на функцию

native SetUnitAnimationByIndex принимает unit whichUnit, integer whichAnimation возвращает ничего

Судя по названию, она должна воспроизводить анимацию не по имени, а по номеру. Т.е. достаточно поставить номер анимации — и все, название не имеет значения!
Ах, если бы это было так просто :(. Blizzards не были бы Blizzards, если бы не придумали другой способ просверлить зубы дракона через анус. Т.е. эта функция просто не работает! И абсолютно точно, все ее вызовы просто игнорируются и никак не влияют на анимацию.

Итак, как правильно разыграть анимацию юнита??
Первое, что нужно сделать, это создать тег анимации. Это специальный объект, который является просто списком всех анимаций юнита. Она создается с помощью еще одной загадочной JASS-функции:

Скопировать в буфер обмена

native AddUnitAnimationProperties принимает unit whichUnit, string animProperties, boolean add ничего не возвращает

О чем не пишут в руководствах! По одной версии, он добавляет новые имена анимации; по другой — новые свойства анимации (что бы это ни значило). В JASSWiki эта функция «объясняется» как: «Добавляет/удаляет анимационные свойства юнита».
В действительности, он только создает тег анимации (список анимаций юнита) и «прикрепляет» его к указанному юниту. Давайте посмотрим на параметры этой функции:

  • whichUnit — это просто единица, чей тег анимации мы хотим создать (или удалить, т.к. Эта функция также способна удалять теги анимации).
  • animProperties — название тега анимации. Это может быть что угодно. Используется для дальнейших ссылок на тег анимации. Если ссылки на тег не понадобятся в будущем, вы можете передать этот параметр null. Тогда теряется ссылка на тег и происходит утечка памяти (всем участникам DotaTeam рекомендуется всегда переходить сюда null).
  • добавить — Если передано здесь true, затем создается тег; если false — удаляются (при условии, конечно, что на устройстве есть метка с указанным вами именем). Любой, кто обеспокоен утечками, должен всеми средствами удалять теги, когда они становятся ненужными. Все остальные могут упростить себе жизнь и оставить теги не удаленными (утечек и так хватает в любой кинематике).

Кстати, триггеры могут использовать команду
Анимация — Добавить/удалить тег анимации юнита. Вообще говоря, это очень странно: триггеры позволяют создать тег, но не работать с ним :).

Итак, тег создан (для тех, кто забыл: тег — это список всех анимаций юнита). А теперь смело вызываем SetUnitAnimationByIndex. Для этого можно использовать триггеры Пользовательский скрипт:

call SetUnitAnimationByIndex(gg_unit_hfoo_0002,3)

Первым параметром этой функции является юнит, анимацию которого вы хотите воспроизвести. Второе — это номер анимации (нумерация идет от нуля, 0 — это, как правило, Стенд 1).
Триггеры будут немного сложными, чтобы понять, что писать в качестве юнита :), это выглядит очень страшно. Ну, я могу посоветовать вам создать для тестирования какой-нибудь триггер, содержащий всего 1 команду с использованием этого блока. Затем преобразуйте триггер в текст и найдите название глобального блока. (надеюсь, я вас еще не удалил?)
Вторая проблема — определить количество анимаций. WE здесь не очень поможет, т.к. его окно анимации сортирует их по алфавиту, а не по номерам. Количество можно определить, открыв файл модели юнита в Блокноте (желательно в формате MDL), War3Viewer, MdlVis, W3ME или аналогичной программе. После этого просто считайте анимации (с нуля), пока не дойдете до нужной.

  1. Анимация — Добавить/удалить тег анимации юнита. Создает список анимаций на блоке. Создайте тег один раз, и вы сможете воспроизводить столько анимаций для этой единицы, сколько захотите.
  2. Пользовательский скрипт: вызов SetUnitAnimationByIndex(gg_unit_XXXXXXYY,N) префикс имени глобалов, содержащих юнит и номер желаемой анимации.

Ну, вот и все. Если вы что-то не поняли, дайте мне знать. До скорой встречи :end:

Дополнение — загрузка игры

Здравствуйте, это ScorpioT1000 🙂

Появилась новая проблема — анимация сбивания с ног, применяемая с помощью «SetUnitAnimationByIndex»SetUnitPosition».

Это происходит после того, как игрок загрузил ранее сохраненную игру на вашей карте.
Решение «простое» — воссоздать этот юнит.

  1. Отключение всех систем, которые «влияют» на наше устройство.
  2. Отключить все триггеры, реагирующие на событие смерти нашего юнита (для этого нужно просто иметь в условиях переменную типа bool и применять ее там, где это необходимо).
  3. заменить наш отряд на такой же, например:

Скопировать в буфер

my_unit_var = ReplaceUnitBJ(my_unit_var, MY_UNIT_ID, bj_UNIT_STATE_METHOD_ABSOLUTE)

  1. Включите все триггеры, реагирующие на событие смерти.
  2. Включите все остальное.

Источник: xgm.гуру