Wichtige Node-Arten
Aus UnrealWiki
Allgemeine Node-Arten:
| Node-Art | Erklärung | Beispiel |
|---|---|---|
| Event Nodes | Einstiegspunkte, reagieren auf Ereignisse | BeginPlay, On Actor BeginOverlap
|
| Execution Nodes | Steuern den Ablauf mit Exec-Pins | Sequence, Delay
|
| Variable Nodes | Greifen auf gespeicherte Werte zu | Get Health, Set Ammo
|
| Function Nodes | Führen Aktionen oder Berechnungen aus | Print String, Spawn Actor
|
| Flow Control Nodes | Bedingte Abläufe, Schleifen | Branch (if), ForEachLoop
|
| Math Nodes | Rechnen mit Zahlen, Vektoren usw. | +, -, Vector Length
|
| Macro Nodes | Mini-Blueprints für wiederkehrende Abläufe | eigene Abläufe bündeln |
| Custom Functions/Events | Selbst erstellte Knoten für saubere Struktur | HealPlayer(), OnDamageTaken
|
Unterschied: Pure vs. Impure
| Node-Typ | Merkmale | Beispiel | Nutzen |
|---|---|---|---|
| Pure Node | - Kein Exec-Pin (weißes Dreieck fehlt)- Berechnet nur einen Wert- Hat keine Nebenwirkungen | Get Actor Location, Vector Length
|
Daten abfragen oder berechnen |
| Impure Node | - Hat Exec-Pin (weißer Fluss-Pfeil)- Kann Ablauf steuern- Kann Variablen verändern oder Aktionen ausführen | Print String, Set Variable
|
Aktionen auslösen, Werte ändern, Spielfluss steuern |
Merksatz:
- Pure Nodes sind wie Taschenrechner (geben nur Ergebnisse zurück).
- Impure Nodes sind wie Maschinen (führen eine Aktion im Ablauf aus).
Vor und Nachteile von Nodes
Vorteile
- Visuelle Logik → leichter verständlich als Code.
- Flexibel kombinierbar.
- Gut für Gameplay, UI, Animation.
- Kann jederzeit mit C++ erweitert werden.
Nachteile
- Performance
- Blueprints sind etwas langsamer als reiner C++-Code (weil sie zur Laufzeit interpretiert werden).
- Für einfache Spiele kaum spürbar, aber bei sehr komplexer Logik schon.
- Übersichtlichkeit
- Große Blueprint-Graphen werden schnell unübersichtlich („Spaghetti-Blueprints“).
- Schwerer zu lesen und zu warten als strukturierter Code.
- Skalierbarkeit
- Für kleine Projekte super geeignet.
- Für große Spiele mit vielen Systemen oft unpraktisch → Entwickler wechseln dann zu C++.
- Debugging
- Fehler finden ist schwieriger als im Code (z. B. kein klassisches Step-by-Step Debugging wie in C++).
- Logs und Breakpoints sind zwar vorhanden, aber nicht so mächtig.
- Wiederverwendbarkeit & Versionskontrolle
- C++ ist oft besser für Teamarbeit (Git-Diffs bei Textdateien).
- Blueprints sind Binärdateien → Änderungen schwerer nachzuvollziehen.
