XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
J
expert
offline
Опыт: 48,747
Активность:
проигрывание анимации задом наперед
Статья объяснит, как проигрывать любые анимации задом на перед.
____________________________________________________________________

Очень часто в кинематиках возникает потребность проиграть анимацию наоборот, конечно это бывает очень нужно т.к. увеличивается количество анимацией вдвое. Например, это меняет суть почти всем спецэффектам, например: удар грома, можно сменить его распространяющуюся модель на оборот - собирающую, также и для многих действий, например у паладина, когда он умирает у него анимация – взлетает вверх, это можно переделать, так что он будет очень эффектно падать, согласитесь, увеличиваются используемые анимации вдвое, это можно сделать тремя путями:
1 – через изменение модели
2 – через Джазз
3 – ну и через триггеры (что весьма просто)

____________________________________________________________________
1) я не модельщик… потому советую почитать статьи из категории "4. Моделлинг".
Рассмотрим мы только 2 и 3 вариант
2) через джаз это можно сделать с помощью кода:
Код:
call SetUnitTimeScale( GetTriggerUnit(), -1 )

При этом запущенная выше триггерно анимация начнет, проигрывается назад, т.е. она начнется не с конца, а с того момента, где она остановилась перед вызовом этой функции. Все последующие анимации юнита будет, проигрывается назад, но т.к. они начинаются относительно этого с конца, то пройдется возвратить юнита в норму
Код:
call SetUnitTimeScale( GetTriggerUnit(), 1 )

подождать пока анимация доиграется до конца… а потом снова запускать обратную (никто не и запрещал использовать анимация - Change unit animation speed
для более быстрого возвращения юнита в норму или наоборот)
3) в третьем речь пойдет о том же действиее: анимация - Change unit animation speed
кто бы догадался, что проиграть анимацию назад так легко, все тоже самое, что и во 2-ом случае только используем нормальное действие:
Цитата:
Сообщение от обычное действие
Анимация - Change (Triggering unit)'s animation speed to ###.##% of its original speed

Или в джазе
Код:
call SetUnitTimeScalePercent( GetTriggerUnit(), ### )

в этом действии надо просто указать отрицательное значение в поле процентов.
Можно это легко сделать в джазе, переводим и ставим “-100” и все…
В триггере же нужно будет прибегнуть к помощи arithmetic, из-за того что указано ограничение – эта цифра не должна быть меньше нуля, все очень просто ставим “0 – 100”, и проблема решена, эффект будет такой же что и при
Код:
call SetUnitTimeScale( GetTriggerUnit(), -1 )

вы наверно уже обратили внимание, что разница этих действий только в том, что в одном нужно указывать обычные числа (где 100% это 1), а в другом указываешь просто проценты.
________
Также эта фича работает и на декорации, но уже при использовании действии для декораций, а именно: Декорация - Change Destructible animation speed
Тут только маленькое отличие, использовать arithmetic для них не нужно, там не стоит ограничение, просто ставим "-100" и все... Например:
Цитата:
Сообщение от обычное действие
Декорация - Change (Last created destructible)'s animation speed to -100.00% of its original speed

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

На этом статья и закончилась
__________
Благодарю Fellguard-а за помощь.
__________
К статье прилагается пример сделанный мною, который вы можете посмотреть и изучить...

Также советую посмотреть вот этот спел который также прилагается к статье, сделал его не я, а Tim, но это хороший пример применения этого способа и выглядит весьма эфектно.

Также этот способ используется в таких популярный роликах таких как Fury, советую всем посмотреть (момент, когда зомби ложатся и встают)
Прикрепленные файлы
Тип файла: w3x Обратные анимации.w3x (13.8 Кбайт, 341 просмотров )
Тип файла: w3x Spell Contest 3 - Tim 1.9.w3x (62.2 Кбайт, 260 просмотров )

Отредактировано Jon, 08.08.2006 в 21:46.
Старый 05.06.2006, 22:12
Алексей
Где кошачья мята?!
offline
Опыт: 26,543
Активность:
Jon: Супер. Давно уже не читал настолько полезных статей.
Старый 05.06.2006, 22:22
J
expert
offline
Опыт: 48,747
Активность:
хм.. это был сарказм, или правда статья хорошая?*с надеждой в голосе*
Старый 05.06.2006, 22:27
Алексей
Где кошачья мята?!
offline
Опыт: 26,543
Активность:
Нужно будет попробовать всё это реализовать. Если такой приём действительно работает, статья очень полезна.
Старый 05.06.2006, 22:48
J
expert
offline
Опыт: 48,747
Активность:
щас пример сделаю выложу...
но также это и большая заслуга Fellguard

Отредактировано Jon, 06.06.2006 в 00:15.
Старый 05.06.2006, 23:01
SirRozhka
Панк-сатанист
offline
Опыт: 3,806
Активность:
Так держать Джон, Банни не забудет твоих заслуг. Статья интересная, но с примером было бы лучше, так-как без примера некоторым будет сложно понять как это сделать.
Старый 05.06.2006, 23:53
dk

offline
Опыт: 61,843
Активность:
Jon вот и решили этот насущный вопрос. Респект :)
А то все говорили, что только способом изменения модели!

