Так что я использую Unity для этого, но я не уверен, что это имеет значение.
У меня есть враги, которые находятся за пределами видимого экрана, и я хотел бы иметь индикаторы на сторонена экране, чтобы обозначить, где они находятся.Это хорошо, но есть много врагов, поэтому я хочу сгруппировать их в капли.Например, вместо того, чтобы показывать 8 индикаторов друг над другом, я хочу 1 индикатор с (8) рядом с ним.
Итак, сейчас мой алгоритм:
- минимальный диапазон блога - это константа, которую я устанавливаю
- , перебирая всех врагов
- проверять расстояние до всех врагов, уже назначенных для больших объектов, если в пределах досягаемости, назначать для больших объектов
- , если нет, проверьте других неназначенных врагов, если таковые имеются в пределах диапазона капли, сделайте блоб
Я делаю это каждый кадр, и он кажется неэффективным.Что я могу сделать, чтобы улучшить это, а также сэкономить на обработке между кадрами.Например, что я мог бы сделать с данными предыдущего фрейма, чтобы сделать это лучше (поскольку вероятность изменения членов блоба очень мала, но у него определенно будет обновленная позиция).
Или, если мнепросто перестаньте беспокоиться об этом и продолжайте, потому что это просто векторная математика, и она не вызовет проблем в двигателе.