【发布时间】:2017-08-31 14:23:48
【问题描述】:
我正在使用 c++ 和 OpenGL 在 qt Creator 中创建一个游戏,并尝试将边界框添加到我的场景中以实现碰撞检测。我在我的场景中使用从 Maya 作为 .obj 导入的对象,因此它们的尺寸没有在代码中设置,只有它们的位置、旋转和缩放。我能够在每个对象周围创建一个与其位置相匹配的边界框,但我正在努力寻找一种方法来访问对象的最小和最大 x、y 和 z 值,以便将框与对象的大小相匹配。
有人对我如何访问最小和最大坐标有任何想法吗?如果我可以访问这些值,我知道如何实现代码..
【问题讨论】:
-
如果您已经能够创建边界框,那么问题出在哪里?
-
@Vallentin - 如果您继续阅读另外 2 行,您会意识到情况并非如此。 OP 创建了一个“边界”框,它并没有真正限制几何体。
-
我确实读过它。取所有顶点的 x、y、z 的最小值和最大值将创建一个适合的边界框。唯一不适合的情况是,如果网格稍后旋转,OP 没有提到它不适合的情况。
-
旋转不会有问题,因为边界框只需要适应原始网格,所有应用于网格的变换也会应用于边界框。
-
AABB 还是 OBB 用于边界框?
标签: c++ qt opengl collision bounding-box