我不清楚如何设置它,在这种情况下我需要盒子而不是球体,因为我想知道激光是否在我的 3D 场景中击中了敌舰。这是我的球体代码,我将如何将其更改为边界框。因为如果我将球体用于激光,即使距离实际激光很远,球体也会很大并且会撞到一艘船。我要问的是如何以这种方式设置边界框。
private bool Cannonfire(Model model1, Vector3 world1, Model model2, Vector3 world2)
{
for (int meshIndex1 = 0; meshIndex1 < model1.Meshes.Count; meshIndex1++)
{
BoundingSphere sphere1 = model1.Meshes[meshIndex1].BoundingSphere;
sphere1.Center = world1;
for (int meshIndex2 = 0; meshIndex2 < model2.Meshes.Count; meshIndex2++)
{
BoundingSphere sphere2 = model2.Meshes[meshIndex2].BoundingSphere;
sphere2.Center = world2;
if (sphere1.Intersects(sphere2))
return true;
}
}
return false;
}
那么我该怎么做谢谢你的帮助。