Крест размещен на GameDev .
Я делаю игру в стиле Tower Defense в 3D с использованием Unity. Я испытываю неприятную проблему с появлением большого количества персонажей в области navmesh, где, если я создаю слишком много в одном и том же месте, многие из них «телепортируются» сразу после создания экземпляра к месту назначения navmesh.
Вот рисунок одного из уровней:

Черное пятно - база игроков, до которой должны добраться неигровые персонажи. Зеленый пейзаж не имеет навигационной сетки и использует сетчатые коллайдеры. Декорации - это в основном крутые холмы, образующие долину, через которую должны пройти NPC. Он состоит из нескольких ячеек, помеченных как неприступные в навигации. Большое синее пятно - это первая локация спавна, которую я пробовал, позже я попытался увеличить область, указанную в правой части изображения (см. «Что я пробовал» ниже).
При создании экземпляра в исходной локации спавна, если я порождаю более 20 неигровых персонажей одновременно, многие из них прыгают в область, обозначенную красными точками.
NPC имеют радиус около 1,5 м, как и их свойство избегания коллайдеров и навешивания.
Вещи, которые я пробовал:
- Нерест в случайной позиции внутри круга с радиусом 50 м.
- Добавление большой новой скрытой области navmesh, как на рисунке выше,
определение массива векторных позиций, хорошо разбросанных и порождающих
в каждой позиции по очереди, так что нет двух navmeshagents рядом с каждым
Другой.
- Добавление задержки к
navmeshAgent.SetDestination(playerBase)
после создания экземпляра в надежде предотвратить немедленный переход к
рядом с пунктом назначения.
- Уменьшение радиуса уклонения от навешивающих агентов. Это иногда
немного уменьшает проблему, но все же, даже с радиусом 0,1 любой
более чем 50 NPC вызывают проблему.
- Отключение избегания вообще (установка в none в navmeshagent), опять же, может вызвать больше, но проблема все еще возникает
- Отключение автопереходов и автоматического повтора в navmeshagent
- Увеличивая время между экземплярами, большой промежуток в несколько секунд работает, но делает игру слишком легкой
- Не указав пункт назначения - как ни странно, они все еще телепортируются к базе игроков, поэтому я думаю, что пункт назначения не имеет значения
Как я могу создать большое количество навешагов за короткий промежуток времени, избегая такого поведения "телепортации"?