播放器到体素碰撞检测/响应

本文关键字:响应 碰撞检测 播放器 | 更新日期: 2023-09-27 18:21:16

我有一个很大的体素阵列,一个《我的世界》。玩家/敌人在此网格中。我不知道如何进行这种类型的碰撞检测。请注意,这不是动态可移动物体与动态可移动对象的对比,这是可移动对象与静止地面/墙壁/天花板的对比。

我对检测没有问题,这是我不知道如何做的反应。

我必须处理的是:玩家的位置、速度和边界框,以及玩家周围的1x1x1体素阵列。

播放器到体素碰撞检测/响应

  • 计算玩家的速度和碰撞体素(指向外部)的单位表面法线的点积
  • 将单位曲面法线缩放(乘以)该值
  • 从玩家的速度中减去你的结果

这将给你大多数游戏使用的"靠墙滑动"效果(没有任何有问题的三角法)