Hay tres fases de detección de colisión.
Broadphase : se repite entre todos los objetos que pueden interactuar, se permiten falsos positivos, si se acelera el ciclo.
Narrowphase : determina si colisionan y, a veces, cómo, sin falsos positivos
Resolución : resuelve la colisión.
La pregunta que hago es sobre la fase estrecha. Existen múltiples algoritmos, que difieren en complejidad y precisión.
Intersección de Hitbox : este es un algoritmo a posteriori, que tiene la complejidad más baja, pero que tampoco es demasiado preciso,
Intersección de color : intersección de Hitbox para cada píxel, a posteriori, perfecto de píxel, no precisa en cuanto al tiempo, mayor complejidad
Teorema del eje de separación : se usa con más frecuencia, con precisión para los triángulos, sin embargo, a posteriori, ya que no puede encontrar el borde, cuando se tiene en cuenta el último fotograma, es más estable
Radiodifusión lineal : el algoritmo A-priori, útil para la física de aspecto semi-realista, encuentra el punto de intersección, incluso más preciso que el SAT, pero con más complejidad
Interpolación de spline : A-priori, incluso más precisa que los rayos lineales, incluso más coplexidad.
Probablemente hay muchos más que he olvidado. La pregunta es, ¿cuándo es mejor usar SAT, cuándo rayos, cuándo splines y si hay algo mejor?
fuente
Esto realmente depende del tipo de juego que tengas. Cada método anterior tiene sus propias compensaciones.
Sin embargo, SAT es bastante estándar en mi experiencia para las bibliotecas de física genérica, ej. Box2D lo usa ampliamente (Angry Birds, y muchos otros juegos usan Box2D).
Las variaciones de intersección de color mezcladas con la intersección SAT o Hitbox se usan en juegos como Sonic, Megaman con buenos resultados.
Sin embargo, no sé mucho sobre los n. ° 4 y n. ° 5.
fuente