игрока в 2д платформере?
вот на картинке у меня есть спрайт персонажа и спрайт пули. красным я обвёл их условные размеры.
в какой момент лучше засчитать попадание пули в игрока? у меня есть пара версий:
1. должен быть некий прямоугольник поменьше, после пересечения границы которого попадание засчитается. способ очень неточный, но легко реализуется.
2. при попадании спрайта пули в спрайт персонажа пуля должна попасть в непрозрачную часть спрайта персонажа. это сложнее реализовать, но будет намного точнее.
есть какой-то стандартный вариант в таких ситуациях?
Добавь колизию к пуле и персонажу и проверяй попадание
Ну вообще, сперва тебе нужно определиться, что у тебя будет - снаряды или хитскан? Хитскан это когда ты мгновенно попадаешь, тогда в этом случае снаряды можно не делать.
Первый вариант, второй менее производительный и при этом ведет к большему кол-ву проблем
Но вообще, если хитбоксы делать точные прям, то где-то это может быть полезно, но иногда это может даже мешать. Приведу примеры. При разработке quake champions намерено были увеличены хитбоксы, потому что изначально их сделали приближёнными к моделям, но после геймплейных тестов оказывалось, что попадать нормально на таких скоростях игры очень трудно. Но вот например, в counter strike, где геймплей не спешный особо и больше претендует на реализм, вот там хитбоксы приближены к моделям, чтобы попадать было сложнее.
Ну там, стоит отметить, система все равно другая. Там по сути просто несколько капсульных коллайдеров, которые прибиты к костям модельки, а не то что проверки по пикселям или вроде того
Ну я как бы это и имел ввиду, да
Ну потому что алгоритмически проще проcщитать столкновение с какиим-то параметрическим объектом или функцией, нежели с множеством отрезков или треугольников (если речь о 3d)
Обсуждают сегодня