首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是AABB -碰撞检测?

什么是AABB -碰撞检测?
EN

Stack Overflow用户
提问于 2014-03-19 16:32:14
回答 2查看 61.3K关注 0票数 57

嗨,我正在用制作一个体素游戏,在研究我需要学习的所有不同的东西时,我注意到很多游戏都使用AABB进行碰撞检测。然后我还记得在“我的世界”中也看到过AABB。但是当我搜索AABB是什么时,它只提供其他人的代码,或者某个组织的历史书。Stackoverflow,AABB是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-19 16:35:23

AABB代表“轴向包围盒”。

这是一种计算效率和内存效率相当高的表示卷的方法,通常用于查看两个对象是否有接触。

因为它是轴对齐,它不一定“适合”你真正的三维物体非常好。AABB检查通常被用作粗略的第一近似,以查看物体是否可能发生碰撞。然后,如果AABB检查通过,将进行更详细的检查。

示例:

想象一下你的世界是2D的,你把它画在一张图表纸上。你在这个世界上有一些东西(一个球,一棵树,什么的)。要为其中一个对象创建一个AABB,您可以在对象周围画一个矩形,使您的线条与纸上的网格线平行。

如果有两个对象的AABB,您可以做一些非常简单的计算,看看这些AABB是否重叠。如果它们不重叠,那么这两个物体就不可能是接触的,所以这对于你的碰撞算法来说是一个简单的早期解决方案。

这可以很容易地推广到3D (和更多的Ds)。

您可能也需要查看gamedev.stackexchange.com

票数 68
EN

Stack Overflow用户

发布于 2014-03-19 16:35:08

轴向包围盒

基本上,它是最小的长方体,可以完全包含形状,通常由一对3d坐标定义。

检查两个AABB之间的碰撞非常快,因为您所需要做的就是检查拐角的X、Y和Z值的范围。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22512319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档