Um dich bei der Erkennung ungewöhnlicher Physik zu unterstützen, bietet Chaos Visual Debugger (CVD) Debug-Zeichnen-Werkzeuge, mit denen du Aspekte deiner Anwendung visualisieren kannst, die normalerweise während der Laufzeit nicht sichtbar sind.
Du kannst steuern, welche Debug-Werkzeuge im Viewport visualisiert werden, indem du Daten-Flags umschaltest. Daten-Flags sind in die folgenden Kategorien unterteilt:
Bestimmte Flags, etwa Schwerpunkt der Masse, können sich auf die Performance von CVD auswirken. Wenn die Debug-Zeichnen-Grenze erreicht ist, erscheint im Viewport eine Warnung:
Max Debug Draw lines limit reached! Try selecting fewer debug draw categories or focus the camera in a narrower area.
Kollisionsdaten
Visualisierte Kollisionsdaten können dir helfen, Bereiche zu erkennen, in denen es zu unerwarteten Kollisionen kommt. Beispiel, wenn zwei Objekte sich überschneiden, anstatt wie erwartet zu kollidieren.
Um Kollisionsdaten zu aktivieren, führe die folgenden Schritte aus:
Klicke in der Viewport-Werkzeugleiste auf Anzeigen > Kollisionsdaten-Flags > Zeichnen aktivieren. Diese Option öffnet eine Liste mit Daten-Flags.
Triff deine Auswahl in der Liste der Daten-Flags, um diese ein- oder auszuschalten.
Klicke auf Kollisionsvisualisierungseinstellungen, um anzupassen, wie die Daten im Viewport gezeichnet werden.
Die Visualisierungseinstellungen umfassen die folgenden Optionen:
Debugging-Text anzeigen: Schaltet Viewport-Debugging-Text (sofern vorhanden) ein und aus
Depth Priority (Tiefenpriorität): Zeichnet Daten im Welt-Bereich oder im Vordergrund (immer über anderen Szenenkomponenten).
Optionen für Skalierung und Radius: Steuert die Größe von Debug-Zeichnen-Elementen, wodurch sie im Viewport besser sichtbar sind.
Die meisten Daten-Flags umfassen Visualisierungseinstellungen, die ähnliche umschaltbare Funktionen beinhalten.
Szenenabfragen
Visualisierte Szenenabfragen (Linien-Traces, Sweeps und Überlappungen) können dir beim Debugging von Fällen helfen, in denen du eine Abfrage während der Laufzeit durchgeführt hast, die Abfrage aber kein erwartetes Objekt gefunden hat.
Befolge diese Schritte, um Szene-Abfrage-Daten zu aktivieren:
Klicke in der Viewport-Werkzeugleiste auf Anzeigen > Daten-Flags der Szenenabfrage > Zeichnen aktivieren. Diese Option öffnet eine Liste mit Daten-Flags.
Triff deine Auswahl in der Liste der Daten-Flags, um diese ein- oder auszuschalten.
Klicke auf Visualisierungseinstellungen der Szenenabfrage, um anzupassen, wie die Daten im Viewport gezeichnet werden.
Partikeldaten
Visualisierte Partikeldaten können dir dabei helfen, unregelmäßiges Partikelverhalten zu erkennen, etwa wenn sich ein Partikel nach dem Anwenden einer Kraft schneller als erwartet bewegt.
Befolge diese Schritte, um Partikeldaten zu aktivieren:
Klicke in der Viewport Werkzeugleiste auf Anzeigen > Partikeldaten-Flags > Zeichnen aktivieren. Diese Option öffnet eine Liste mit Daten-Flags.
Triff deine Auswahl in der Liste der Daten-Flags, um diese ein- oder auszuschalten.
Klicke auf Visualisierungseinstellungen der Partikeldaten, um anzupassen, wie die Daten im Viewport gezeichnet werden.
CVD zeichnet und visualisiert nur Physik-Thread-Partikeldaten, keine Spiel-Thread-Partikeldaten. Spiel-Thread-Partikeldaten werden nicht visualisiert.
Geometrie
Die meisten Partikel haben sowohl eine einfache als auch eine komplexe Kollisionsgeometrie, aber nur eine wird für die Kollisionserkennung verwendet.
Optionen zum Umschalten zwischen einfacher und komplexer Geometrie sowie andere Geometrie-Flags findest du in der Viewport-Werkzeugleiste im Menü Anzeigen > Geometrie-Flags.
Nur-Abfrage-Geometrie wird mit durchscheinendem Material visualisiert. Du kannst dich durch Drücken von T (oder durch Klicken auf Auswahl von Durchsichtigem zulassen im Hamburger-Menü) durch die durchscheinenden Materialien klicken, um die Durchscheinend-Auswahl zu aktivieren oder zu deaktivieren.
Partikelfarbgebung
Um die Zeichnen-Sichtbarkeit zu erhöhen, kannst du Partikel mit einem der folgenden Modi einfärben:
Nichts: Zeichnet Partikel in Standard-Grau
State (Status): Färbt basierend auf dem Zustand eines Physik-Körpers in einer Simulation (dynamisch, Ruhezustand, kinematisch oder statisch) ein
Shape Typ (Formentyp): Färbt basierend auf dem Typ der Kollisionsgeometrie (einfache Formen, konvexe, Höhenfeld oder Tri-Mesh) ein
Client Server: Färbt basierend auf vom Client oder Server gespawnten Partikeln ein
Status und Standard-Grau
Befolge diese Schritte, um den Modus zu ändern und die Farben anzupassen:
Klicke in der Viewport-Werkzeugleiste auf Anzeigen > Partikelfarbgebung.
Klicke in der Dropdown-Liste Farbmodus auf Partikel-Farbmodus und wähle den zu verwendenden Modus aus.
Klicke auf das Dropdown-Listenmenü Farbe nach [Modus], um die Farben anzupassen. Klicke dann auf eine Farb-Kachel, um eine kontextbezogene Farbauswahl zu öffnen.
Die nachfolgende Tabelle beschreibt die kontextbezogene Farbauswahl der Benutzeroberfläche.
| Number | Beschreibung |
|---|---|
1 | Farbrad (oder Farbspektrum, wenn aktiviert) |
2 | Zeigt die aktuelle und die zuvor ausgewählten Farben an |
3 | Schaltet die sRGB-Vorschau um |
4 | Schaltet zwischen Farbrad und Farbspektrum um |
5 | Schaltet die Sichtbarkeit von Farbschemata um |
6 | Pipettenwerkzeug |
7 | RGB/HSV-Schieberegler |
8 | Alpha-Schieberegler |
11. | Zeigt den Hex-Code der aktuellen Farbe an |
10 | Farbschemata: Funktioniert ähnlich wie Farbfelder in Adobe Photoshop und anderen Design-Programmen |
Gelenkbeschränkungen
Visualisierte Gelenkbeschränkungen können dir dabei helfen, unerwünschtes Ragdoll-Verhalten zu debuggen, wie etwa sich verdrehende Gelenke. CVD zeichnet Gelenkbeschränkungsdaten als individuelle Datenelemente für jeden Frame auf. Aus diesem Grund ist es aktuell nicht möglich, eine Auswahl über Gameplay-Frames hinweg aufrechtzuerhalten.
Befolge diese Schritte, um Gelenkbeschränkungsdaten zu aktivieren:
Klicke in der Viewport Werkzeugleiste auf Anzeigen > Daten-Flags der Gelenkbeschränkung > Zeichnen aktivieren. Diese Option öffnet eine Liste mit Daten-Flags.
Triff deine Auswahl in der Liste der Daten-Flags, um diese ein- oder auszuschalten.
Klicke auf Visualisierungseinstellungen der Gelenkbeschränkung, um anzupassen, wie die Daten im Viewport gezeichnet werden.
Charakter-Bodenbeschränkungen
CVD kann den Zustand von Charakterbodenbeschränkungen aufzeichnen, die vom Charakter-Bewegungssystem von Unreal Engine (Mover 2.0) verwendet werden. Mit diesem Flag kannst du ungewöhnliches Verhalten identifizieren und debuggen, z. B. Charaktere, die über einer Bodenebene schweben oder sich durch eine Bodenebene clippen.
Führe die folgenden Schritte aus, um Charakterbodenbeschränkungsdaten zu aktivieren:
Klicke in der Viewport-Werkzeugleiste auf Anzeigen > Daten-Flags der Charakterbodenbeschränkung > Zeichnen aktivieren. Diese Option öffnet eine Liste mit Daten-Flags.
Triff deine Auswahl in der Liste der Daten-Flags, um diese ein- oder auszuschalten.
Klicke auf Visualisierungseinstellungen der Charakterbodeneinschränkungen, um anzupassen, wie die Daten im Viewport gezeichnet werden.
Allgemeine Debug-Zeichnungsdaten
Die folgenden C++-Makros und Blueprints-Knoten zeichnen Debugging-Zeichenformen direkt in CVD auf. Debug-Zeichenformen können beim Debuggen von Physikberechnungen Kontext bieten.
Wenn du zum Beispiel zwei Punkte im Raum zur Berechnung der Kraft nutzt, die auf einen Physik-Körper angewendet wird, dann zeigt CVD den Körper nur vor und nach Anwendung der Kraft an. Wenn etwas nicht stimmt, kannst du generische Debug-Makros (oder Blueprint-Knoten) verwenden, um die beiden Punkte und die Kraft Frame für Frame zu visualisieren. Dieser Workflow kann Kontext zur Berechnung der Kraft bieten und dir helfen, diese zu korrigieren.
C++-Makros
Abhängig von der Form, die du zeichnen musst, verfügt jedes Makro über einen eigenen Parametersatz. Ausnahmen davon sind die folgenden optionalen Parameter, die jedes Makro verwendet:
| Makro | Parameter | Beschreibung |
|---|---|---|
TraceDebugDrawBox | InBox | Die Form, die du aufnehmen möchtest |
Alle Makros | Tag | Der FName, der als Tag zum Filtern, Suchen und Debug-Zeichnen als Text-Tag im CVD-Viewport verwendet wird |
Alle Makros | Farbe | Die auf diese Form anzuwendende Farbe, wenn sie in CVD mit Debug-Zeichnen erstellt wird |
Alle Makros | SolverID | Die ID des Solvers, dem diese Form zugeordnet werden soll. Wenn keine ID angegeben wird, wird diese Form als Teil des aktuellen Spiels aus dem Daten-Container hinzugefügt. |
TraceDebugDrawLine, TraceDebugDrawVector | InStartLocation | Der Startpunkt der Linie |
TraceDebugDrawLine | InEndLocation | Das Ende der Linie |
TraceDebugDrawVector | InVector | Der Vektor, den du aufzeichnen möchtest |
TraceDebugDrawSphere | Mitte | Der Ursprungspunkt der Kugel |
TraceDebugDrawSphere | Radius | Der Radius der Kugel |
Alle Makros | Owner | Jedes UObject, mit dem diese Debug-Zeichen-Form in Verbindung steht. Dies wird intern verwendet, um zu ermitteln, ob eine Form von einem Server-Solver oder einem Client-Solver aufgezeichnet wurde. |
Blueprint-Knoten
Die folgenden generischen Debug-Makros können auch als Funktionsknoten im Event-Diagramm eines Blueprint implementiert werden:
CVD Record Debug Draw Sphere
CVD Record Debug Draw Box
CVD Record Debug Draw Line
Weitere Informationen zu den einzelnen Knoten findest du im Abschnitt „Chaos Visual Debugger“ in der Blueprint-API-Referenz für Unreal Engine.
Aktivieren allgemeiner Debug-Zeichnendaten
Befolge diese Schritte, um allgemeine Debug-Zeichnendaten zu aktivieren:
Klicke in der Viewport-Werkzeugleiste auf Anzeigen > Daten-Flags des allgemeinen Debug-Zeichnens > Zeichnen aktivieren. Diese Option öffnet eine Liste mit Daten-Flags.
Triff deine Auswahl in der Liste der Daten-Flags, um diese ein- oder auszuschalten.
Klicke auf Datenvisualisierungseinstellungen des allgemeinen Debug-Zeichnens, um anzupassen, wie die Daten im Viewport gezeichnet werden.
Beschleunigungsstrukturen
CVD kann Beschleunigungsstrukturen aufzeichnen und visualisieren, die vom Szeneabfragesystem verwendet werden, derzeit ein AABB-Baum (axial ausgerichteter Begrenzungsrahmen). Ein AABB-Baum ist eine Hierarchie von Begrenzungsvolumen, mit deren Hilfe du potenzielle Überlappungen zwischen Objekten bestimmen kannst.
In CVD kannst du die AABB-Baum-Visualisierung nutzen, um den Aufbau des Baums und die Grenzen jedes Objekts zu sehen, wie sie dem Baum hinzugefügt wurden.
Die Visualisierung ist nützlich, wenn ein Objekt, das eine Szenenabfrage hätte treffen sollen, nicht getroffen oder nicht einmal von der Physik-Engine ausgewertet wurde. Du kannst die AABB-Baum-Visualisierung in CVD verwenden, um die Grenzen des Objekts zu untersuchen und zu bestimmen, ob ein Fehler beispielsweise hervorgerufen wurde, weil die Grenzen das Objekt nicht visuell umschließen oder falsche Grenzen innerhalb des Baums vorliegen.
Befolge diese Schritte, um anzupassen, welche Beschleunigungsstruktur-Daten-Flags gezeichnet werden:
Klicke im Viewport auf Anzeigen > Flags der Beschleunigungsstrukturdaten und wähle deine gewünschten Daten-Flags.
Klicke auf Visualisierungseinstellungen der Beschleunigungsstruktur, um anzupassen, wie die Daten im Viewport gezeichnet werden.
Häufige Anzeige-Flags
Das Menü Häufige Anzeige-Flags enthält von der Engine selbst abgeleitete Flags, die bei der Sichtbarkeit in CVD helfen können.
Klicke in der Viewport-Werkzeugleiste auf Anzeigen > Häufige Anzeige-Flags, um anzupassen, welche Flags aktiviert werden sollen.
Als Nächstes
Dateninspektoren
Dateninspektoren in Chaos Visual Debugger verstehen.
Erfassen von Daten mit Chaos Visual Debugger
Erfassen und Wiedergeben von Aufnahmen mit Chaos Visual Debugger.