Zefirot, впервые вижу, что кто-то называет вертекс на меше ячейкой... раздели свой террейн на ячейки 10х10 и будет у тебя 100 ячеек, а не 1кк... каждая ячейка содержит объекты, которые в ней находятся. если твоя цель - избегать динамических объектов, то не надо пытаться вкорячить эту логику в поиск пути. найти путь на террейне и избежать другого агента это разные вещи, гугли local steering
Zefirot, сколько уйдет ресурсов на то, чтобы сменить булевый флаг или убрать объект из одного списка и добавить в другой?
ты написал:
проверка с помощью Physics.CheckBox и Physics.BoxCast возможности ступить на следующую клетку
если у тебя мир разделен на клетки используй их для того, чтобы хранить динамические объекты, тогда ты сможешь собственный чекбокс сделать, которому не нужна будет юнитевская физика. и этот чекбокс можешь в джобы пихать, проходиться по всем объектам в клетке и проверять не стоят ли они на пути
Zefirot, что у тебя за клетки, как мир выглядит? если динамические объекты двигаются по клеткам, при входе в клетку запоминать, что на ней что-то стоит
vkvk, Так и используй физику только для того, чтобы считывать с чем сталкивается объект. Не знаю каким образом Vector3.Reflect может влиять на то, что объект застревает в стене
vkvk, Физический материал удали или понастраивай, скорее всего из-за него все проблемы. У тебя 0 контроля над тем как и куда оно оттолкнется, каждый раз при столкновении происходит это: