Ashvar 08 ноя 2012, 13:21
Ну у меня, кстати, тоже были проблемы с этим. В принципе это можно как-то так оптимизировать:
1.) Сделать список объектов в зоне досягаемости и обновлять раз в секунду (обновление проводить с вызовом OverlapSpere).
2.) Для турели проверять в каждом цикле дистанцию до цели, факт существования цели и возможность в неё попасть. Если цели нет, то выбрать новую цель из списка.
Из вариантов оптимизации добавлю, что можно сделать несколько сфер для OverlapSpere. Наибольшая сфера обновляется с помощью OverlapSpere раз в 10 секунд (к примеру), а потом проверяем все объекты из большой сферы на их вхождение в малую (раз в секунду).
В итоге перебор всех объектов происходит раз в 10 секунд, а не 60 раз в секунду.
Кстати, есть вопрос! А есть аналог OverlapSpere с другими примитивами? в частности с капсулами. И как вообще работает OverlapSpere? не всё же он перебирает, как он оптимизирован?