Для всех, кто борется с этим, мы отредактировали сценарий кода A *, в функции обновления мы только что заставили его повторно сканировать один раз. Это означает, что как только игра началась и все масштабирование было выполнено, график изменил свои границы. Это, вероятно, не самый правильный способ, но он занял всего четыре строки и сработал для нас.
private bool scanAgain = true;
private void Update () {
// This class uses the [ExecuteInEditMode] attribute
// So Update is called even when not playing
// Don't do anything when not in play mode
if (!Application.isPlaying) return;
navmeshUpdates.Update();
// Execute blocking actions such as graph updates
// when not scanning
if (!isScanning) {
PerformBlockingActions();
}
// Calculates paths when not using multithreading
pathProcessor.TickNonMultithreaded();
// Return calculated paths
pathReturnQueue.ReturnPaths(true);
if (scanAgain)
{
Scan();
scanAgain = false;
}