【发布时间】:2013-04-01 14:56:24
【问题描述】:
基本上,我想在 XNA 中的 3D 模型周围放置一个边界框/立方体(在这种情况下,它是一个简单的绘画,因此模型本身只是一个带纹理的矩形)。
我尝试了以下代码来创建多维数据集:
public BoundingBox BoundingBoxCreation()
{
min = Position + Vector3.Up * Height - Size / 2
max = Position + Vector3.Up * Height - Size / 2;
boundingBox = new BoundingBox(min, max);
return boundingBox;
}
然后我创建两个相同的模型,具有相同的高度、大小和比例: Scale: new Vector3(500.0f) 高度:2f 大小:new Vector3(6.75f * 500, -1.09f * 500, 0.35f * 500) (乘以比例)。然后我尝试像这样检查两者之间的碰撞:
if (CollisionTest.boundingBox.Intersects(tapestryLeftOne.boundingBox))
{
Window.Title = "Collision";
}
但是,只有当两者绝对 100% 完全对齐时,窗口标题才会更改以显示碰撞,但我的目标是尝试做到这一点,即使它们在任何时候都接触,而不仅仅是在它们匹配时。 关于如何实现这一目标的任何想法?
如果有更好的方法来构建边界框/立方体并检测另一个边界立方体、球体等之间的碰撞,那么如果您能告诉我,我将非常感激。
【问题讨论】: