При написании не проходимости стен в 3D пространстве, я использую проверку всех стен, причем проверяю не треугольники, а виртуальные координаты. И мне кажется, что этого можно избежать. Может, кто напишет, оптимизированный способ проверки?
Попробуй разбить пространство на зоны(кубы например), и к каждой зоне припиши стены, которые в ней содержатся. Тогда проверять придется стены только одной зоны. Вдобавок, если то что у тебя должно непроходить сквозь стены, двигается не очень быстро, то оно сможет переходить из зоны только в соседнюю.