玩家到体素碰撞检测/响应

5 c# xna collision-detection voxel

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

我没有检测问题,它的反应我不知道该怎么做.

我必须使用的内容:玩家位置,速度和边界框,以及围绕玩家的1x1x1体素阵列.

Dre*_*ann 6

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

这将为您提供大多数游戏所采用的"墙上滑动"效果(没有任何问题的三角测量)

  • 只是另外一个补充,如果你还有一个不同的乘数,在点积之上,根据体素中的每个材料,那么你现在正在建模摩擦并且可以有更多的光滑或更粗糙的块. (2认同)