Как проверить наличие 2D-коллизии без проверки каждого объекта
Я действительно амбициозен и работаю над 2D-игрой Shoot ' em Up, в которой, надеюсь, будут сотни сущностей, бегающих вокруг.
Мне трудно представить себе, как пуля будет обнаруживать столкновение с объектом, не проверяя каждый объект на карте. Причина в том, что я чувствую, что если у меня есть четыре дюжины пуль на экране, каждая из которых проверяет столкновение с каждым объектом на карте, каждый цикл, я увижу некоторые довольно значительная потеря производительности.Так как же лучше всего обнаруживать коллизии, не проверяя каждый отдельный объект?
Я могу справиться с алгоритмом столкновения, когда у меня есть два объекта, я просто не могу найти способ заставить эти два объекта видеть друг друга, не проверив сначала всех остальных.
Я работаю на Java и OpenGL с (скоро будут текстурированы) квадроциклами.
1 ответ:
Вы должны исследовать Квадро-деревья; они часто используются для эффективного 2D-поиска.