gpt4 book ai didi

collision-detection - 什么是 AABB - 碰撞检测?

转载 作者:行者123 更新时间:2023-12-03 06:52:33 28 4
gpt4 key购买 nike

嗨,我正在用Java制作一个体素游戏,在研究我需要学习的所有不同东西时,我注意到很多游戏都使用AABB用于碰撞检测。然后我记得在 Minecraft 中也看到过AABB。但是当我用谷歌搜索AABB是什么时,它只会出现其他人的代码,或者历史书上的某个组织。 Stackoverflow,什么是 AABB

最佳答案

AABB 代表“Axis-Aligned Bounding Box 。”

这是一种在计算和内存方面相当高效的表示体积的方法,通常用于查看两个对象是否可能接触。

由于它是轴对齐的,因此它不一定非常“适合”您的真实 3D 对象。 AABB 检查通常用作粗略的第一近似,以查看对象是否可能发生碰撞。然后,如果 AABB 检查通过,则会进行更详细的检查。

示例:

想象你的世界是二维的,你把它画在一张方格纸上。你在世界上有一些物体(一个球,一棵树,等等)。要为其中一个对象制作 AABB,请在该对象周围绘制一个矩形,使线条与纸上的网格线平行。

如果你有两个对象的 AABB,你可以做一些非常简单的数学来看看这些 AABB 是否重叠。如果它们不重叠,这两个对象就不可能接触,因此对于碰撞算法来说这是一个简单的早期退出。

这很容易推广到 3D(以及更多维)。

您可能想查看gamedev.stackexchange.com ,也是。

关于collision-detection - 什么是 AABB - 碰撞检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22512319/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com