Прежде всего, обнаружение столкновений сильно зависит от геометрии объекта.Существует множество проверенных на практике решений, интегрированных в математические линейные алгебры, но они зависят от геометрии, которую вы пытаетесь использовать.Вместо того, чтобы реализовывать алгоритм с использованием свойств вашего объекта, попробуйте реализовать математическое уравнение напрямую, а затем использовать результат, чтобы определить, произошло ваше столкновение или нет.(как при использовании векторов t = ab, если | t |> 0, иначе нет).
Если у вас есть простая геометрия, например, прямоугольники или круги, вам следует взглянуть на «Математику для программирования трехмерных игр и компьютерной графики» Эрика Ленгеля.
Также имейте в виду, что вы можете достичьобнаружение столкновений с другими методами, такими как столкновение спрайтов.Другая возможность заключается в использовании инфраструктуры более высокого уровня, выполняющей эту работу за вас (например, OSG)