我正在开发一个简单的基于瓦片的2D游戏。我有一张地图,上面布满了可以与瓦片和其他物体进行交互的对象。检测物体与瓦片之间的碰撞非常容易,可以使用线性复杂度对所有物体进行检测。但现在我需要检测物体之间的碰撞,并且我必须检查每个物体与其他每个物体之间的碰撞,这会导致平方复杂度。
我想避免平方复杂度。是否有任何众所周知的方法来减少物体之间的碰撞检测调用?是否有任何数据结构(例如BSP树),易于维护并允许一次拒绝多个碰撞。
例如,关卡中的对象总数约为500,其中大约50个对象同时出现在屏幕上...
谢谢!