Xna 二维纹理和三维模型边界框之间的碰撞

Xna 二维纹理和三维模型边界框之间的碰撞,xna,collision-detection,xna-4.0,Xna,Collision Detection,Xna 4.0,我想检查精灵和3D模型之间的碰撞 在做了一些搜索之后,我得到了这个代码 BoundingBox handBox = new BoundingBox(new Vector3(handX, handY, 0), new Vector3(handX, handY, 0)); foreach (ModelMesh myModelMeshes in model.Meshes) if (myModelMeshes.BoundingSphere.Intersects(handBox)) retur

我想检查精灵和3D模型之间的碰撞

在做了一些搜索之后,我得到了这个代码

BoundingBox handBox = new BoundingBox(new Vector3(handX, handY, 0), new Vector3(handX, handY, 0));
foreach (ModelMesh myModelMeshes in model.Meshes)
  if (myModelMeshes.BoundingSphere.Intersects(handBox))
    return true;
return false;
这里有两个值应该返回false和nottrue


但问题是它总是正确的。我是否遗漏了一些明显的信息?

在我看来,它们确实与调试信息相交。盒子很小,几乎位于原点的中心。球体很大(半径43),它只偏移15个单位的距离,这将使它与小盒子相交。实际上,这个长方体的宽度是零个单位,所以它是无限小的。我会尝试使用一个更大的矩形,然后看看半径。感谢您的提示您的手机盒(一个点)在您的模型内,因此除非您将一个模型从另一个模型移开,否则这将始终返回真。