Zefirot
@Zefirot

Можно ли получить пути из NavMesh?

У меня есть несколько статических объектов, между ними передвигаются другие объекты, так как есть между ними препятствия то используется NavMesh для поиска пути, вот как-то так (2D)
MeshAgentPath = new NavMeshPath();
NavMesh.CalculatePath(TargetA.transform.position, TargetB.transform.position, NavMesh.AllAreas, MeshAgentPath);
if(MeshAgentPath.status == NavMeshPathStatus.PathComplete){
  TargetCell = TargetB;
  MeshAgent = GetComponent<NavMeshAgent>();
  MeshAgent.updateRotation = false;
  MeshAgent.updateUpAxis = false;
  MeshAgent.SetDestination(TargetCell.transform.position);
  }
...............
void Update(){
  if(Vector3.Distance(transform.position, TargetCell.transform.position) > 0.5f){  
    .......
    }else{........ // end way

Пока объектов было немного то ничего, а вот когда объектов постоянно перемещающихся стало больше 100 то на слабеньком относительно телефоне стала греться батарея, да и так заметно что напрягается больше...

Учитывая то что объекты между которыми передвигаются другие объекты статичны, может как-то можно вначале получить все возможные между ними пути из NavMesh и вбить им где-то в переменные?
Думаю это очень разгрузило бы процесс, им же не нужно постоянно искать путь по мере перемещения, только изначально.
Либо если можете подскажите что еще можно сделать в данной ситуации?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы