Wichtige Node-Arten: Unterschied zwischen den Versionen

Aus UnrealWiki
Die Seite wurde neu angelegt: „=== Allgemeine Node-Arten: === {| class="wikitable" !Node-Art !Erklärung !Beispiel |- |'''Event Nodes''' |Einstiegspunkte, reagieren auf Ereignisse |<code>BeginPlay</code>, <code>On Actor BeginOverlap</code> |- |'''Execution Nodes''' |Steuern den Ablauf mit Exec-Pins |<code>Sequence</code>, <code>Delay</code> |- |'''Variable Nodes''' |Greifen auf gespeicherte Werte zu |<code>Get Health</code>, <code>Set Ammo</code> |- |'''Function Nodes''' |Führen Aktio…“
 
Keine Bearbeitungszusammenfassung
 
Zeile 55: Zeile 55:
|Aktionen auslösen, Werte ändern, Spielfluss steuern
|Aktionen auslösen, Werte ändern, Spielfluss steuern
|}
|}
'''Merksatz:'''  
'''Merksatz:''' <br>
* <u>'''Pure Nodes'''</u> sind wie '''Taschenrechner''' (geben nur Ergebnisse zurück).
* <u>'''Impure Nodes'''</u> sind wie '''Maschinen''' (führen eine Aktion im Ablauf aus).


<u>'''Pure Nodes'''</u> sind wie '''Taschenrechner''' (geben nur Ergebnisse zurück).


<u>'''Impure Nodes'''</u> 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.

Aktuelle Version vom 30. August 2025, 08:35 Uhr

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.