Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XNA碰撞检测_Xna_Collision Detection_Collision - Fatal编程技术网

XNA碰撞检测

XNA碰撞检测,xna,collision-detection,collision,Xna,Collision Detection,Collision,我有一个球在立方体内部移动,我检测它何时离开立方体(带有一个边界球体和一个边界框)。 现在我想知道球从哪边出去。然后我可以把球转向正确的方向。我怎样才能用球的“世界”矩阵做到这一点 我应该自己跟踪球的坐标,还是从世界矩阵中推断出它们?我会从碰撞开始。您有六个平面(每个平面都有一个[点,法线单位向量]对)和一个球体(一个[点,半径]对) 对照每个平面检查该点。要执行此操作,请从该点减去平面的单位向量(按球体半径放大)。(点-=平面单位向量*半径) 现在,通过一些向量数学,你可以看到它在平面的哪一边

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


我应该自己跟踪球的坐标,还是从世界矩阵中推断出它们?

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

对照每个平面检查该点。要执行此操作,请从该点减去平面的单位向量(按球体半径放大)。(点-=平面单位向量*半径)

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

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

您将遇到的下一个问题是一次穿越多个平面的情况