我正在开发一个简单的基于磁贴的2D游戏。我有一个关卡,里面填充了可以与对方互动的对象。检查与瓦片地图的冲突是相当容易的,并且可以对线性复杂度的所有对象进行。但是现在我必须检测物体之间的碰撞,现在我必须检查每个物体与其他物体,以确定方块的复杂性。避免碰撞检测O(n^2)的复杂性
我想避免方块的复杂性。有没有什么众所周知的方法可以减少物体之间的碰撞检测呼叫。是否有任何数据结构(如BSP树可能),这些数据结构很容易维护,并允许一次拒绝许多冲突。
例如,在层次对象的总人数为500左右,其中约50屏幕上看到在同一时间...
谢谢!
你想对所有的碰撞检测还是只对可见物体进行碰撞检测? – 2011-02-04 09:37:40
hm。尚未确定。我认为我可以忽略与屏幕外部物体的碰撞 – SadSido 2011-02-04 10:24:52
,在这种情况下,您只能收集可见物体并对其进行碰撞检测。仍然O(n^2)时间复杂性。 – 2011-02-04 10:29:42