Chaos Visual Debugger (CVD) ist ein Werkzeug, mit dem du Physik-Simulationen aufzeichnen kannst. Mit CVD kannst du Spiele und Anwendungen aufzeichnen, die auf deinem Rechner, einem Remote-Rechner oder einer Plattform laufen, die mit deinem Rechner verbunden ist.
Durch das Abspielen von Aufnahmen in CVD kannst du Daten zum Debuggen untersuchen. Diese Aufnahmen sind projektunabhängig, können also auch ohne Zugang zu den UE-Projektdateien (Unreal Engine) geladen werden, was teamübergreifende Zusammenarbeit oder Remote-Debugging ermöglicht.
Zu den Daten, die CVD aufzeichnet, gehören:
Partikel (einschließlich Geschwindigkeit, Beschleunigungen, Masse-Eigenschaften und Objektzustände)
Kollisionsgeometrie (einschließlich Kollisionskanälen)
Kollisionsbeschränkungen (Kontaktpaare mit ihrem Zustand)
Gelenkbeschränkungen (Status- und Gelenkeinstellungen)
Charakter-Bodenbeschränkungen (physikbasierte Charakterbewegung)
Szenenabfragen (einschließlich Linien-Traces, Sweeps und Überlappungen)
Festkörper-Animationsknoten (RBAN)
Im Kontext von CVD bezieht sich der Begriff Partikel üblicherweise auf Festkörper.
Starten von Chaos Visual Debugger
Es gibt zwei Möglichkeiten, CVD zu starten: über den Editor oder als eigenständiges Programm.
In Unreal Editor
Um Chaos Visual Debugger in Unreal Editor zu öffnen, klicke in der Menüleiste auf Werkzeuge > Fehler beheben > Chaos-Visual-Debugger. Nachdem du CVD ausgewählt hast, öffnet sich das Werkzeug in einem neuen Fenster.
Als eigenständiges Programm
Um CVD als eigenständiges Programm auszuführen, musst du einen Quellcode-Build von Unreal Engine verwenden. Du kannst einen Quellcode-Build von GitHub herunterladen. Weitere Informationen findest du unter Erstellen von Unreal Engine über den Quellcode.
Du kannst CVD als eigenständiges Programm entweder aus einer ausführbaren Datei (nicht portabel) oder einer Batch-Datei (portabel) erstellen und ausführen. Die folgende Tabelle beschreibt den Dateispeicherort und die Erstellungsschritte für jede Option.
| Build-Ablauf | Beschreibung |
|---|---|
Ausführbare CVD-Datei | Die ausführbare Datei befindet sich im folgenden Dateipfad: Um CVD zu erstellen und auszuführen, befolge diese Schritte:
Nach der Erstellung kannst du eine Shortcut zur ausführbaren Datei erstellen und das Werkzeug mit einem einzigen Klick ausführen. |
CVD-Batch-Datei | Die Batch-Datei befindet sich unter dem folgenden Pfad: Um CVD zu erstellen und auszuführen, befolge diese Schritte:
|
Erkunden der CVD-Benutzeroberfläche
Dieser Abschnitt beschreibt die gängigsten Schaltflächen, Bereiche und Werkzeugleisten, mit denen du in Chaos Visual Debugger interagieren wirst. Einige dieser Elemente ähneln zwar dem Unreal Editor-Interface, aber aufgrund der visuellen Unterschiede zwischen CVD und einigen Unreal Editor-Versionen solltest du dich mit CVD vertraut machen.
Die Abschnitte unten beschreiben, wo sich die einzelnen Benutzeroberfläche-Element befinden, und bieten einfache Anwendungsfälle. Unter den auf dieser Seite aufgeführten Links findest du ausführlichere Informationen.
| Number | Name | Übersicht |
|---|---|---|
1 | Menüleiste | Optionen zum Laden der neuesten Aufnahmen und zur Anpassung des CVD-Layouts |
2 | Haupt-Symbolleiste | Optionen zum Starten oder Stoppen von Aufzeichnungen, zum Laden von Aufnahmen und zum Personalisieren der aufzuzeichnenden Daten |
3 | Viewport-Werkzeugleiste | Optionen zum Modifizieren, welche Daten im Viewport angezeigt werden und wie sie visuell hervorgehoben werden |
4 | Szenen-Outliner | Zeigt eine Liste der Szenenkomponenten innerhalb einer Aufnahme an |
5 | Viewport | Zeigt eine geladene oder Live-Aufnahme an, etwa den Unreal Editor-Viewport. Dies kann Folgendes umfassen:
|
6 | Wiedergabe-Steuerelemente | Zeigt eine Sammlung von Wiedergabe- und Logdateien an, darunter: |
7 | Details-Panel | Zeigt Informationen für eine Auswahl im Viewport an, die keinen dedizierten Daten-Inspektor hat, etwa Partikel |
8 | Dateninspektoren | Bietet zusätzliche Details für: |
Menüleiste
| Name | Beschreibung | Bild |
|---|---|---|
Datei | Schnellzugriff zum Öffnen kürzlich aufgenommener Aufnahmen | |
Fenster | Blendet Teile der CVD-Benutzeroberfläche ein oder aus |
Haupt-Symbolleiste
| Number | Name | Beschreibung |
|---|---|---|
1 | Datei öffnen | Lädt bestehende |
2 | Mit Sitzung verbinden | (Legacy) Stellt eine Verbindung zu einem Remote-Rechner für Remote-Debugging her. Dies wird jetzt nur noch bei der Aufzeichnung einer Remote Sitzung über die Befehlszeile verwendet. Weitere Informationen findest du unter (Legacy) Aufzeichnen einer Live-Sitzung mit der Befehlszeilen-Benutzeroberfläche. |
3 | Kombinieren | Kombiniert mehrere Aufnahmen, die in CVD geöffnet sind, zu einer |
4 | Szenenabfrage-Browser | Untersucht alle Szenenabfragen für einen einzelnen Frame. Weitere Informationen zu diesem Thema findest du unter Daten-Inspektoren. |
5 | Sitzungsziele | Wählt die Ziele für die Aufnahme aus |
6 | Lademodus | Lädt eine einzelne oder mehrere Aufnahmen (wodurch Daten zusammengeführt werden) |
7 | In Datei aufzeichnen | Startet eine Aufzeichnung und speichert sie in einer Datei |
8 | Live-Sitzung aufzeichnen | Beginnt eine Aufnahme und rendert die Visualisierung in Echtzeit |
11. | Datenkanäle | Passt die während der Aufzeichnung erfassten Daten an, darunter: |
10 | Einstellungen | Passt die Benutzeroberfläche und Performance von CVD an |
Viewport-Werkzeugleiste
Hamburger-Menü
| Name | Beschreibung | Bild |
|---|---|---|
Mit aufgezeichneter Framerate wiedergeben | Überschreibt die aufgezeichnete Framerate mit einer festen Framerate | |
Objektverfolgung (F8) | Sperrt die Kamera an einem Objekt im Viewport | |
Sichtfeld-Optionen | Passt das Sichtfeld des Viewport und die weiteste Render-Distanz an | |
Auswahl von Durchsichtigem zulassen | Schaltet die Fähigkeit um, durch durchscheinende Objekte zu klicken | |
Gehe zu Position | Teleportiert die Kamera an einen Ort, der in diesem Feld im XYZ-Format eingegeben wurde |
Ansichtsmodus
Der Ansichtsmodus wechselt im Viewport zwischen den Ansichten Perspektive, Oben, Unten, Links, Rechts, Vorne und Hinten.
Beleuchtungsmodus
Der Beleuchtungsmodus wechselt im Viewport zwischen den Anzeigemodi Beleuchtet, Unbeleuchtet, Beleuchtetes Drahtgitter und Drahtmodell.
Beleuchtungsmodi
Schaltfläche Anzeigen
Die Schaltfläche Anzeigen modifiziert, welche Visualisierungsflags und Debug-Texte im Viewport für eine bestehende Aufnahme sichtbar sind. Mehr Informationen zu Datenflags findest du unter Datenvisualisierung-Flags.
Die Einstellungen in diesem Menü bleiben zwischen CVD-Sitzungen bestehen, wenn du sie nicht auf die Standard-Einstellungen zurücksetzt.
Transformations- und Andocken-Werkzeugleiste
Die Transformations- und Andocken-Werkzeugleiste ähnelt der alten Viewport-Werkzeugleiste in früheren Versionen von Unreal Editor. Am häufigsten wirst du diese Werkzeuge verwenden, um Licht-Actors zu bearbeiten.
| Icon | Name | Beschreibung |
|---|---|---|
Objekte auswählen | Wählt Objekte innerhalb des Viewport aus | |
Objekte auswählen und verschieben | Verschiebt Licht-Actors in der Welt entlang einzelner Achsen, auf zwei oder auf allen drei Achsen | |
Objekte auswählen und drehen | Dreht Licht-Actors entlang einzelner Achsen | |
Objekte auswählen und skalieren | Skaliert Licht-Actors mit dem Skalieren Gizmo. Verwende das Gizmo, um Objekte entlang einzelner Achsen, zweier Achsen oder einheitlich auf allen drei Achsen zu skalieren. | |
Koordinatensystem | Schaltet das Koordinatensystem zwischen Welt und Lokal um. | |
An Oberfläche andocken | Legt das Andocken-Verhalten von Licht-Actors fest, wenn du sie an der Oberfläche eines anderen Objekts entlang ziehst | |
Am Raster andocken | Legt fest, ob Licht-Actors am Raster andocken, und legt den Inkrement fest | |
Drehungsinkremente | Legt fest, ob Licht-Actors in Inkrementen rotieren, und legt den Grad fest | |
Skalierungsschritte | Schaltet die Skalierung von Licht-Actors in Schritten um und legt die Schrittweite fest | |
Kamerageschwindigkeit | Beeinflusst die Geschwindigkeit, mit der sich die Kamera in der Welt bewegen kann |
Szenen-Outliner
Der Szenen-Outliner zeigt eine Liste von Szenenkomponenten innerhalb einer Aufnahme an. Da jede Aufnahme mehrere Solver enthalten kann, werden die Partikel jedes Solvers in einem Ordner mit dem Namen und der ID des Solvers abgelegt, zu dem sie gehören. In diesem Ordner ist jedes Partikel mit seinem Chaos-seitigen Debug-Namen beschriftet.
In CVD ist ein Physik-Solver eine Instanz einer Physik-Simulation (normalerweise aus einer Spielwelt), die von der Chaos-Physik-Engine verarbeitet wird.
Wiedergabe-Steuerelemente
Chaos Visual Debugger umfasst Steuerelemente zum Wiedergeben und Zurückspulen bestehender Aufnahmen basierend auf Spiel-Thread-Frames, Physik-Solver-Frames oder Phasen einer Simulation. Damit vergrößert sich der Umfang, in dem du Situationen untersuchen kannst, in denen du vernetzte Physik, asynchrone Physik oder mehrere Spielwelten (z. B. Mehrspieler-Spiele) verwendest.
Spiel-Frames-Zeitleiste
Die Spiel-Frames-Zeitleiste stellt jeden Spiel-Thread Frame für eine Aufnahme dar.
Wenn du eine Aufnahme über diese Zeitleiste wiedergibst, wirst du feststellen, dass die Solver-Zeitleiste ebenfalls wiedergegeben wird. Der Grund dafür ist, dass CVD für jeden abgespielten Spiel-Thread-Frame nach dem nächstgelegenen zu diesem Zeitstempel verfügbaren Physik-Solver-Frame sucht.
Die Frame-Nummern der Spiel-Frames-Zeitleiste stimmen möglicherweise nicht immer mit der Solver-Zeitleiste überein. Der Grund dafür ist, dass Spiel-Thread-Frames mehreren Physik-Solver-Frames entsprechen können. Durch den Zugriff auf beide Zeitleisten kannst du Situationen untersuchen, in denen dies geschieht, beispielsweise bei der Verwendung von asynchroner Physik.
Eine umfassende Erklärung der Funktionsweise von CVD zur Visualisierung von synchroner und asynchroner Physik, Daten aus mehreren Spielwelten und neu simulierten Frames findest du in Debugging Chaos Physics in Unreal Engine ab Minute 16:05.
Solver-Zeitleiste
Die Solver-Zeitleiste repräsentiert jeden Physik-Solver-Frame für eine Aufnahme. Jeder Solver erhält einen dedizierten Track. Mit dieser Zeitleiste kannst du Daten für jeden Solver-Track wiedergeben und sehen, welcher Solver-Frame einem bestimmten Spiel-Thread-Frame entspricht.
| Einstellung | Beschreibung | Bild |
|---|---|---|
Zeitleisten-Synchronisationsmodus | Steuert, wie die einzelnen Solver-Tracks synchronisiert werden.
| |
Resimulation-Abzeichen | Erscheint in jedem Solver-Track, der Frames enthält, die Teil einer Resimulation sind, die während des Netzwerk-Desynchronisation-Korrekturprozesses erstellt wurde | |
Sichtbarkeits-Steuerelement | Blendet visualisierte Daten von einem bestimmten Solver-Track ein oder aus |
Solver-Phasen-Zeitleiste
Mit der Solver-Phasen-Zeitleiste kannst du zu einer bestimmten Phase einer Physik-Simulation springen. Phasen sind Momentaufnahmen einer Simulation, die zu verschiedenen Punkten innerhalb eines einzelnen Physik-Frame erstellt wurden.
Du kannst die folgenden Phasen am Beispiel einer Partikelsimulation visualisieren:
| Phase | Beschreibung |
|---|---|
Evolutionsstart | Erstellt einen Schnappschuss aller Partikel zu Beginn des Solver-Schritts |
Nach Integration | Erstellt einen Schnappschuss von allen Partikeln, nachdem die |
Kollisionserkennung breite Phase | Erstellt einen Schnappschuss aller Mittelphasen (für jedes Partikelpaar, dessen Grenzen sich überlappen, wird ein Objekt erstellt), nachdem die breite Phase des Kollisionserkennungsprozesses ausgeführt wurde |
Kollisionserkennung enge Phase | Erstellt eine Momentaufnahme aller Mittelphasen nach Ausführung der engen Phase des Kollisionserkennungsprozesses |
Vor Auflösung der Beschränkung | Erstellt einen Schnappschuss aller Partikel, bevor die verfügbaren Beschränkungen gelöst werden |
Nach Auflösung der Beschränkung | Macht einen Schnappschuss von allen Partikeln, nachdem die Beschränkungen aufgelöst wurden |
Evolutionsende | Erstellt am Ende des Solver-Schritts einen Schnappschuss aller Partikel |
Die Solver-Phasen-Zeitleiste eignet sich gut, um ungewöhnliches Verhalten in einzelnen Frames zu untersuchen, etwa wenn ein Objekt am Anfang eines Frames an der korrekten Position erscheint, sich aber am Ende des Frames an einer unerwarteten Position befindet.
Aufgezeichnetes Output-Log
Neben dem Solver-Zeitleisten-Tracks-Tab befindet sich der Tab Aufgezeichnetes Output-Log. Hier nimmt CVD den Log-Stream deiner Anwendung für die rückwirkende Überprüfung auf.
Output-Log
Das Output-Log ist ein Echtzeit-Log zur Überwachung von Aktivitäten. Dieser Tab zeigt das aktive Log für die gegenwärtige CVD-Instanz und Fehler oder Warnungen für CVD selbst an.
Details-Panel
Das Details-Panel zeigt Informationen für eine im Viewport getroffene Auswahl an.
Das Details-Panel dient auch als Dateninspektor für Partikeldaten. Weitere Informationen findest du unter Partikeldaten (Details-Panel).
Als Nächstes
Dateninspektoren
Dateninspektoren in Chaos Visual Debugger verstehen.
Datenvisualisierungs-Flags
Die Flags für die Datenvisualisierung in Chaos Visual Debugger verstehen.
Erfassen von Daten mit Chaos Visual Debugger
Erfassen und Wiedergeben von Aufnahmen mit Chaos Visual Debugger.