Соприкосновение или пересечение 3D поверхностей

Можно, наверное, работать не со всеми треугольникам Mesh, а выборочно - согласно требуемой точности определения факта пересечения. Можно и дальше оптимизировать - сначала искать "пересечение" грубо, потом в месте грубого определения пересечения уточнять его. Или как-то по-другому оптимизировать алгоритм. Ну, как-то так) Точнее не могу сказать.

Вот тут ещё обсуждение полезное -

Нахождение точки внутри фигуры

Добавлено через 15 минут

Для начального приближения 3D объекты можно поместить, например, в виртуальные сферы и проверять сначала пересечение сфер, решая геометрическую задачу - что очень просто. А потом уже при факте пересечения сфер включать более точные алгоритмы, проверяющие пересечение 3D объектов, заключенных в эти сферы. Как вариант.

Фактически это будет означать, что для каждого объекта можно задать его "центр" и радиус и тогда проверка пересечения сферами сведется к одному (!!!) вычислению расстояния между этими "центрами" объектов.

Добавлено через 6 минут

Если расстояние меньше R1+R2 значит сферы пересеклись. Границы объектов тоже можно "покрыть сферами" с меньшими радиусами и на втором этапе смотреть за их пересечением в зоне пересечения больших сфер, потом уменьшить радиусы этих сфер в зоне пересечения и т.д. Пока радиусы не станут в пределах необходимой точности.

Добавлено через 11 минут

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

Если посложнее - сделайте виртуальные модели объектов - типа снеговиков будут - из нескольких сфер каждый)))

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