Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Debug-Tools für Navigation¶
Bemerkung
Die Debug-Tools, Propertys und Funktionen sind nur in Godot-Debug-Builds verfügbar. Verwenden Sie sie nicht in Code, der Teil eines Release-Builds sein soll.
Navigations-Debugging aktivieren¶
Die Navigations-Debug-Visualisierungen sind im Editor standardmäßig aktiviert. Um Navigations-Meshes und -verbindungen auch zur Laufzeit zu visualisieren, aktivieren Sie die Option Sichtbare Navigation im Editormenü Debug.
In Godot-Debug-Builds kann das Navigations-Debugging auch über die NavigationServer-Singletons von Skripten aus ein- und ausgeschaltet werden.
NavigationServer2D.set_debug_enabled(false)
NavigationServer3D.set_debug_enabled(true)
Einstellungen zum Navigations-Debugging¶
Das Aussehen des Navigations-Debugging kann in den Projekteinstellungen unter debug/shapes/navigation
geändert werden. Bestimmte Debug-Funktionen können auch nach Belieben aktiviert oder deaktiviert werden, erfordern aber möglicherweise einen Neustart der Szene, um wirksam zu werden.
Polygone des Navigations-Meshes debuggen¶
Wenn enable_edge_lines
aktiviert ist, werden die Kanten von Navigations-Mesh-Polygonen hervorgehoben. Wenn enable_edge_lines_xray
ebenfalls aktiviert ist, werden die Kanten von Navigations-Meshes durch die Geometrie sichtbar.
Wenn enable_geometry_face_random_color
aktiviert ist, wird die Farbe jeder Fläche des Meshs mit einer zufälligen Farbe gemischt, die wiederum mit der in geometry_face_color
angegebenen Farbe gemischt wird.
Debuggen von Kantenverbindungen¶
Wenn zwei Navigations-Meshes innerhalb der edge_connection_margin
-Distanz verbunden sind, wird die Verbindung überlagert. Die Farbe der Überlagerung wird durch edge_connection_color
gesteuert. Die Verbindungen können durch Geometrie mit enable_edge_connections_xray
sichtbar gemacht werden.
Bemerkung
Kantenverbindungen sind nur sichtbar, wenn der NavigationServer aktiv ist.
Debug-Performance¶
Um die Performance des Navigationsservers zu messen, gibt es einen eigenen Monitor, der im Editor-Debugger unter Debugger->Monitore->Navigationsprozess zu finden ist.
Navigation Process zeigt in Millisekunden an, wie lange der NavigationServer mit der Aktualisierung seiner Interna in diesem Aktualisierungsframe verbringt. Navigation Process funktioniert ähnlich wie Process für visuelles Frame-Rendering und wie Physics Process für Kollisions- und feste Updates.
Navigation Process berücksichtigt alle Aktualisierungen von Navigations-Maps, Navigationsregionen und Navigationsagenten sowie alle Ausweichberechnungen für den Aktualisierungs-Frame.
Bemerkung
Der Navigationsprozess umfasst NICHT die Performance der Wegfindung, da die Wegfindung unabhängig von der Aktualisierung des Serverprozesses auf den Navigations-Map-Daten basiert.
Der Navigationsprozess sollte im Allgemeinen so niedrig und stabil wie möglich gehalten werden, um Probleme mit der Framerate zu vermeiden. Da die Aktualisierung des Navigationsserver-Prozesses in der Mitte des Physik-Updates stattfindet, wird eine Erhöhung des Navigationsprozesses automatisch den Physikprozess um den gleichen Betrag erhöhen.
Die Navigation liefert auch detailliertere Statistiken über die aktuellen navigationsbezogenen Objekte und die Zusammensetzung der Navigations-Map auf dem NavigationServer.
Die hier gezeigten Navigationsstatistiken können nicht als gut oder schlecht für die Performance bewertet werden, da es ganz vom jeweiligen Projekt abhängt, was als angemessen oder fürchterlich übertrieben angesehen werden kann.
Navigationsstatistiken helfen bei der Identifizierung von Performance-Bottlenecks, die weniger offensichtlich sind, weil die Quelle nicht immer eine sichtbare Darstellung hat. Z.B. Performance-Probleme bei der Wegfindung, die durch zu detaillierte Navigations-Meshes mit Tausenden von Kanten/Polygonen entstehen, oder Probleme, die durch schiefgelaufene prozedurale Navigation verursacht werden.