Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Інструменти налагодження навігації
Примітка
Інструменти налагодження, властивості та функції доступні лише в збірках налагодження Godot. Не використовуйте жодного з них у коді, який буде частиною збірки випуску.
Увімкнення налагодження навігації
Візуалізації налагодження навігації ввімкнено за замовчуванням у редакторі. Щоб візуалізувати сітки навігації та підключення під час виконання, увімкніть опцію Видима навігація в меню Налагодження редактора.

У збірках налагодження Godot налагодження навігації також можна перемикати за допомогою синглтонів NavigationServer зі сценаріїв.
NavigationServer2D.set_debug_enabled(false)
NavigationServer3D.set_debug_enabled(true)
NavigationServer2D.SetDebugEnabled(false);
NavigationServer3D.SetDebugEnabled(true);
Візуалізації налагодження наразі базуються на вузлах у SceneTree. Якщо NavigationServer2D або NavigationServer3D API використовуються винятково, зміни не відображатимуться інструментами навігації зневадження.
Параметри налагодження навігації
Вигляд налагодження навігації можна змінити в параметрах проекту в розділі debug/shapes/navigation
. Певні функції налагодження також можна ввімкнути або вимкнути за бажанням, але може знадобитися перезапуск сцени, щоб вступити в силу.

Налагодити полігони навігаційної сітки
Якщо включено enable_edge_lines
, краї багатокутників навігаційної сітки будуть виділені. Якщо також увімкнено enable_edge_lines_xray
, краї навігаційних сіток будуть видимі через геометрію.
Якщо включено enable_geometry_face_random_color
, колір кожної грані навігаційної сітки буде змішано з випадковим кольором, який сам поєднується з кольором, указаним у geometry_face_color
.

Налагодити крайові з'єднання
Коли дві навігаційні сітки з’єднані на відстані edge_connection_margin
, з’єднання накладається. Колір накладення контролюється edge_connection_color
. З’єднання можна зробити видимими через геометрію за допомогою enable_edge_connections_xray
.


Примітка
Граничні підключення видимі лише тоді, коли NavigationServer активний.
Продуктивність налагодження
Для вимірювання продуктивності NavigationServer існує спеціальний монітор, який можна знайти в редакторі Debugger у розділі Debugger->Monitors->Navigation Process.

Процес навігації показує, скільки часу NavigationServer витрачає на оновлення своїх внутрішніх елементів цього кадру оновлення в мілісекундах. Процес навігації працює подібно до процесу для візуалізації візуального кадру та процесу фізики для зіткнень і фіксованих оновлень.
Навігаційний процес враховує всі оновлення навігаційних карт, навігаційних регіонів і навігаційних агентів, а також усі обчислення уникнення для кадру оновлення.
Примітка
Процес навігації НЕ включає продуктивність пошуку шляху, оскільки пошук шляху працює з даними навігаційної карти незалежно від оновлення процесу сервера.
Щоб уникнути проблем із частотою кадрів, загалом процес навігації має бути максимально низьким і стабільним, наскільки це можливо, для продуктивності під час виконання. Зауважте, що оскільки оновлення процесу NavigationServer відбувається в середині оновлення фізики, збільшення процесу навігації автоматично збільшить процес фізики на таку ж величину.
Навігація також надає більш детальну статистику про поточні пов’язані з навігацією об’єкти та склад навігаційної карти на NavigationServer.

Наведену тут статистику навігації не можна оцінити як хорошу чи погану для продуктивності, оскільки це повністю залежить від проекту, що можна вважати розумним або жахливо надмірним.
Навігаційна статистика допомагає виявити вузькі місця продуктивності, які менш очевидні, оскільки джерело не завжди може мати видиме представлення. наприклад проблеми з продуктивністю пошуку шляху, спричинені надто деталізованими сітками навігації з тисячами країв/багатокутників або проблеми, спричинені неправильною процедурною навігацією.