如何处理大量的Navmesh Agents?
我在一个场景中拥有超过200个units,它们全部使用Unity的NavmeshAgent来设置前往主目标的目的地。我面临的问题是,当units数量很大时,其中一些units停止移动,只有在前几个units被摧毁后才会恢复移动。
我已经尝试了以下方法:
1. 每20个帧仅更新一次目的地;
if (Time.frameCount % 20 == 0)
{
// ...
}
2. 使用协程;
private IEnumerator StaggerSetNewDestination(Vector3 position)
{
myNavMeshAgent.SetDestination(position);
yield return new WaitForSeconds(0.1f);
}
然而,这些方法都没有解决问题。
共以下 1 个回答
当你的代理数量变得非常庞大时,你可能需要转换为flow field寻路。