圆角碰撞行为

时间:2012-06-17 22:28:21

标签: collision geometry game-physics

我正在开展一个项目,在这个项目中我有2D的滚动大理石。我可以检测到大理石何时碰到了一个盒子的角落,但我无法弄清楚当它撞到角落时应该有什么样的行为。我需要弄清楚如何重新定位球,使其不与盒子重叠。通过盒子到盒子的碰撞,就像将盒子放在一起一样容易,但对于一个圆圈和盒子,我不知道将大理石移动到哪里,所以它看起来很逼真。

我不是在问它是如何反弹的。我对trig有很好的理解。当你将大理石移向盒子时,它会在某个时刻与盒子重叠。我需要知道如何制作它,以便它们不再重叠,但它仍然看起来很逼真。它不需要反弹(就像在大理石的一部分上假设无限质量)。

1 个答案:

答案 0 :(得分:1)

请仔细阅读维基百科上的这篇文章:Elastic Collision

您需要在任何给定的曲面点处为2D对象创建曲面法线,如果您的框完全方形,这将是有问题的,因为锐边没有法线。你将不得不给角落情况(没有双关语)特殊处理,并给它们表面法线,它们是在角落处连接的两条线的法线的平均值。

基本上,使用矢量。