首页 > 解决方案 > 物理学 - AABB 碰撞后如何调整?

问题描述

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

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

盒子碰撞

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

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

标签: 2dphysicscollisionaabb

解决方案


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

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

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

盒子碰撞

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


推荐阅读