collision detection - detectar - ¿Qué es AABB-Detección de colisión?
detectar colisiones unity 2d (2)
Hola. Estoy haciendo un juego de vóxel en Java y mientras investigaba todas las cosas diferentes que necesitaría aprender, noté que muchos juegos usan AABB para la detección de colisiones. Y luego recordé haber visto a AABB en Minecraft también. Pero cuando googleo qué es AABB , solo aparece con el código de otras personas, o alguna organización saca el libro de historia. Stackoverflow, ¿qué es AABB ?
Cuadro delimitador alineado del eje
Básicamente es el cuboide más pequeño que puede contener completamente la forma, generalmente definida por un par de coordenadas 3d.
Es muy rápido verificar las colisiones entre dos AABB, ya que todo lo que necesita hacer es verificar el rango de los valores X, Y y Z para las esquinas.
AABB significa " Caja de Límite Alineada por Eje ".
Es una forma bastante eficiente desde el punto de vista computacional y de la memoria de representar un volumen, normalmente utilizado para ver si dos objetos podrían estar tocando.
Dado que está alineado con el eje, no necesariamente "encaja" muy bien con su objeto 3D real. Las comprobaciones AABB a menudo se usan como una primera aproximación aproximada para ver si los objetos pueden colisionar. Luego, si pasa la verificación AABB, se realizan controles más detallados.
Ejemplo:
Imagine que su mundo es 2D y lo dibuja en una hoja de papel cuadriculado. Tienes algunos objetos en el mundo (una pelota, un árbol, lo que sea). Para hacer una AABB para uno de los objetos, dibuje un rectángulo alrededor del objeto, haciendo que sus líneas sean paralelas a las líneas de la cuadrícula en el papel.
Si tiene el AABB para dos objetos, puede hacer algunas operaciones matemáticas bastante simples para ver si esas AABB se superponen. Si no se superponen, es posible que esos dos objetos no se puedan tocar, por lo que es un comienzo fácil para su algoritmo de colisión.
Esto se generaliza a 3D (y más-D) con bastante facilidad.
Es posible que también desee probar gamedev.stackexchange.com .