您好我试图对3D进行碰撞检测,但只有一半有效。有人可以给我一个关于如何创建矩形碰撞检测的简单指南吗?如果可能的话,只能检测模型碰撞指南的指南
答案 0 :(得分:0)
很高兴知道你是从XNA 3D开始的。
这是开始使用XNA 2D和3D的精彩系列。
这是我用过的最好的资源。它将清除3D的每个基本要素,包括地形,多边形和碰撞。
看看这个,如果需要进一步的细节,请告诉我。
答案 1 :(得分:0)
简单的方法是使用Bounding Boxes和Intersects方法。 即 将边界框的位置设置为对象的中心位置 测试盒子是否与另一个盒子相交:
BoundingBox box1 = new BoundingBox();
BoundingBox box2 = new BoundingBox();
if (box1.Intersects(box2))
{
// do stuff
}
请注意上面的边界框的初始化不起作用,我知道你需要添加一些参数,但我认为id只是举例来说。
您还需要更新循环中的if函数,以不断检查冲突。 但请注意,这不是最有效的方式,因为有100万个对象的游戏和你的程序同时检查所有对象之间的碰撞是行不通的。