В общем есть ли способ замедлить саму скорость удара юнита? Не скорость атаки, а скорость замаха и удара

Принятый ответ

Графика - Анимация: обратный ход броска
Графика - Анимация: точка броска
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
5
18
6 лет назад
5
Графика - Анимация: обратный ход броска
Графика - Анимация: точка броска
Принятый ответ
0
17
6 лет назад
0
Я вертел эти параметры пол часа, но нечего не менялось, а когда цветовой переход затрагивал, то анимацию подкашивало
0
28
6 лет назад
Отредактирован PT153
0
Графика - Анимация: обратный ход броска
Графика - Анимация: точка броска
Combat - Attack x - Animation Backswing Point (Real)
The amount of time it takes a unit/building/hero to go through half the physical movement necessary to attack something. If the unit/building/hero has no animations for attacking, the time set in this field still applies, but there will be no viewed physical movement. This field combines additively with "Combat - Attack x - Animation Damage Point" to form the total time taken to physically attack a target.
Combat - Attack x - Animation Damage Point (Real)
The amount of time it takes a unit/building/hero to go through half the physical movement necessary to attack something. If the unit/building/hero has no animations for attacking, the time set in this field still applies, but there will be no viewed physical movement. This field combines additively with "Combat - Attack x - Animation Backswing Point" to form the total time taken to physically attack a target.
Как я понял, это работает так: приказ атаковать -> проходит время из "Графика - Анимация: точка броска" -> снаряд бросается -> проходит время из "Графика - Анимация: обратный ход броска" -> юнит готов к следующему приказу.
0
17
6 лет назад
0
Но как бы я их не менял, они не на что не влияли
0
29
6 лет назад
0
Раз не получается, то это либо надо модели задавать такой параметр, либо как-то изощрится на Jass, пиля свою систему, иного выхода не видно. Хотя это ещё тот будет геморр. Ну, иначе никак нельзя. Скорее, так сделать нельзя.
3
20
6 лет назад
3
Правильно ли я понял, что нужно оставить количество ударов в секунду тем же, но с другой скорость атаки? Тогда нужно уменьшить перезарядку атаки и уменьшить скорость атаки через способности предметов (что обратно увеличит время на один удар). В принципе, это подойдет для любого случая. Главное отрегулировать все. Но триггерно такое можно сделать разве что через морф в заранее настроенного юнита.
3
27
6 лет назад
Отредактирован MpW
3
Absolute:
Но как бы я их не менял, они не на что не влияли
Влияют на промежутки анимации.
раскрыть
Сейчас поговорим про Графика - Анимация: Точка броска и Графика - Анимация: Обратный ход броска, они составляют общее время каста. Честно говоря, не понял, что пишут на английском, и немного сбивает с толку. Нашел ссылку. Пробовал подробно провести собственные тесты, проводил тесты на паладине на "благодать".
Art - Animation - Cast Point (Real)
The amount of time it takes a unit/building/hero to go through half the physical movement necessary to cast a spell. If the unit/building/hero has no animations for casting spells, the time set in this field still applies, but there will be no viewed physical movement. This field combines additively with "Art - Animation - Cast Backswing" to form the total time taken to physically cast a spell.
Графика - Анимация: Точка броска (Real)
Можно таймером проверить это время между событиями "юнит начинает применять способность" и "юнит приводит способность в действие". В событии "юнит начинает применять способность" юнит начинает проводить анимацию (махание руками), а в событии "юнит приводит в способность в действии" юнит уже накидывает эффекты (на себя кидает эффект, или на цель, или область). Короче это время между этими двумя событиями, между началом анимации и киданием эффекта. За это время нельзя будет заставить юнита резко применить другую анимацию. Сделано специально, чтобы юниты во время анимации резко не принимали другую анимацию, а просто доделывали её до конца.
не обязательно эффект кидается в противника, эффект можно над небом появится освещая всех. Короче говоря эффект это какое-то действие заклинания, а не только спецэффекты. Даже событие приводит в действие переводится так: EVENT_PLAYER_UNIT_SPELL_EFFECT. Когда юнит кидает молот бурь, у противника начинается только-только появляться бафф "оглушение", это значит он получил эффект. Или когда паладин применяет щит неуязвимости, у него появляется бафф (заметьте, что событие не работает у таких способностей как "Укрыться за щитом", поскольку при применении у него нету баффа). Еще эффект приходит, когда нажимаешь и эффекты приходят типа буран, звездопад, покой.
Art - Animation - Cast Backswing (Real)
The amount of time it takes a unit/building/hero to go through half the physical movement necessary to cast a spell. If the unit/building/hero has no animations for casting spells, the time set in this field still applies, but there will be no viewed physical movement. This field combines additively with "Art - Animation - Cast Point" to form the total time taken to physically cast a spell.
Графика - Анимация: Обратный ход броска (Real)
Время анимации после применения скилла. Можно таймером проверить это время между событиями "юнит приводит способность в действие" и "юнит завершает применение способности". В событии "юнит приводит способность в действии" юнит кидает эффект (если это channeling-заклинание типа буран или зведопад, то заклинание будет продолжаться), а в событии "юнит завершает применение способности" юнит прекращает анимацию (а если это channeling-заклинание, то завершается еще и заклинание). Но в этом промежутке между "приводит" и "завершает" можно перебить анимацию другой: короче юнит помахал, кинул эффект и в этот момент обычно юнит уже должен опускать руки после махания, но приказом можно перебить анимацию. Может не доделать ее.
Эти два поля создают два промежутка, в одном как видим нельзя перебить анимацию, в другом уже можно.
точно также есть и у атаки. раздел бой. поля: "бой - атака 1 - анимация: точка обратного хода" и "бой - атака 1 - анимация: точки повреждения". похожий принцип
карту пример скинул. не забудь включить проверочные триггеры (они время таймером засекают)
но это конечно не ответ на твой главный вопрос.
Загруженные файлы
1
21
6 лет назад
1
В общем есть ли способ замедлить саму скорость удара юнита? Не скорость атаки, а скорость замаха и удара
Как вариант - БД по анимациям + система для отлова приказа + специальные модельки (без вариаций в анимациях) или собственная боевая система. Вот тогда уже можно будет косо-криво, да замедлять скорость удара, то есть десинкать анимацию и реальное состояние атаки (и это только если изменение скорости анимации не влияет на атакспид). Иначе - подредактировать анимации у самой модели.
2
27
6 лет назад
Отредактирован Феникс
2
Графика - Анимация: обратный ход броска
Графика - Анимация: точка броска
Это просто визуальные параметры, то есть в какой момент нанесётся урон, ими скорость не увеличишь, but они скейлятся в процентном соотношении от прироста скорости атаки. если я не ошибаюсь
Время перезарядки удара
Исходная ловкость - L
Ловкость на уровень - l
Исходное время перезарядки - t
Уровень героя - u
Время перезарядки - T
Дополнительная скорость на 1-цу ловкости - s
//
T = 1 / t * (1 + (L + l * (u - 1)) * s) // by Iron

