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...
Strumenti di debug della navigazione
Nota
Gli strumenti, le proprietà e le funzioni di debug sono disponibili solo nelle build di debug di Godot. Non utilizzarli nel codice che farà parte di una build di rilascio.
Abilitare il debug della navigazione
Le visualizzazioni di debug della navigazione sono abilitate come predefinito nell'editor. Per visualizzare le mesh e le connessioni di navigazione anche in fase di esecuzione, abilita l'opzione Vedi navigazione nel menu Debug dell'editor.
Nelle build di debug di Godot, il debug della navigazione si può cambiare anche tramite i singleton NavigationServer dagli script.
NavigationServer2D.set_debug_enabled(false)
NavigationServer3D.set_debug_enabled(true)
NavigationServer2D.SetDebugEnabled(false);
NavigationServer3D.SetDebugEnabled(true);
Le visualizzazioni di debug si basano attualmente sui nodi nell'albero di scene. Se si utilizzano esclusivamente le API del NavigationServer2D o del NavigationServer3D, le modifiche non verranno riflesse dagli strumenti di debug di navigazione.
Impostazioni di debug della navigazione
L'aspetto del debug di navigazione si può cambiare nelle Impostazioni del progetto in debug/shapes/navigation. Alcune funzionalità di debug si possono anche abilitare o disabilitare a piacimento, ma potrebbe essere necessario riavviare la scena affinché le modifiche abbiano effetto.
Debug sui poligoni delle mesh di navigazione
Se enable_edge_lines è abilitata, i bordi dei poligoni delle mesh di navigazione saranno evidenziati. Se anche enable_edge_lines_xray è abilitata, i bordi delle mesh di navigazione saranno visibili attraverso la geometria.
Se enable_geometry_face_random_color è abilitato, il colore di ogni faccia della mesh di navigazione verrà miscelato con un colore a caso che a sua volta è miscelato con il colore specificato in geometry_face_color.
Debug sulle connessioni ai bordi
Quando due mesh di navigazione sono connesse entro una distanza pari a edge_connection_margin, la connessione è sovrapposta. Il colore della sovrapposizione è controllato da edge_connection_color. Le connessioni si possono rendere visibili attraverso la geometria con enable_edge_connections_xray.
Nota
Le connessioni ai bordi sono visibili solo quando il NavigationServer è attivo.
Debug delle prestazioni
Per misurare le prestazioni del NavigationServer, esiste un monitor dedicato che si trova all'interno del Debugger dell'editor in Debugger->Monitors->Navigation Process.
Il processo di navigazione mostra in millisecondi quanto tempo il NavigationServer impiega per aggiornare i suoi dati interni in questo frame di aggiornamento. Il processo di navigazione funziona in modo simile al processo per il rendering dei frame visivi e al processo di fisica per gli aggiornamenti fissi e relativi alle collisioni.
Il processo di navigazione tiene conto di tutti gli aggiornamenti delle mappe di navigazione, delle regioni di navigazione e degli agenti di navigazione, nonché di tutti i calcoli di evitamento per il frame di aggiornamento.
Nota
Il processo di navigazione NON include le prestazioni di ricerca del percorso, poiché la ricerca del percorso opera sui dati della mappa di navigazione indipendentemente dall'aggiornamento del processo del server.
Il processo di navigazione dovrebbe, generalmente, essere mantenuto il più basso e stabile possibile per ottimizzare le prestazioni in fase di esecuzione ed evitare problemi di frame rate. Si noti che, poiché l'aggiornamento del processo del NavigationServer avviene nel mezzo dell'aggiornamento della fisica, un aumento nel processo di navigazione porterà automaticamente un aumento del processo di fisica della stessa quantità.
La navigazione fornisce inoltre statistiche più dettagliate sugli oggetti di navigazione attuali e sulla composizione della mappa di navigazione presenti sul NavigationServer.
Non è possibile giudicare le statistiche di navigazione qui riportate come buone o pessime per le prestazioni, poiché ciò che può essere considerato ragionevole o eccessivo dipende interamente dal progetto.
Le statistiche di navigazione aiutano a identificare i colli di bottiglia meno evidenti sulle prestazioni, poiché la loro causa potrebbe non sempre avere una rappresentazione visibile. Ad esempio, problemi di prestazioni nella ricerca del percorso causati da mesh di navigazione eccessivamente dettagliate, con migliaia di bordi/poligoni, o problemi causati da una navigazione procedurale andata male.