Xna是否手动创建边界框检测?
因此,我成功地创建并测试了boundingbox。现在,我在Xna是否手动创建边界框检测?,xna,xna-4.0,bounding-box,bounding,Xna,Xna 4.0,Bounding Box,Bounding,因此,我成功地创建并测试了boundingbox。现在,我在vector[]corners=new vector[8]和vector[]corners1=new vector[8]中获得了所有8个角点,我只是想知道用什么代码来代替model.intersect(model1)。我之所以想这样做,是因为我希望我可以改变向量中的一些点,使我的模型向上倾斜。首先。。。您有一个BoundingBox结构,可以为AABB碰撞执行此操作 第二。。。如果你想自己做 如果只需要检查AABB碰撞,只需确定边界框
vector[]corners=new vector[8]
和vector[]corners1=new vector[8]
中获得了所有8个角点,我只是想知道用什么代码来代替model.intersect(model1)。我之所以想这样做,是因为我希望我可以改变向量中的一些点,使我的模型向上倾斜。首先。。。您有一个BoundingBox结构,可以为AABB碰撞执行此操作
第二。。。如果你想自己做
foreach (vertex in vertices) {
Min.X = Min(Min.X, vertex.X);
Min.Y = Min(Min.Y, vertex.Y);
....
// Idem for max
}
bool collide(BoundingBox other)
{
if (min.X > other.max.X) return false;
if (min.y > other.max.y) return false;
....
}
BVertexInASpace = B.WorldVertex.Select( v => Matrix.Transform(v, A.TransformInverted));
在空间中,最小顶点是(0,0,0),最大顶点是(宽度、高度、深度),因此您只需检查BVertexInASpace顶点是否在