Скорость замаха:
KF = Базовое число кадров в анимации/1000
as = Процент прироста к скорости атаки
скорость замаха v = (KF - [KF+(KF*as)/100]/10 в секундах
таким же способом уменьшаются параметры
Графика - Анимация: обратный ход броска
Графика - Анимация: точка броска
Таким образом, базовая скорость анимации удара не может быть изменена без:
  • влияния на скорость атаки, а значит и влияния на время перезарядки
  • влияния на скорость анимации модели (триггерно или вручную)
Практика:
KF = 1 000 / 1 000 = 1 
t = 2 // базовое время перезарядки
da = 0.5 // базовая точка броска
dar = 0.7 // базовый обраный ход броска
as = + 400% // максимальная скорость атаки в wc3
v = 1 - [1 + (1*400)/100]/10 = 0.5 сек - максимальная скорость удара при 1 000 кадрах анимации
da = 0.5 - [0.5 + (0.5*400)/100]/10 = 0.25 сек
dar = 0.7 -[0.7 + (0.7*400)/100]/10 = в 0.35 сек
T = 2 - [2 + (2*400)/100]/10 = 1
0
26
6 лет назад
0
Absolute, скинь модель юнита, которому надо увеличить время анимации атаки. И укажи на сколько.
1
27
6 лет назад
Отредактирован Феникс
1
Таки затестил собственные каракули и был не прав.
Максимальное уменьшение времени анимации = Время / 5 = Пойду разбираться, почему именно эта цифра

Формула оказалась донельзя простой:
T = t / (1 + as/100)
Относится к любому параметру времени анимации, такие как: точка броска, точка обратного хода, анимация удара, время перезарядки.

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