я бы трэйсы во все стороны пулял, как в циклах так и нет, мой алгоритм выглядел бы примерно так, но раза в 3-4 сложнее(что бы учесть все детали и оптимизировать), желтые и оранжевые трэйсы это те что в циклах, зеленый точки это вэйпоинтсы.
Такое количество итераций выполнится за тик вообще без какого либо ущерба(проводить функцию повторно по мере достижения мухи последнего вэйпоинтса в массиве или в другой ситуации), так же бы раз в секунду я бы кидал линию по направлению к персонажу, что бы знать когда выходить на финишную прямую.
https://picua.org/images/2020/08/04/180 ... 303130.pngp.s. в 99% случаев у меня каст делается один раз на бегин плээ, затем есть - ссылка, и да бокстрэйсы сфер трэйсы использовать здесь удобнее, но в принципе все также как и с лайнтрэйсами, здесь будет в основном математика 3 класса, главное понимать что такое форвард вектор и ап вектор, и как их складывать и как прибавлять к ним.
А если нацелится на облет препятствий просто через вверх или низ, без построения пути на 5 и более точек , это все будет намного проще.
Я примерно то же уже и сделал. Сначала я проверяю прямой путь, и, если его нет ищу обходной. Когда я его нахожу из массива векторов создаю сплайн, по которому потом лечу. Вот только мне не очень нравится как оно работает. Когда мои мухи летят друг к другу перпендикулярно, они врезаются и начинают танцевать вверх вниз, что с этим делать я еще не придумал... Помимо этого, когда они близко к препятствиям иногда они дергаются.
Итак вопрос: можно ли эту конструкцию исправить, или лучше сделать вообще по другому?