@Malis

Как точнее проложить маршрут Dijkstra?

Сам скрипт подготовлен, так же уже есть массив где проходимые точки а где нет (типа стены), вот так он у меня выглядит
от все взято - https://programm.top/c-sharp/algorithm/search/dijk...
spoiler
var g = new Graph();
float x = 0f;
float y = 0f;
foreach(KeyValuePair<int, ObjectVerifyWall> kv in ArrayPossibleMove){
  if(kv.Value.GetPossibleMove()){
    kv.Value.GetComponent<SpriteRenderer>().color = new Color(0f, 1f, 0f, 1f); // проходимая область
    x = kv.Value.transform.position.x;
    y = kv.Value.transform.position.y;
    g.AddVertex(x+"x"+y); // так вот думаю вершины добавить
    }else kv.Value.GetComponent<SpriteRenderer>().color = new Color(1f, 0f, 0f, 1f); // стена
  }

Сама карта 50x50 с шагом 0.5, то есть вот каждый префаб ObjectVerifyWall 0.5 на 0.5, доска начинается от -25,-25 и заканчивается 25,25
вот теперь думаю как правильнее графы сделать?
От например -25,-25 проводить до -25,-24 | -25,-23 | -25,-22 .....
g.AddEdge("-25x-25", "-25x-24", 1);
g.AddEdge("-25x-25", "-25x-23", 2);
g.AddEdge("-25x-25", "-25x-22", 3);
и так далее...
дофига ребер получится...
Может как-то правильнее, грамотнее это дело нужно делать?
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Правильней использовать NavMesh а не пилить очередной велосипед.
Ответ написан
Ваш ответ на вопрос

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

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