|
1
3
在计算径向距离之前,首先检查对象是否位于以转台位置为中心的框内。如果目标_x<炮塔x-范围,则超出范围,无需检查距离,还需检查炮塔x+范围、炮塔y-范围、炮塔y+范围。这需要最多4次比较和4次加法/减法运算来确定目标是否在框中。 |
|
|
2
2
在2D中可以实现四叉树,在3D中可以实现八叉树,这意味着您可以对对象进行分组,并在实际检查其精确距离之前更有效地丢弃大量对象。如果你想知道更多,你应该用谷歌搜索他们。它们是对象世界中非常有用的数据结构。 最终的实现可能不会节省太多空间,但速度会非常快,因为您可以非常快地丢弃大量对象。 |
|
|
3
0
您可以将可能的目标存储在一个多重集中,并在它们所占据的网格正方形上设置关键帧。然后,您只需迭代网格方格中的目标,这些目标距离炮塔的网格方格足够近,因此它们可能是目标。
|