0

您好,我正在尝试对 3D 进行碰撞检测,但只有一半有效。有人可以给我一个关于如何创建矩形碰撞检测的简单指南吗?如果可能的话,指南只检测模型碰撞指南

4

2 回答 2

0

最简单的方法是使用 Bounding Boxes 和 Intersects 方法。即设置bounding box的位置到物体的中心位置测试box是否与另一个相交:

BoundingBox box1 = new BoundingBox(); 
BoundingBox box2 = new BoundingBox(); 

if (box1.Intersects(box2))
{
// do stuff
}

请注意,边界框的上述初始化不起作用,我知道您需要添加一些参数,但我认为 id show 只是示例。

您还希望更新循环中的 if 函数不断检查冲突。但也请注意,这不是最有效的方法,因为游戏有 100 万个对象,而您的程序同时检查所有对象之间的碰撞是行不通的。

于 2013-08-09T10:52:48.963 回答
0

很高兴知道您是从 XNA 3D 开始的。

这是开始使用 XNA 2D 和3D的精彩系列。

这是我用过的最好的资源。它将清除 3D 的所有基本要素,包括地形、多边形和碰撞。

看看这个,如果需要任何进一步的细节,请告诉我。

于 2013-08-09T09:49:56.640 回答