代码之家  ›  专栏  ›  技术社区  ›  Bastien Léonard

XNA碰撞检测[关闭]

  •  0
  • Bastien Léonard  · 技术社区  · 15 年前

    我有一个球在一个立方体内移动,我检测它何时离开立方体(有一个边界球和一个边界框)。 现在我想知道球从哪边出去。然后我可以把球转向正确的方向。我怎样才能用球的__world_矩阵来做这个?

    我应该自己跟踪球的坐标吗,还是应该从世界矩阵中推导出来?

    1 回复  |  直到 12 年前
        1
  •  2
  •   Nosredna    15 年前

    我要从碰撞开始。你有六个平面(每个平面都是[点,法向单位向量]对)和一个球体(一个[点,半径]对)。

    对照每个平面检查该点。要做到这一点,从该点减去单位向量(按球体半径放大)。(点-=平面单位矢量*半径)

    现在,通过一些向量数学,你可以看到它在平面的哪一边。

    然后将使用平面的单位向量进行反弹计算。

    你会遇到的下一个问题是你一次要穿过多个平面。