Я разрабатываю простую 2D-игру на основе плитки. У меня есть уровень, заполненный объектами, которые могут взаимодействовать с плитками и друг с другом. Проверка столкновения с каналом tilemap довольно проста, и это можно сделать для всех объектов с линейной сложностью. Но теперь мне приходится обнаруживать столкновение между объектами, и теперь я должен проверять каждый объект против каждого другого объекта, что приводит к квадратной сложности.
Я бы хотел избежать квадратной сложности. Существуют ли какие-либо известные методы для сокращения вызовов обнаружения конфликтов между объектами. Существуют ли какие-либо структуры данных (например, дерево BSP), которые легко сохраняются и позволяют одновременно отклонять множество коллизий.
Например, общее количество объектов на уровне составляет около 500, около 50 из них отображаются на экране за раз...
Спасибо!