我可能过度思考了这个问题,我会先把它弄清楚。但我似乎无法找到一个简单的碰撞方法的好例子,它可以处理当实体运行时改变实体的速度。最初想到的是有3个系统,按顺序运行:
但是这里没有捕获22?如果我已经与另一个实体相撞,现在我无法逃脱,因为碰撞系统一直在扼杀我的速度。或者我是否需要让碰撞系统了解速度的方向?
答案 0 :(得分:0)
我认为这取决于碰撞的弹性,请看一下:Elastic Collision Reponse in a Game。
也许这篇文章也可以帮助你:https://gamedev.stackexchange.com/。
答案 1 :(得分:0)
一个简单的碰撞系统需要知道物体进入的角度并以相反的方向发出。这意味着将速度矢量旋转180°,例如从0到0,-1。为了避免重新碰撞,你需要确保它在下一个滴答之前“跳”到碰撞范围之外,这样你就可以将新的速度应用到物体的位置(p2 = p1 * velocity * tick)。