我正在使用OpenGL在3D环境中开展游戏。我正在为大多数物体/世界碰撞实施扫掠椭圆体碰撞检测/响应系统,效果很好。
我遇到的问题是将该系统与Object-Object碰撞检测系统相结合。我在设计阶段试图解决的真正问题是,当看到可能会阻止或改变另一个物体运动的物体时(比如一些可以移动的板条箱,但当玩家遇到它时,它们就像“墙壁”一样。)
我想我必须做类似以下的事情:
这是对的吗?这似乎非常昂贵,因为我必须在每次迭代检查时检查每个可能的碰撞对象。
另一个问题:推送其他对象的对象怎么样:
例如,说一个箱子掉下来推一个玩家。我需要移动箱子直到它击中玩家,然后在完成箱子的移动之前对玩家进行整个碰撞检测。这看起来似乎也会变得非常昂贵,因为推动可能会导致另一次推动,等等。
非常感谢任何指导。