为了在MonoGame / XNA中进行碰撞检测,我如何在模型周围添加BoundingBox?

时间:2016-03-16 05:43:28

标签: c# xna monogame

我正在开发一个3D MonoGame项目,该项目涉及绘制模型和检查模型的碰撞。我的想法是在每个加载的模型周围放置一个BoundingBox,并使用BoundingBox.Intersects()进行碰撞检测。但是,我对BoundingBox并不熟悉,我不确定如何将BoundingBox放在加载的模型周围。关于这方面的任何详细说明?或者可能还有其他一些做碰撞检测的方法?

1 个答案:

答案 0 :(得分:0)

使用边界框,您需要使用网格尺寸创建它。

您必须在网格上找到最小和最大点,并将这些点作为参数传递给边界框构造函数。这些将是:

Vector3(halfWidth, halfLength, halfHeight) ///or whatever order you need it as
Vector3(-halfWidth, -halfLength, -halfHeight).

生成边界框时,还需要添加当前位置。

http://www.monogame.net/documentation/?page=T_Microsoft_Xna_Framework_BoundingBox