Collisions/zh

Minecraft 的碰撞过程非常简单：游戏中没有光线跟踪碰撞，玩家只是在每一轴上按顺序移动.

在此提醒，Minecraft 的物理更新速度为每秒 20 ticks. 每 Tick 更新一次玩家的移动和碰撞.

碰撞箱
一个碰撞箱由一个或多个边界箱组成，边界箱是由最小和最大 X/Y/Z 坐标定义的简单长方体.

碰撞通常涉及一个实体和一个方块：方块和方块之间通常不会相互碰撞.


 * 玩家只有一个边界箱，尺寸为 0.6×1.8×0.6 m3. 其的位置（如F3所示）位于底部中心


 * 方块有更复杂的碰撞箱（见此列表）.

注意：“判定箱”是玩家可以点击的（例如攻击实体、按下按钮、打开门）. 它不一定与碰撞框重叠.



碰撞顺序
每次更新玩家速度后，游戏将按照下列步骤检查碰撞：


 * 沿 Y 轴移动玩家. 如果在向下移动时检测到垂直碰撞，则玩家现在被认定在地面上.
 * 沿 X 轴移动玩家.
 * 沿 Z 轴移动玩家.
 * 如果玩家在地面上撞到一堵墙并且墙的高度小于0.6米，他们可以跨过墙.
 * 参见跨步获取解释和视觉效果.
 * 该机制造成了卡角与跳跃取消，以及它们的变体.

垂直碰撞(Y)
在水平移动之前处理垂直移动. 因此：


 * 玩家可以在跑过一个方块后一 Tick 跳跃. 这就是延立的原理.
 * 为了降落在方块上，玩家的边界箱必须在跳跃的最后时刻与其表面重叠.



当玩家撞到地板或天花板时，其垂直速度将会重置为 0.

水平碰撞(X/Z)
因为 X 轴是在 Z 轴之前处理的，所以旋转碰撞的行为因方向而异.

这一现象在高速状态下尤其明显.



区分“X”旋转跳和“Z”旋转跳十分重要：


 * X 指的是指向东/西的跳跃. 卡墙是难以避免的，因此玩家必须从离墙更远的地方起跳.


 * Z 指的是指向北/南的跳跃. 不容易卡墙，甚至可以贴墙延立.

可以通过 F3 查看面向的轴向.

玩家往往倾向于面向 Z 的旋转跳更容易，但面向 X 的旋转跳实际上距离更短：


 * 面向z的旋转跳非常类似于线性跳跃(假设最优移动). 要转换一个Z轴的旋转跳，只需将其距离增加 1.2，并将其tier增加 1. 例如，一个三墙相当于一个“4.2+0.25”(不能构建，但这种比较对分析是有用的)
 * 面向x的旋转跳没有线性等效. 与面向 Z 的旋转跳相比，它们“移动”了 1 tick(墙壁碰撞的开始和结束都提前了 1 tick). 这种转变会减少动量，但却会让它变得更短，因为玩家在跳跃结束时的速度通常比开始时更快.

某些跳跃只有在面向一个轴或另一个轴时才有可能（例如，2bm三墙 仅在 X 轴上有解）

1.14+
1.14 更新了碰撞物理. 碰撞顺序现在取决于玩家的速度：


 * 如果玩家的Z速度大于X速度（绝对值），碰撞顺序为Y-X-Z.
 * 否则，碰撞顺序为Y-Z-X.

在大多数情况下，所有碰撞现在都类似于 X 面. 一些多次旋转的跳跃可能与 1.14 之前的版本大不相同.