Что такое AABB - обнаружение столкновений?

Привет, я делаю воксельную игру на Java и, исследуя все, что мне нужно изучить, я заметил, что во многих играх для обнаружения столкновений используется AABB. А потом я вспомнил, что видел AABB в Minecraft. Но когда я гуглю, что такое AABB, он только придумывает код других людей или какую-то организацию из учебника истории. Stackru, что такое AABB?

2 ответа

Решение

AABB расшифровывается как " ограничивающая ось ограничивающая рамка".

Это достаточно вычислительно-эффективный способ представления тома, обычно используемый для определения возможности соприкосновения двух объектов.

Поскольку он выровнен по оси, он не обязательно очень хорошо "вписывается" в ваш реальный трехмерный объект. Проверки AABB часто используются в качестве грубого первого приближения, чтобы увидеть, могут ли объекты сталкиваться. Затем, если проверка AABB проходит, проводятся более подробные проверки.

Пример:

Представьте, что ваш мир 2D, и вы рисуете его на листе миллиметровки. У вас есть несколько объектов в мире (шар, дерево, что угодно). Чтобы создать AABB для одного из объектов, вы рисуете вокруг объекта прямоугольник, делая ваши линии параллельными линиям сетки на бумаге.

Если у вас есть AABB для двух объектов, вы можете сделать довольно простую математику, чтобы увидеть, перекрываются ли эти AABB. Если они не перекрываются, эти два объекта не могли бы соприкасаться, так что это очень просто для вашего алгоритма столкновения.

Это обобщает в 3D (и более-D) довольно легко.

Возможно, вы захотите проверить https://gamedev.stackexchange.com/ тоже.

Выровненная ограничительная ось

В основном это самый маленький кубоид, который может полностью содержать форму, обычно определяемую парой трехмерных координат.

Очень быстро проверять наличие столкновений между двумя AABB, так как все, что вам нужно сделать, это проверить диапазон значений X, Y и Z для углов.

Другие вопросы по тегам