【问题标题】:Physics - How do you adjust after an AABB collision?物理学 - AABB 碰撞后如何调整?
【发布时间】:2018-06-10 02:42:10
【问题描述】:

当玩家与方块发生碰撞时,我会根据最小的轴变化来移动它们,这是有道理的。

但是,当许多块相互交互时,这会变得令人困惑。

  • 黑色方块 - 玩家,移动
  • 红色/蓝色方块 - 块,静态

从这个例子中,玩家显然应该向上移动,但盒子各自有不同的视点

  • 蓝色框在 Y 轴上碰撞较多,所以黑色框应该向左移动。如果您假装红色框不存在,您会更容易看到这一点
  • 红框在 X 轴上碰撞较多,因此黑框应向上移动

我怎么知道哪个框是“正确的”?

【问题讨论】:

    标签: 2d physics collision aabb


    【解决方案1】:

    解决方案是为 X 和 Y 找到最近的块

    在这种情况下,红色块在X轴上比较近,所以应该用它来固定Y轴

    另外,为了防止方块将玩家移动到角落,添加一个宽限缓冲区。在下图中,紫色和绿色区域略小于播放器的大小。

    如果一个块在其中一个轴上最近,并且在那个区域内,那么它应该用于碰撞

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多