Das Blueprint-Visual-Scripting-System in der Unreal Engine (oft einfach als „Blueprints“ bezeichnet) ist eine visuelle Skriptsprache, die eine knotenbasierte Oberfläche verwendet, um Gameplay-Funktionalität zu erstellen, ohne Code zu schreiben. Ähnlich wie eine geschriebene Skriptsprache arbeitet das Blueprint-System mit typisierten Daten wie Zahlen, Booleschen Werten, Arrays und Strukturen. Logik fließt durch Ausführungsdrähte, was bedeutet, dass jeder Knoten nur dann ausgeführt wird, wenn etwas ihn explizit dazu auffordert.
Mit Blueprint-Klassen kannst du physische Komponenten mit Script-gesteuertem Verhalten koppeln. Zum Beispiel könnte ein Blueprint ein statisches Mesh einer Münze und ein Verhalten enthalten, das den Spieler dazu bringt, die Münze aufzuheben, wenn er sie berührt.
Wie bei vielen gängigen Skriptsprachen kannst du das System verwenden, um objektorientierte Klassen oder Objekte in der Engine zu definieren. Für Programmierer enthält die C++-Implementierung von Unreal Engine Blueprint-spezifische Auszeichnungen, damit du Basissysteme erstellen kannst, die Designer erweitern können.
In dieser Übersicht erfährst du mehr über die verschiedenen Arten von Blueprint-Assets und machst einen Rundgang durch eine Beispiel-Blueprint-Klasse, wo du bestimmte Elemente dieses Blueprints änderst und siehst, wie sich diese Änderungen auf diese Blueprint-Actors im Level-Editor und während des Gameplays auswirken.
Typen von Blueprints
Es gibt verschiedene Arten von Blueprint-Assets, die jeweils ihre eigene Rolle haben. Wenn du einen Blueprint erstellst und speicherst, wird er zu einer Asset-Datei in deinem Inhaltspaket.
Blueprint-Klasse
Eine Blueprint-Klasse, oft als Blueprint abgekürzt, ist ein Asset, das es Inhaltserstellern ermöglicht, auf einfache Weise Funktionalität zu bestehenden Gameplay-Klassen hinzuzufügen. Blueprints werden visuell innerhalb des Unreal Editors erstellt, anstatt Code einzugeben, und werden als Assets in einem Inhaltspaket gespeichert. Du definierst im Wesentlichen eine neue Klasse oder einen neuen Actor-Typ, die dann als Instanzen in Karten platziert werden können, die sich wie jeder andere Actor-Typ verhalten.
Eine Blueprint-Klasse ist wie ein Rezept, das Komponenten, Variablen und Blueprint-Visual-Scripting verwendet, um die Eigenschaften und Verhaltensweisen von Objekten in deinem Spiel zu beschreiben. Du fügst deinem Level Instanzen von Blueprint-Klassen hinzu.
Der häufigste Typ, mit dem du arbeiten wirst, ist eine Blueprint-Klasse, oft abgekürzt und als Blueprint bezeichnet.
Blueprint-Klassen können als nur-Daten definiert sein, wenn sie keine Ausführungslogik enthalten und nur Variablen oder Komponenten überschreiben, die von einem übergeordneten Blueprint geerbt wurden. Blueprint-Klassen, die nur Daten enthalten, werden in einem kompakten Editor geöffnet, aber in einen vollständigen Blueprint-Editor konvertiert, wenn du neue Logik, Diagramme oder andere gescriptete Elemente hinzufügst.
Weitere Informationen findest du unter Klassen-Blueprint.
Level-Blueprint
Jedes Level hat einen Level-Blueprint. Wenn du ein neues Level erstellst, erstellt Unreal Engine automatisch einen Level-Blueprint für dieses Level. Dieser Blueprint-Typ fungiert als levelweites globales Event-Diagramm.
Level-Blueprints bieten auch einen Steuerungsmechanismus für Level-Streaming und Sequencer-Filmsequenzen sowie für die Bindung von Events an Actors, die im Level platziert sind.
Um den Level-Blueprint eines Levels zu öffnen, verwende das Blueprint-Menü in der Haupt-Symbolleiste des Level-Editors.
Weitere Informationen findest du unter Level-Blueprint.
Blueprint-Interface
Ein Blueprint-Interface-Asset ist eine Sammlung von einer oder mehreren Funktionen – nur der Name, keine Implementierung –, die zu anderen Blueprints hinzugefügt werden können. Jeder Blueprint, dem das Interface hinzugefügt wurde, verfügt garantiert über diese Funktionen. Die Funktionen des Interfaces können in jedem der Blueprints, die es hinzugefügt haben, Funktionalität erhalten. Dies ist im Wesentlichen wie das Konzept einer Schnittstelle in der allgemeinen Programmierung, die es ermöglicht, dass mehrere verschiedene Objekttypen eine gemeinsame Schnittstelle nutzen und über diese zugänglich sind. Einfach ausgedrückt, ermöglichen Blueprint-Interfaces verschiedenen Blueprints, Daten miteinander zu teilen und zu senden.
Blueprint-Interfaces können nicht:
Neue Variablen hinzufügen
Diagramme bearbeiten
Komponenten hinzufügen
Weitere Informationen findest du unter Blueprint-Interface und Interface Quick Start Guide.
Blueprint-Bibliotheken
Du kannst Logik wiederverwenden, indem du Funktionen und Makros in „Bibliothek“-Assets erstellst, damit sie für alle Blueprints in deinem Projekt zugänglich sind.
Blueprint-Funktionsbibliothek
Eine Blueprint-Funktionsbibliothek ist ein Blueprint-Asset, das eine Sammlung wiederverwendbarer Funktionen speichert. Diese Funktionen sind nicht an einen bestimmten Blueprint oder Actor gebunden. Stattdessen sind sie global in deinem gesamten Projekt zugänglich und können von jeder Blueprint-Klasse aufgerufen werden. Bibliotheken bewahren nützliche Funktionen an einem Ort auf, damit du nicht dieselben Knoten in mehrere Blueprints kopieren und einfügen musst.
Funktionen in einer Blueprint-Funktionsbibliothek sind statisch, was bedeutet, dass sie zwischen Aufrufen keine Informationen speichern oder sich merken, und sie kennen keine Informationen über eine bestimmte Blueprint-Instanz, es sei denn, du übergibst diese Daten als Parameter. Aus diesem Grund eignen sich Funktionsbibliotheken am besten für allgemeine Logik, die auf Inputs operiert und ein Ergebnis zurückgibt. Wenn Funktionalität von den internen Variablen eines Objekts abhängt (wie dem Inventar eines Spielers), gehört sie normalerweise in den Blueprint dieses Objekts anstatt in eine Bibliothek.
Blueprint-Makrobibliothek
Eine Blueprint-Makrobibliothek ist ein Container, der eine Sammlung von Makros oder eigenständigen Diagrammen enthält, die als Knoten in anderen Blueprints platziert werden können. Diese können Zeit sparen, da sie häufig verwendete Sequenzen von Knoten speichern können, komplett mit Inputs und Outputs für die Ausführung und Datenübertragung.
Makros werden von allen Diagrammen geteilt, die auf sie verweisen, aber sie werden automatisch in Diagramme expandiert, als wären sie während der Kompilierung ein eingeklappter Knoten. Das bedeutet, dass Blueprint-Makrobibliotheken nicht kompiliert werden müssen. Änderungen an einem Makro werden jedoch nur in Diagrammen wiedergespiegelt, die dieses Makro referenzieren, wenn der Blueprint, der diese Diagramme enthält, neu kompiliert wird.
Weitere Dokumentation findest du unter Blueprint Macro Library und Makros erstellen.
Funktionen sind wiederverwendbare Logikblöcke, die Inputs entgegennehmen, einmal ausgeführt werden und ein Ergebnis zurückgeben können. Sie sind ideal für Berechnungen oder Prüfungen. Makros sind wiederverwendbare Diagramm-Layouts, die sich direkt in den Blueprint erweitern, in dem sie verwendet werden. Sie können mehrere Ausführungs-Outputs haben und sind nützlich für die visuelle Flusssteuerung.
Blueprint-Hilfsmittel
Ein Blueprint-Hilfsmittel (oder Editor-Hilfsmittel) ist ein nur für den Editor bestimmter Blueprint, der verwendet werden kann, um Editor-Aktionen auszuführen oder die Editor-Funktionalität zu erweitern. Diese können Events ohne Parameter als Schaltflächen in der UI verfügbar machen und sind in der Lage, alle Funktionen auszuführen, die Blueprints zur Verfügung stehen, und auf den aktuellen Satz ausgewählter Actors im Viewport einzuwirken.
Blueprint-Klasse erkunden
Bevor du beginnst, benötigst du ein Unreal Editor-Projekt, das auf der Vorlage First Person oder Third Person (jede Variante) basiert.
Hilfe beim Erstellen eines neuen Projekts in Unreal Engine findest du unter Erstellen Sie Ihr erstes Projekt in Unreal
Einen vorhandenen Blueprint öffnen
Du hast dein Projekt aus einer Vorlage erstellt, daher sind bereits mehrere Blueprints in deinem Projekt enthalten, die du erkunden und nutzen kannst. Ein Beispiel für eine enthaltene Blueprint-Klasse ist der Sprung-Pad-Blueprint, der Funktionalität bietet, die den Spieler nach oben befördert. Du kannst Instanzen dieses Blueprints überall in deinem Level hinzufügen.
Um den Sprungpolster-Blueprint zu öffnen, befolge diese Schritte:
Klicke in der Unreal Engine auf die Inhalts-Schublade-Schaltfläche unten links auf dem Bildschirm. Alternativ kannst du die Strg-Taste gedrückt halten und die Leertaste drücken.
Navigiere zum Ordner Inhalt > LevelPrototyping > Interagierbar > JumpPad.
Du wirst ein
BP_JumpPad-Asset sehen, das eine Blueprint-Klasse ist. Doppelklicke auf das Asset, um es im Blueprint-Editor zu öffnen.Standardmäßig öffnet sich der Blueprint in einem neuen Fenster. Du kannst ein Fenster andocken, indem du den Tab mit dem Namen des Assets neben den Tab des Levels im Haupt-Editor ziehst.
Im Blueprint-Editor kannst du Komponenten definieren, Einrichtungsvorgänge durchführen, auf Events reagieren, Vorgänge organisieren und modularisieren, Eigenschaften definieren und mehr. Visualisierungen und Funktionalitäten, die du zum Blueprint hinzufügst, gelten für alle Instanzen dieses Blueprints, die sich in deinem Spiel befinden.
Werfen wir einen Blick auf BP_JumpPad. Im oberen Teil des Fensters siehst du drei Tabs: Viewport, EventGraph und Konstruktions-Script.
Ein Level-Objekt mit Komponenten erstellen
Klicke auf den Viewport-Tab. Ähnlich wie bei der Verwendung des Viewports im Haupt-Level-Editor verwendest du den Viewport eines Blueprints, um einen Blueprint anzuzeigen und zu bearbeiten.
In diesem Tab siehst du die visuelle Darstellung des Sprung-Pads, die eine Plattform, ein Licht und einen Partikeleffekt umfasst.
Auf der linken Seite des Fensters siehst du auch die Komponenten des Blueprints, also die Teile, die definieren, woraus der Blueprint besteht und was in deinem Level erscheint. Verwende das Komponenten-Panel, um die Blueprint-Komponenten hinzuzufügen, zu entfernen und neu zu organisieren.
Die Bausteine, die du mit Komponenten zu deinem Blueprint hinzufügen kannst, umfassen:
Kollisionsgeometrie mit Kapsel-Kollision-, Box-Kollision- oder Kugel-Kollision-Komponenten.
Gerenderte Geometrie in Form von Statisches-Mesh-Komponenten oder Skelett-Mesh-Komponenten.
Bewegungssteuerung mit Bewegungskomponenten.
Du kannst einen Blueprint erstellen, der nur Komponenten und kein gescriptetes Verhalten enthält und als wiederverwendbares Level-Objekt fungiert, das an einem Ort bearbeitet werden kann.
Du kannst auch die Komponenten deines Blueprints oder deren Eigenschaften im EventGraph referenzieren, damit du während der Laufzeit Aktionen für diese Komponenten ausführen kannst.
Werfen wir einen genaueren Blick auf die Komponenten, die Teil von BP_JumpPad sind:
BP_JumpPad verfügt über eine Punktlicht-Komponente. Klicke auf das Objekt Punktlicht in der Liste Komponenten oder im Viewport. Du kannst die Transformations-Werkzeuge verwenden, um diese Lichtquelle zu bewegen und zu drehen.
Auf der rechten Seite des Blueprint-Editors siehst du das Details-Panel, das die Eigenschaften der ausgewählten Komponente auflistet. Du kannst die Intensität dieser Lichtquelle, die Lichtfarbe und mehr bearbeiten.
Blueprint-Funktionalität erstellen
Neben dem Viewport-Tab siehst du die Tabs EventGraph und Konstruktions-Script. Wenn du Funktionen in deinem Blueprint erstellst, erscheinen auch die Tabs für diese Funktionsdiagramme hier.
Diagramme enthalten das Design- und Spielzeitverhalten sowie die Funktionalität deiner Blueprints. Hier erstellst du die Logik, die den Komponenten des Blueprints mitteilt, wie sie sich verhalten sollen.
Logik bezieht sich auf die Knoten und Verbindungen eines Blueprints.
Konstruktions-Script
Wenn ein Blueprint-Actor im Level spawnt, entweder im Viewport des Level-Editors oder während des Gameplays, erstellt die Unreal Engine zuerst seine Komponenten und führt dann sein Konstruktions-Script aus. Es wird auch im Editor ausgeführt, wenn du eine Eigenschaft eines Actors transformierst oder änderst, so dass du das Ergebnis sofort im Viewport siehst. Es wird verwendet, um Initialisierungsaktionen durchzuführen, die den Blueprint-Actor für das Gameplay einrichten. Diese Initialisierungsaktionen können kontextspezifisch sein; zum Beispiel das Anwenden verschiedener Materialien auf ein Objekt, je nachdem, auf welchem Untergrund es platziert wird.
Wenn du auf den Tab Konstruktions-Script von BP_JumpPad klickst, siehst du einen Konstruktions-Script-Knoten, der eine Kette von Aktionen ausführt, die die Farbe und andere Eigenschaften des Sprung-Pads einrichten, wenn es zum ersten Mal im Level erscheint (oder spawnt).
Navigieren in Blueprint-Diagrammen:
Schwenken: Rechtsklick und ziehen.
Zoom: Verwende das Mausrad.
Auswahl zentrieren: Drücke F, um auf die ausgewählten Knoten zu zentrieren.
Alles anpassen: Drücke A, um das gesamte Diagramm anzuzeigen.
Springen zu: Doppelklicke auf einen Funktions- oder Event-Knoten, um ihn in einem Diagramm oder seinem Diagramm-Tab zu finden.
Event-Diagramm
Der Event Graph eines Blueprints enthält ein Knotendiagramm, das Events und Funktionsaufrufe verwendet, um Aktionen als Reaktion auf Gameplay-Events auszuführen. Hier werden Interaktivität und dynamische Reaktionen eingerichtet. Zum Beispiel könnte ein Beleuchtungs-Blueprint auf ein Schadensereignis reagieren, indem er seine Lichtkomponente ausschaltet und ein Material ändert.
Die gesamte Logik im Event Graph ist eine Reaktion auf ein Ereignis während des Gameplays, wie z. B. die Reaktion auf Spieler-Input, das Auslösen von Animationen oder das Abspielen von Sounds. Jedes Mal, wenn du denkst „wenn das passiert, möchte ich das tun“, musst du mit einem Event beginnen.
Ein Blueprint kann mehrere EventGraphs enthalten, die alle als Teil desselben Blueprints ausgeführt werden. Mehrere Event Graphs werden nur verwendet, um Logik in separate Abschnitte zu organisieren, und beeinflussen nicht, wie sich der Blueprint verhält.
Im BP_JumpPad EventGraph-Tab siehst du eine Abfolge von Knoten, die ausgeführt werden, wenn ein Actor sich mit diesem Blueprint überlappt, wie wenn der Spieler im Spiel über das Sprung-Pad geht. Wenn dieses Ereignis eintritt, lässt der Blueprint diesen Actor einen Sprung ausführen, aber mit einer höheren Geschwindigkeit als normal.
Um einen bestimmten Knoten in einem Diagramm zu finden, verwende die Tastenkombination Strg + F in den Diagrammansichten, um nach einem Knoten zu suchen. Um zum Beispiel den Event ActorBeginOverlap-Knoten zu betrachten, verwende die Tastenkombination Strg + F und gib Event ActorBeginOverlap in das Suchfeld ein. Wähle das Ergebnis aus, um die Ansicht auf diesen Knoten zu schwenken.
Ein Knoten, der Aktionen ausführen (oder starten) kann, hat einen Ausführungs-Pin, auch bekannt als Exec-Pin, der durch das weiße Dreieck auf dem Knoten dargestellt wird. Wenn der Exec-Pin eines Knotens nicht mit einem anderen Knoten verbunden ist, hat das Dreieck eine weiße Umrandung.
Du wirst feststellen, dass der Event-Knoten keinen Input-Exec-Pin hat. Dies liegt daran, dass ein Event-Knoten ausgeführt wird, sobald das definierte Event in der Spielwelt ausgelöst wurde. In diesem Beispiel wird dieses Event ausgelöst, wenn ein Actor im Spiel sich mit dem Actor von BP_JumpPad überlappt.
Ein Knoten kann auch Daten-Pins haben. Zum Beispiel hat das Event ActorBeginOverlap einen Pin für Other Actor, der eine Referenz auf das Level-Objekt (Actor) ist, das sich mit dem Level-Objekt BP_JumpPad überlappt. Daten-Pins übergeben Werte zwischen Knoten und Ausführungs-Pins steuern die Reihenfolge, in der Knoten ausgeführt werden.
Der Ausführungs-Pin des Knotens Event ActorBeginOverlap ist mit dem Knoten Cast To Character verbunden. Das bedeutet, dass wenn sich ein Actor in der Welt, wie der Spieler, mit dem Sprung-Pad-Actor überlappt, dieser Blueprint den Cast To Character-Knoten ausführt.
Verbindungen zwischen Notizen werden oft als Drähte bezeichnet.
Wenn du den exec-Pin des Knotens Event ActorBeginOverlap vom Knoten Cast To Character trennst, aber den Other Actor-Pin verbunden lässt, passiert nichts, da die exec-Pins nicht verbunden sind – was bedeutet, dass der Event-Knoten den Cast To Character-Knoten nicht auslöst.
Um eine Verbindung oder einen Draht zu entfernen, halte Alt gedrückt und klicke auf diesen Draht. Ziehe von einem Pin zu einem anderen, um einen Draht zu verbinden.
Um einen Draht umzuleiten, doppelklicke auf den Draht, um einen Knoten zu erstellen. Fahre mit dem Mauszeiger über den Umleitungs-Knoten, bis sich dein Cursor in vier Pfeile verwandelt, und ziehe dann den Knoten, um ihn zu bewegen.
Um mehr über die Arbeit mit Knotenaktionen im Event Graph zu erfahren, siehe Knoten platzieren und Knoten verbinden.
Variablen
Variablen sind Eigenschaften, die entweder:
Einen Wert halten, wie eine Entfernungsmessung oder die Geschwindigkeit, mit der sich ein Charakter bewegen kann.
Auf etwas in der Welt verweisen, wie das statische Mesh, das ein Actor verwendet.
Du kannst Variablen so einrichten, dass sie nur für Blueprints zugänglich sind, oder sie im Level-Editor bearbeitbar machen, damit Designer Blueprint-Instanzen, die in einem Level platziert sind, leicht anpassen können.
Sieh dir im EventGraph-Tab von BP_JumpPad das Mein Blueprint-Panel auf der linken Seite des Blueprint-Editors an.
Im Abschnitt Variablen siehst du zwei Variablen: Geschwindigkeit und Farbziel.
Klicke auf die Variable Geschwindigkeit, um sie auszuwählen. Im Details-Panel gibt es verschiedene Eigenschaften, die mit dieser Variable zusammenhängen. Ganz unten in der Liste findest du die Kategorie Standardwert, in der du den Wert der Variable Geschwindigkeit festlegen kannst.
In diesem Fall ist Geschwindigkeit auf 0, 0, 800 eingestellt. Das bedeutet, dass die auf den Spieler angewendete Geschwindigkeit 800 Einheiten auf der Z-Achse, also nach oben, beträgt.
Die Funktionalität des Sprung-Pads besagt also: „Wenn der Spieler über dieses Sprung-Pad geht, bewege ihn aufwärts mit 800 cm/Sekunde.“
Wenn du dir die Variablen des Sprung-Pads ansiehst, wirst du feststellen, dass sich offene Augen-Symbole daneben befinden. Das bedeutet, dass diese Variablen öffentliche und bearbeitbare Variablen sind, die auf allen Instanzen dieses Blueprints in deinem Level bearbeitet werden können.
Du kannst die Standardwerte einer bearbeitbaren Variable pro Instanz im Level-Editor überschreiben, ohne den Blueprint öffnen und bearbeiten zu müssen.
Um ein Beispiel dafür zu sehen, wie du Variablen außerhalb eines Blueprints bearbeiten kannst, folge diesen Schritten:
Klicke auf den Tab deines Levels in der oberen linken Ecke des Unreal Editor, um zum Level-Editor zurückzukehren.
Öffne den Inhaltsbrowser und ziehe im Ordner JumpPad das Asset
BP_JumpPadin das Level auf den Boden. Vergewissere dich, dass es ausgewählt ist.Suche im Details-Panel die Kategorie mit dem Namen Standard. In dieser Kategorie siehst du die beiden Variablen, die du bereits gesehen hast – Geschwindigkeit und Farbziel. Diese sind hier sichtbar, da diese beiden Variablen im Blueprint als bearbeitbar eingerichtet sind (ihr Augen-Symbol ist geöffnet).
Gehe zurück zum
BP_JumpPad-Tab. Klicke im Abschnitt Mein Blueprint > Variablen auf das Augen-Symbol der VariableGeschwindigkeit, um sie nicht öffentlich und nicht bearbeitbar zu machen. Das offene Auge wechselt zu einem geschlossenen Auge.Um deine Änderungen zu übernehmen, klicke auf die Schaltfläche Kompilieren in der oberen linken Ecke des Blueprint-Editors.
Beim Kompilieren wird dein Blueprint auf Fehler überprüft und aktualisiert, damit die neuesten Änderungen in deinem Level funktionieren.
Kehre zum Level-Editor zurück, wähle den Actor BP_JumpPad aus und schaue erneut unter dem Abschnitt Details > Standard nach. Die Variable Geschwindigkeit fehlt, weil sie nicht mehr instanzbearbeitbar ist.
Um die Blueprints auf ihre ursprüngliche Konfiguration zurückzusetzen, kehre zum Blueprint-Editor zurück und klicke erneut auf das Augensymbol neben der Variable Geschwindigkeit.
Klicke auf Kompilieren und Speichern.
Wenn Variablen öffentlich und bearbeitbar sind, können sie auch von anderen Blueprints verwendet werden. Zum Beispiel könnte der Level-Blueprint deines Levels auf die Farbziel-Variable des Sprung-Pads zugreifen und sie verwenden, um die Farbe des Pads zu ändern.
Weitere Informationen zu Variablentypen, zum Erstellen und Bearbeiten von Variablen und zum Referenzieren von Variablen in deinen Blueprint-Diagrammen findest du unter Blueprint-Variablen.
Funktionen
Funktionen sind Knotendiagramme, die zu einem bestimmten Blueprint gehören und aus einem anderen Diagramm innerhalb des Blueprints ausgeführt oder aufgerufen werden können. Funktionen haben einen einzigen Einstiegspunkt, der durch einen Knoten mit dem Namen der Funktion gekennzeichnet ist, der einen einzigen Exec-Output-Pin enthält. Der Aufruf der Funktion aus einem anderen Diagramm führt die Logik in der Funktion aus, beginnend mit dem Funktionseingangsknoten.
Beim Erstellen von Blueprint-Klassen möchtest du vielleicht einen Teil der Logik des Event Graph an mehreren Stellen oder sogar in anderen Blueprints wiederverwenden. Anstatt die gleiche Logik an vielen Stellen neu aufzubauen, kannst du eine Funktion erstellen, der du die Knoten hinzufügst, und diese Funktion dann von jedem Blueprint aus aufrufen.
Wenn du eine Funktion aufrufst, die in einem anderen Blueprint existiert, wird die Funktion weiterhin in dem Blueprint ausgeführt, in dem sie erstellt wurde. Der Aufruf gewährt dir einfach von außen Zugriff auf diese Funktion.
Zum Beispiel könntest du eine HasKey-Funktion in einem Blueprint des Spieler-Charakters erstellen, die einen erforderlichen Schlüssel entgegennimmt, diesen Schlüssel mit dem Inventar des Spielers vergleicht und dann True oder False zurückgibt. Dann könnten andere Blueprints (eine Tür, eine Truhe, ein NPC-Charakter) alle diese Funktion aufrufen, um zu prüfen, ob der Spieler einen bestimmten Schlüssel hat, bevor sie ein anderes Verhalten ausführen. Jedes dieser verschiedenen Level-Objekte kann die Logik in der HasKey-Funktion des Spieler-Charakters wiederverwenden, ohne sie in ihren Blueprints neu erstellen zu müssen.
Wenn du feststellst, dass du denselben Satz von Knoten mehr als zweimal in einem Diagramm verwendest, ziehe in Betracht, daraus eine Funktion oder ein Makro zu machen, damit du es wiederverwenden kannst.
Weitere Informationen findest du unter Funktionen.
Kommentare zur Blueprint-Logik hinzufügen
Du kannst Kommentare zu deinen Blueprints hinzufügen, um visuelle Notizen zu erstellen, die Knoten gruppieren und erklären, was jeder Teil des Blueprints tut. Kommentare helfen dir und deinen Teammitgliedern, auf einen Blick zu erkennen, welche Funktionalität deine Knoten ausführen, und sie helfen dir, deine Blueprints organisiert zu halten.
Konzentriere dich beim Erstellen der Blueprint-Logik zunächst auf die Erstellung der Funktionalität und markiere dann die hinzugefügten Knoten und füge einen Kommentar hinzu, um sie einzuschließen und zu beschreiben.
Um einen Kommentar in einem Blueprint hinzuzufügen, befolge diese Schritte:
Klicke auf das Diagramm, um sicherzustellen, dass es das aktive Panel ist.
Drücke C auf deiner Tastatur. Dadurch wird ein Kommentarfeld hinzugefügt.
Doppelklicke auf das Textfeld oben in der Box, um einen Kommentar einzugeben.
Um die Größe des Kommentars zu ändern, stelle sicher, dass der Kommentar ausgewählt ist (mit einem gelben Umriss hervorgehoben), und ziehe eine Kante oder Ecke.
Um Notizen innerhalb eines Kommentars zu gruppieren, ziehe diese Knoten innerhalb der Grenzen des Kommentars.
Du kannst auch einen oder mehrere Knoten auswählen und C drücken, um einen Kommentar hinzuzufügen, der die ausgewählten Knoten enthält.
Du kannst auch die Farbe von Kommentaren ändern, um verschiedene Bereiche deines Diagramms auf einen Blick zu erkennen.
Blueprints weiter erkunden
Da du nun die Grundlagen kennst, lerne weiter etwas über Blueprints, indem du die folgenden Themen oder Tutorials erkundest.