Dead_knight добавил:
только отформатируй чтоб выглядело по научней!
Старый 06.06.2006, 02:52
dk

offline
Опыт: 61,843
Активность:
воть пример Fellguard плюс мое дополнение, там показаны 2 и 3 способы!
Прикрепленные файлы
Тип файла: w3x 4555.w3x (11.1 Кбайт, 121 просмотров )
Старый 06.06.2006, 07:39
J
expert
offline
Опыт: 48,747
Активность:
Цитата:
Сообщение от SirRozhka
без примера некоторым будет сложно понять как это сделать.

Добавил примеры...
Цитата:
Сообщение от Dead_knight
Jon вот и решили этот насущный вопрос. Респект

таже и Fellguard-у (ведь это он нашел 2-ой способ)
Цитата:
только отформатируй чтоб выглядело по научней!

хмм.. а многим так читать намного удобно, пусть лучше так останется...
Старый 06.06.2006, 10:00
dk

offline
Опыт: 61,843
Активность:
Я потестил твой туториал! Тепрь я понимаю почему близы это спрятали, иногда случаются такие глюки!
Также таким образом можно получать клевые дудады!
Миниатюры
Кликните на картинку для увеличения
Название:  1.JPG
Просмотров: 241
Размер:  29.8 Кбайт  Кликните на картинку для увеличения
Название:  2.JPG
Просмотров: 233
Размер:  24.8 Кбайт  Кликните на картинку для увеличения
Название:  3.JPG
Просмотров: 217
Размер:  12.7 Кбайт  
Старый 06.06.2006, 10:41
J
expert
offline
Опыт: 48,747
Активность:
если использовать это прально, то никаких глюков небудет, просто с некоторыми юнитами работает нармально, с некоторыми чуть чуть по другому, из-за того что для некоторых анимаций юнитов применены другие спец эфекты, которыен также нужно обратить, что и не происходит, это ничего страшного, да и кроме того это способб:
Цитата:
Также таким образом можно получать клевые дудады!

Так что все норм...
Старый 06.06.2006, 10:44
dk

offline
Опыт: 61,843
Активность:
Jon глюки будут просто потому что анимации делали для просмотра в одном направлении, а если смотреть в обратном то иногда случаются. см 1 скрин!
Старый 06.06.2006, 10:46
J
expert
offline
Опыт: 48,747
Активность:
Это случается из-за того что для некоторых анимаций юнитов применены другие спец эфекты которые не связаны с ативной моделью, им также надо обратить направление действияя, что я и не делал... (не в курсе - как?) потому это так и выглядит...

Отредактировано Jon, 06.06.2006 в 12:45.
Старый 06.06.2006, 12:31
NETRAT

offline
Опыт: 83,762
Активность:
Гениально, достаточно было просто домножить скорость проигрывания на -1
Старый 06.06.2006, 13:27
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Достойная статья, я бы такую сейчас при всем желании не написал =). Молодец ,Jon

FellGuard добавил:
NETRAT, все гиниальное - ...
Кстати, я же давал тебе ссылку на тему?

FellGuard добавил:
Jon, укажи в кредитах Диода.
Старый 06.06.2006, 13:34
J
expert
offline
Опыт: 48,747
Активность:
Цитата:
Гениально, достаточно было просто домножить скорость проигрывания на -1

я сам удивился - почему это все так просто, а никто не догодался...
Старый 06.06.2006, 13:46
NETRAT

offline
Опыт: 83,762
Активность:
FellGuard да, читал, рук не хватает все проверить, да и WE у меня сейчас нет
Старый 06.06.2006, 13:52
J
expert
offline
Опыт: 48,747
Активность:
так че статья принята?
А кто-нибудь знает, как можно избежать подобных глюков что на картинках Dead_knight-а? т.е. применить изменение скорости в обратную для тех спец эфектов которые создаются вместе с юнимацией юнита?
Старый 06.06.2006, 17:25
NETRAT

offline
Опыт: 83,762
Активность:
Нет, Event Object и Particle Emitter никак не инвертируешь

NETRAT добавил:
У них свои независимые линейки анимации
Старый 06.06.2006, 17:29
J
expert
offline
Опыт: 48,747
Активность:
Цитата:
У них свои независимые линейки анимации

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

Отредактировано Jon, 06.06.2006 в 18:00.
Старый 06.06.2006, 17:33

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:18.