Войти
ПрограммированиеФорумГрафика

[Unity] Анимация отскока оружия от брони

#0
6:00, 22 янв. 2020

Мне не нравится, когда оружие ближнего боя проходит сквозь персонажей, поэтому хочу сделать так, чтобы оно отскакивало при коллизии. Пока что я вижу для этого следующие способы:
1. При коллизии прерывать анимацию атаки и кроссфэйдить в дефолтный стейт. Анимация атаки может быть прервана в любое время, и при каком-то времени все выглядит прилично, а при другом - криво и дергано.
2. Делать на каждую анимацию атаки свою анимацию отскока. Не вариант, т к у меня предполагается до десятка вариантов оружия и у каждого до десятка анимаций атаки.
3. Делать общую анимацию отскока для ударов слева/справа/сверху и лерпить в нее. Пока не пробовал, но возможно дойду до такого.
4. При коллизии отматывать анимацию атаки назад с места прерывания и  кроссфэйдить в дефолтный стейт. Пока что этот метод мне кажется наиболее перспективным с точки зрения отношения трудозатрат к результату.
Есть ли еще какие то способы?


#1
8:43, 22 янв. 2020

Llevellyn
Отскакивать будет какой-нибудь резиновый дилдо,
остальное оружие будет либо застревать в доспехах,
прорубив или проткнув их,
либо просто останавливаться в момент удара.

#2
9:18, 22 янв. 2020

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

Дополнительно можно заморочиться, что бы от разного типа брони и оружия зависел отскок. Например, от легкой (кожаной) брони вообще не должно отскакивать, от средней - отскок должен быть не большой и должна появляться вмятина, от тяжёлой - отскок большой, конечно, если удар наноситься не кувалдой.

#3
14:08, 22 янв. 2020


smartxp
> Посмотри, как это реализовано в других играх и выбери наиболее понравившийся
> вариант исходя из собственных возможностей.
во всех других играх, которые я знаю, оружие просто проходит сквозь цель. Если приведете примеры где не проходит - буду благодарен

smartxp
> Дополнительно можно заморочиться, что бы от разного типа брони и оружия зависел
> отскок. Например, от легкой (кожаной) брони вообще не должно отскакивать, от
> средней - отскок должен быть не большой и должна появляться вмятина, от тяжёлой
> - отскок большой, конечно, если удар наноситься не кувалдой.

Отскок у меня предполагается не в физическом плане, а в плане типа "перезарядки" оружия - т е часть скорости обратного движения после атаки появляется при отскоке от брони, а остальную часть добавляет персонаж своим воздействием на оружие. Например при отскоке от стальной брони допустим 30% энергии поглотится броней, а 70% отскочет - т е начальная скорость оружия будет 70% от той что была при коллизии, и остальные 30% перс добирает сам - а если коллизия была с 100% поглощающим объектом, то персу нужно будет разгонять оружие обратно для следующего замаха своими силами.

И да, мне бы все-таки хотелось здесь услышать советы по анимации, а не по игровой логике.

#4
16:13, 22 янв. 2020


Rikk
> начальная скорость оружия=70процентов от той что была
> добирает сам= остальные 30процентов
> как добирает? пальцами от брони отколупывает обратно?ведь 30процентов засело в
> броне.
Я просто умножаю скорость анимации атаки на -0.7f, так понятнее? И потом каждый кадр еще домножаю на какую-то переменную, зависящую от "силы" перса, пока скорость не станет равна -1f
Rikk
>
> как хорошо что на юнити придумали реалистичную физику=просто забивай счетчики и
> виртуальная машина все посчитает.
серьезно? Вы вообще с юнити дело имели или так, на етубе пару видеоуроков глянули?

#5
16:44, 22 янв. 2020

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

Там же в Ведьмаке вроде при блоке или парировании оружие отскакивает, но уже не помню точно как реализовано.

#6
16:46, 22 янв. 2020

Llevellyn
> Я просто умножаю скорость анимации атаки на -0.7f, так понятнее?
если честно то не понятнее.вы бы не могли пояснить подробнее?

#7
10:29, 23 янв. 2020

Посмотри Dark Souls 3/Bloodborne, там есть отскакивание меча от стен и щитов, а на боссах есть анимация реакции на удары. Т.е. ударяешь босса по ноге(щупальцу/лапе) и нога чуть отходит в сторону от удара.

#8
15:06, 23 янв. 2020

n0th1ng
> Посмотри Dark Souls 3/Bloodborne, там есть
и по уроку сделает

ПрограммированиеФорумГрафика

Тема в архиве.