2

作为爱好,我正在开发一款 2D 游戏。我已经使用分离轴方法实现了一些基本的碰撞检测。当两个对象发生碰撞时,我将其中一个对象投射到重叠最少的轴上。

我遇到的问题是,当一个物体移动得相当快时,重叠最少的轴并不总是正确的方向。我最好的例子是当一个物体由于模拟的引力而向下移动(沿着+ y轴)并与靠近“边缘”的环境物体碰撞(如悬崖边缘)。如果物体下落的速度足够快,那么重叠量最少的轴最终会成为 x 轴,并且物体会被沿 x 轴侧向推。

处理快速移动物体的最佳方法是什么?我考虑过以小幅度移动下落的物体,这似乎增加了很多额外的开销。我还考虑过给环境对象一个“偏好”哪个轴来投射下落的物体,但这看起来很混乱且容易出错。

有没有办法在不增加大量额外开销的情况下做到这一点?

4

1 回答 1

1

我终于找到了一篇描述扫描测试的好文章,以防其他人偶然发现这篇文章有同样的问题。这篇文章有更多,但下面的链接描述了轴对齐边界框之间的碰撞,这是我正在使用的:

链接文本

于 2010-10-21T21:47:13.190 回答