Посмотрите на теорему SAT (Теорема о разделительных осях), это самый быстрый и простой из них.
Теория об этом заключается в том, что если вы можете нарисовать линию, которая разделяет треугольники, то они не сталкиваются.
Как говорится, первый сделат Аабб раннее обнаружение, а когда два объекта сталкиваются, проверить каждый полигон объекта А против каждого полигона объекта B.
Начиная с 2D, чтобы проверить, если два многоугольника сталкиваются, вам получить экстенты из них в возможных осях (в этом случае X и Y), если эти экстенты пересекаются, то полигоны сталкиваются.
На этой странице вы можете найти очень хорошее объяснение о том, как он работает и как его применять: http://www.metanetsoftware.com/technique/tutorialA.html
Чтобы применить его в 3D просто использовать края каждого многоугольника в качестве разделяющих осей. Если экстенты на этих осях пересекаются, то полигоны сталкиваются.
Кроме того, этот метод разрешает коллизию для движущихся объектов, давая также импульс столкновения (разрешаем относительную угловую скорость, вытесняя скорость B от скорости A, таким образом проблема сводится к движущемуся объекту и статическому, и добавьте скорость по оси, которую вы тестируете, в степень полигона A, если они пересекаются, оставьте первоначальную протяженность многоугольника, и вы получите импульс коллизии).