每种形状的碰撞检测(2D)

时间:2017-07-30 22:13:41

标签: algorithm collision-detection game-engine

我目前正在制作一个用户可以制作形状的游戏(它可以是用户想要用于曲线的每个形状)并让它们相互交互。我需要一个可以快速运行的精确碰撞检测算法(某事物)像最多的150个poligons,我设法实现SAT 但它似乎在更复杂的形状上崩溃。有人指示我根据我的情况相关算法吗?

1 个答案:

答案 0 :(得分:0)

SAT适用于凸多边形。

在一般情况下(您的形状可以是凹形),您可以保存多边形的边列表并检查与sweep line algorithm的边缘交点。 (另请注意,一个多边形可能完全包含其他多边形)

在某些情况下,为每个形状创建凸包并检查与SAT的船体交叉是否值得。如果发生,则使用更高级的算法来检查是否存在真正的交叉点。