Движение по склонам

Штрафы за движение по склонам для юнитов в зависимости от направления (вверх или вниз) задаются в файле pather.set. В зависимости от угла наклона ячейки карты, скорость движения может меняться, что особенно важно для танков и других тяжелых единиц.

Ключевые параметры

  • SlopeDown – задает штрафы для движения вниз по склону. Аналог параметра Height из Men of War.

  • SlopeUp – задает штрафы для движения вверх по склону.

Примеры

Пример штрафов для движения вниз

{SlopeDown
    0  0  0  0  0
    0.1 0.3  0.5  0.8  1
    1  1  1 -1 -1
}

Комментарии в файле pather.set поясняют, как интерпретируются значения:

  • cost < 0 – движение запрещено.

  • cost = 0 – движение без штрафов.

  • cost > 0 – движение с штрафом, где путь вычисляется по формуле:

pathCost=distance(terrainCost+slopeCost)pathCost = distance * (terrainCost + slopeCost)

Пример штрафов для движения вверх

{SlopeUp
    0  0  0  0  0 ;свободное движение до 30 градусов
    1 -1  -1  -1  -1 ;с 30 градусов вводятся штрафы
    -1 -1 -1 -1 -1 ;с 60 до 90 градусов движение запрещено
}

При загрузке таблицы SlopeDown, она автоматически применяется и для SlopeUp, если последняя не указана отдельно. Если нужно сделать другие настройки для движения вверх, таблицу SlopeUp надо указать послеSlopeDown.

Отладка

Квантованные значения углов наклона для рассчетов Поиска Пути можно увидеть вместе с сеткой карты высот, включив её через сочетание клавиш Alt+H или установив флажок heightmap в интерфейсе вкладки Редактора высот Heights. Например, если в ячейке сетки heightmap отображается значение 5, это значит, что выбран угол в 30 градусов, соответствующий ячейке с индексом 5.

Рекомендации для настройки

  • Юниты техники Предполагается, что юниты техники движутся прямо вниз без специального пересчета поиска пути. При движении вверх рекомендуется выбирать альтернативный маршрут.

  • Юниты пехоты Предполагается, что юниты пехоты не должны пытаться преодолевать обрывы. Они должны автоматически выбирать обходные пути.

Особенности использования

В сетевом режиме игры для юнитов типа human параметр SlopeUp в Поиске Пути не поддерживается. Штрафы настраиваются через таблицу Height\SlopeDown.

Для юнитов техники необходимо настроить обе таблицы (SlopeDown и SlopeUp).

Требования к картам

Движение по склонам работает согласно таблиц (SlopeDown и SlopeUp) при условии, что на картах нет участков, размеченных флагом no_pass.

Last updated