Допустим, что есть объект(rigidbody2d) и игрок способен его двигать. При столкновении с другими коллайдерами(стены, пол) игрок должен получить урон(минусуется переменная PlayerHP). Казалось бы, можно всё решить таким кодом:
Синтаксис:
Используется csharp
void OnCollisionStart2D(Collision2D collision){
if(collision.relativeVelocity.magnitude > 6)//вычитаем такое-то значение
}
if(collision.relativeVelocity.magnitude > 6)//вычитаем такое-то значение
}
Однако если объект будет катиться по коллайдеру со скоростью больше 6, то он будет всё время получать урон. Оно и ясно: мы отнимаем хп при каждом столкновении(коих при "поездке" по коллайдеру будет множество). Хотелось бы узнать, как можно иначе раздавать урон, и при этом не отнимать хп, если объект катится/трется при падении или взлете об коллайдер.
Заранее благодарю за помощь!