
Dieser Abschnitt wurde mit der Unreal Engine 4 aufgenommen. Wenn Du die Unreal Engine 5 lernen willst springe bitte zum nächsten Abschnitt. Dort findest Du den gleichen Inhalt von diesem Abschnitt für die UE5 mit allen nötigen Hinweisen zu den Änderungen der neuen Version.
Hier wird mit Print String die Zeichenfolge „Hello World“ ausgegeben.
Erstellen von Variablen. Wie man in den Node „Print String“ eine Variable zuweisen kann. Erste Definition von Get.
Mit Append kann man an einen String noch weiteren Inhalt hinzufügen.
Wenn ein Integer Wert in einen Floateingang weitergeleitet wird, dann wird automatisch ein Umrechnungsnode erstellt.
Mit den Math Nodes können Berechnungen von Integervariablen erstellt werden. Hier zeige ich wie man einen Wert zur Integervariable addieren kann.
Mit gedrückter STRG Taste können Variablen direkt im Graphview auf GET gestellt werden. Hier zeige ich wie bei Integer, wie man Berechnungen ebenfalls mit Float-Werten erstellt.
Mit Add Pin können noch weitere Werte direkt im Node selbst hinzugefügt werden, damit man schnell Rechenoperationen erstellen kann, ohne viele Nodes dabei verwenden zu müssen.
Die Aufgabe besteht darin zwei einfache Variablen miteinander zu verrechnen.
Wenn unser Character über eine Triggerbox läuft kann man bestimmte Aktionen ausführen lassen. In diesem Beispiel zeige ich, wie man unser Beispiel aus der letzten Lektion ausführt, sobald unser Character durch die Triggerbox läuft. Das Beispiel zeige ich auch kurz in anderen Templates.
Der Boolewert kennt nur zwei Zustände. True oder False oder auch 1 oder 0. Hier zeige ich auch, wie man mit SET den Wert von einer Variable im Graph verändern kann. Mit einem Delay Node kann eine Verzögerung in einem Blueprint eingestellt werden.
Sobald der Character über die Triggerbox läuft wird die Variable einen neuen Wert erhalten. Dies erreicht man ganz einfach über einen SET Node, welcher ausgeführt wird, sobald der Trigger berührt wird.
In diesem Film zeige ich nochmal, wie man mit SET auch die anderen Variblentypen mit anderen Werten manipulieren. Get liest also nur den Wert aus und SET setzt einen neuen Wert.
In diesem Beispiel zeige ich, wie man zwei Stringwerte miteinander vergleichen kann. Ich zeige auch den Vergleich mit != (not equal), wenn die Werte also ungleich sind. Vergleichen kann man natürlich alle Variablentypen wie INT, Boole. Mit AND kann man Boolewerte vergleichen. das Ergebnis TRUE raus, wenn beide Werte auf 1 stehen. Das Gegenteil ist hier der OR Node.
Branch entspricht dem IF Befehl in einer gängigen Programmiersprache. Wenn TRUE oder FALSE aus einem Node ausgegeben wird, kann mit dem Branch Node bestimmt werden, was in diesem Falle geschehen soll.
Der Character muss erst durch zwei Triggerboxen laufen, bevor ein bestimmter Text ausgegeben wird. Mit einem EventTick wird ständig abgefragt, ob beide Triggerboxen aktiviert worden sind oder nicht.
In diesem Film leiten wir das Ergebnis nicht als einfachen Text auf den Screen sondern in eine Textkomponente. Wenn man einzelne Objekte in das LevelBlueprint zieht, kann auf die Eigenschaften referenzieren.
In einer Textkomponente kann ich natürlich auch die Farbe ändern. Jedoch benötige ich dazu eine Variable vom Type Color. Mit Promote Variable kann ich einfach den gewünschten Type einer Variable erstellen. Hier zeige ich wie man die Farbe des Textes ändert, wenn man über eine Triggerbox läuft. Die gleiche Technik funktioniert natürlich auch mit anderen Objekten, wie z.B. einem Licht. Hiermit kann ganz einfach auf die Eigenschaft zugegriffen werden, ob das Licht sichtbar ist oder nicht.
Wir bauen eine einfache Lampe aus simpler Geometrie mit einer Lichtquelle. Dieses Objekt duplizieren wir und erstellen ein Tor. Die Aufgabe soll sein, sobald man einen Schalter berührt, dass das Licht grün wird. Sobald beide Lichter grün sind, öffnet sich das Tor, bzw ist nicht mehr sichtbar. Jedoch gibt es hier ein Problem, dass durch das Abschalten der Visibility die Kollision noch abgefragt wird. Wenn beide Schalter auf grün gestellt sind und das Tor verschwindet muss auch die Kollision abeschaltet werden. Das zeige ich auch in diesem Film.
Mit dem Shortcut C kann um alle ausgewählten Nodes ein Kommentarrahmen erzeugt werden. Hiermit kann der Graph deutlich übersichtlicher gestaltet werden.
Mit einem Array können in einer Variable mehrere Werte hinzugefügt werden. Mit einem ForEachLoop Loop können alle Werte in einem Array ausgelesen werden. Mit dem Node ADD können weitere Werte dem Array hinzugefügt werden. Mit Clear können Werte gelöscht werden und mit Length kann die Anzahl der Werte angezeigt werden. Unter Comleted im ForEachLoopNode kann bestimmt werden, was passieren soll, wenn alle Werte ausgelesen worden sind.
Events können auch ausgelöst werden, wenn bestimmte Tasten auf dem Keyboard gedrückt werden. In diesem Beispiel aktiviere ich ein Licht, sobald eine bestimmte Taste gedrückt worden ist. Mit dem Node TOGGLE VISIBILITY kann das Licht ein und ausgeschaltet werden. Hierfür reicht nur dieser eine Node. Sobald dieser Node aktiviert wird, wird entsprechend das Licht ein und bei nochmaliger Ausführung das Licht wieder ausgeschaltet ohne das weitere Abfragen getätigt werden müssen.
In diesem Film wollen wir ein einfaches Inventarsystem erstellen. Dabei soll unser Character über einzelne Objekte laufen. Diese sollen dabei ausgeblendet werden und automatisch in die Arrayliste übertragen werden. Hier lernen wir auch den Node DestroyActor kenne, mit dem wir einfach Objekte aus dem Spiel verschwinden lassen können. Somit müssen wir auch nicht mehr mit der Visibility und der Kollision arbeiten. Mit der Taste I soll dabei immer die aktuelle Inventarliste angezeigt werden. Mit dem ClearNode könnte ich auch die Inventarliste steuern, wenn mein Character z.B. stirbt.
Zufallszahlen kann man ganz einfach mit RandomInteger erzeugen. Mit Random Integer in Range kann ein bestimmter Bereich definiert werden, in welchem die Zufallszahlen erzeugt werden sollen. Dies geht natürlich auch mit Float und Boolewerten.
Der Vectordatentyp beinhalten 3 Werte für x, y und z. Hiermit können Werte für die Position von Objekten zugewiesen werden. Mit dem Node AddActorWorldOffset können der Position neue Werte übermittelt werden um die Position von einem Objekt zu verändern. Bei Worldoffset wird die Weltachse benutzt und mit mit AddActorLocalOffset wird die lokale Achse angesprochen. Bei den Actors muss darauf geachtet werden, ob das Objekt bewegbar ist. Dies erreicht man mit der Option „Movable“ direkt im Static Mesh. Mit SplitStructPin kann ein Vector in seine Werte aufgespaltet werden. Mit SetActorLocation wird ein absoluter Wert gesetzt unabhängig von der Ausgangsposition.
Die Übung soll sein, dass ein Coneobjekt an einer von vier zufälligen Stellen im Spiel auftauchen soll. Mit Get (a ref) kann man einen bestimmten Wert aus einem Array auslesen.
In diesem Video gebe ich eine grobe Einführung in den Sequencer, wie man Objekte importiert und diese animieren kann. Gesetzte Keys können auch über die Interpolation gesteuert werden. Um die erstellte Animation im Spiel sehen zu können muss diese erst noch aktiviert werden.
In diesem Film erstelle ich eine Animation von einer Schiebetür. Diesmal aktivieren wir die Animation über einen Boxtrigger über Blueprints. Sobald unser Character in den Trigger läuft öffnet sich die Schiebetür.
Mit dem FlipFlop Node können wir unser Blueprint wesentlich einfacher steuern. Hiermit können wir sehr schnell zwischen einzelnen Animationen hin und her springen.
In diesem Film zeige ich, wie man mitten im Spiel durch eine weitere Kamera schauen kann. Ausgelöst wird diese durch einen Trigger. Wenn wir eine neue Kamera mit „Set View Target with blend“ setzen brauchen wir noch einen Node mit dem Namen „Get Player Controller“.
In diesem Video werden wir ein einfaches Objekt drehen lassen. Dazu erstellen wir eine Animationssequenz, in welcher wir das Objekt mit Animationskeys drehen. Anschließend stellen wir die "Ease in / Ease out" Keys auf "Linear" um. Nach dem Film wisst Ihr, wie man einfache Objekte in einem Spiel, drehen, bewegen oder auch skalieren kann.
Jetzt wollen wir die Animation nicht von Anfang an abspielen lassen, sondern wir wollen die Animation erst nach einer Aktion abspielen lassen. Zum Beispiel nach dem berühren von einem "Trigger".
Diesmal erstellen wir einen Button, welcher eine Animation starten und bei nochmaligem Drücken auch wieder stoppen kann. Man könnte dies sehr umständlich umsetzen, deshalb verwenden wir hier einen "Flip Flop" Node.
Wenn der Button sich an einem ganz anderen Ort als die Schiebetür befindet, wissen wir nicht, was der Button bewirkt. Hier kommt eine neue Kamera ins Spiel, die genau dieses Geschehen sichtbar machen soll. Sobald der Button gedrückt wurde, soll auf die Schiebetür gezeigt werden, welche sich dadurch öffnet. Anschließend springt die Kamera wieder zurück zum Character. In der UE4 ging das einfacher, weil der Character sich im Outliner befand und so einfacher zu referenzieren war. Hier kommt der "Cast to" Node ins Spiel um die Kamera im Character ansprechen zu können.
Eine Blueprintklasse ist wie ein Container, welcher Objekte und Blueprintnodes enthält. In diesem Film zeige ich die Blueprint Actor Class und die Unterschiede zu einem Level Blueprint was das Handling von Objekten und Events angeht.
In diesem Film zeige ich nochmal, wie man in einem LevelBlueprint über einen Trigger ein Licht einschalten kann. Das Gleiche wollen wir nochmal nur über eine Blueprintclass erstellen. Gleichzeitig werden wir den großen Vorteil bei der Arbeit mit BlueprintClass sehen.
Man muss nicht unbedingt seine Objekte direkt in einer BlueprintClass platzieren. Man kann seine Objekte auch im „normalen“ Viewport platzieren und diese dann direkt in einer BlueprintClass übernehmen. Das spart beim Erstellen enorm viel Zeit. Dabei muss darauf geachtet werden, dass beim Erstellen der BlueprintClass die Methode auf „Harvest Components“ steht. Somit werden die Objekte im WorldOutliner automatisch in die BlueprintClass übertragen und gleichzeitig als Instanz auf dem Viewport angezeigt. Klingt kompliziert? Einfach anschauen.
Unreal Engine Kurs: Fortgeschrittene Blueprint-Programmierung
Update Juni 2022 Die komplette Lektion zur Blueprint-Kommunikation wurde neu für die Unreal Engine 5 aufgenommen. Der Inhalt ist jetzt noch klarer strukturiert und einfacher zu verstehen. Auch der Abschnitt über allgemeine Informationen zu Variablen wurde überarbeitet.
Update März 2022 Ein zusätzlicher kurzer Film zur UE5 Preview 1 wurde hinzugefügt, mit einigen Hinweisen zum veränderten Layout. Ansonsten bleibt der Kurs uneingeschränkt nutzbar, auch mit der Preview-Version. Einige Buttons wurden versetzt, der Workflow bleibt jedoch identisch.
Update Juni 2021 In diesem Update wird erklärt, wie der Kurs auch mit der UE5 Early Access Version reibungslos durchgearbeitet werden kann.
Jetzt über 22 Stunden Inhalt.
Neu aufgenommene Filme:
Abschnitt 2 Film 16 - Übung
Abschnitt 3 Film Lektion 17 - Objektreferenz
Abschnitt 3 Film Lektion 19 - Übung zu Objektreferenzen
Abschnitt 14 Lektion 94 - Partikelsysteme Übung
Abschnitt 19 Lektion 133 - Character austauschen
Neu hinzugefügte Kapitel:
Blueprint Kommunikation
Blueprint zu Blueprint
Levelblueprint zu Character Class
Character Class zu mehreren Blueprints
Get Actor of Class
Get All Actors of Class
Cast To
Vorteil von Cast To
Cast To zu Blueprint Problem
Cast To Blueprint Class
Custom Events
Parameter an Custom Events übergeben
Event Dispatcher Funktionsweise
Praktisches Beispiel zum Event Dispatcher
Klassischer Workflow mit Cast
Blueprint Interface Workflow
Klassischer Workflow komplexer
Blueprint Interface komplexer Workflow
Werte an Blueprint Interface übermitteln
Blueprint Interface und Out Value
Widget Blueprints
Text im HUD anzeigen lassen
Werte an HUD-Text übermitteln
UMG Anchors
UMG Canvas Panel
Übung und Lösung
Timer hinzufügen
Progressbar als Timer
Progressbar an Character binden
Startmenü erstellen
Startmenü an Anfang setzen
Funktionalität des Startmenüs
GameOver Menü erstellen
Pausefunktion erstellen
Pausemenü erstellen
Weitere Themen
Attaching von Objekten
Objekte am Character anbringen
Objekte nehmen - verschiedene Methoden
Child Blueprints
Objekte sammeln und austauschen mit BlueprintInterface
Objekte automatisch ausrichten
Objekte rotieren lassen
Mit Tastendruck Objekte ablegen
Spawning und Projectile Movement
Einfaches Spawning
Spawning mit der Triggerbox
Blueprint Spawning
Belohnungen spawnen
Particlespawning
Probleme mit Grundkörpern aus der Unreal Engine
Characterexport und Modelimport
Scalingmöglichkeiten ohne Probleme
SocketSpawning
Movement Projectile Geschwindigkeit
Movement Projectile Kollision
Movement Projectile Physics
Movement Projectile an Sockets
Abschusszentrale erstellen
Rauchtrail erzeugen
Kollision verstehen
Explodieren und Ziel erkennen
Character lernt schwimmen
Physics Volume
Animation
Steuerung
Post Process
Schwimmbadmodeling
Retargeting
Animationen hinzufügen
Das RIG im Retargetingfenster
Einleitung zum Retargeting
Retargeting - Durchführung
Duplicate Anim Asset
Translation Retargeting
Character mit Funktionalität austauschen
Animation von Mixamo verwenden
Import über Mixamo Converter von Terribili-Studio
Kundenbewertungen
"Gib einem Menschen einen Fisch und du ernährst ihn für einen Tag, bring ihm bei zu Angeln und du ernährst ihn ein Leben lang. Hier lernt man das 'Angeln' und noch vieles mehr. Grundlegende Funktionen der Unreal Engine werden einfach und verständlich erklärt. Arbeitsabläufe werden gezeigt und erläutert, warum man gewisse Dinge macht, nicht nur wie." - Peter Picken
"Eine sehr gute Einführung in die Unreal Engine. Ich finde es auch gut, dass Vorgehensweisen wiederholt werden! Das festigt den Workflow. Allgemein empfinde ich die Themenauswahl als perfekten Einstieg in die Spieleentwicklung mit Unreal (Blueprints)" - Rene Drexelius
"Mega genialer Kurs, gerade ein Update bekommen und aller 2 Sekunden eine interessante Information. Absolutes Brainstorming aber gut und ruhig erklärt. Jeden Cent wert!" - Robert Jentzsch
"Das ist definitiv der beste Kurs, den ich bislang zu diesem Thema gefunden habe! Der Mensch kann wirklich gut erklären und hat sich sehr viel Mühe gegeben das Ganze umzusetzen." - Marcel Weigelt
"Perfekt erklärt und ohne stottern geredet. Mega Tutorial, das logisch aufgebaut ist und Sinn ergibt." - Yannic Kampfmann
"Fantastischer Anfängerkurs! Besonders die Character-Erstellung in Mixamo war für mich ein Highlight. Das 'Warum' hinter den Konzepten wird stets erklärt." - Carsten Neumann
Kursbeschreibung
Die Unreal Engine 4 ist ein mächtiges Werkzeug für interaktive Inhalte, Spiele, Simulationen und Cinematics. Dieser umfassende Kurs richtet sich an alle, die bereits ein wenig Erfahrung mit der Engine gesammelt haben und nun systematisch tiefer einsteigen möchten, um ihre Fähigkeiten auf das nächste Level zu bringen.
Im Fokus steht die Programmierung mit Blueprints - ganz ohne Code. Du lernst die Grundlagen der Logik, die Kommunikation zwischen Objekten und den Aufbau komplexer Spielmechaniken. Der Kurs vermittelt nicht nur das "Wie", sondern auch das "Warum" - ein tiefes Verständnis der Konzepte ist das Ziel.
Der Lernprozess ist praxisorientiert gestaltet: Anhand zahlreicher praktischer Beispiele und Übungen wirst Du Step-by-Step lernen, wie Du komplexe Spielelemente erstellst. Dabei werden alle wichtigen Bereiche der Spieleentwicklung abgedeckt.
Du wirst verstehen, wie man Animationen importiert und steuert, wie man interaktive Menüs erstellt, beeindruckende Partikelsysteme einbindet. Themen wie GameMode, GameInstance, Custom Events, Retargeting, Spawning und User Interface werden ausführlich und verständlich behandelt.
Ein besonderer Schwerpunkt liegt auf der Blueprint-Kommunikation - einem zentralen Element jeder Spieleentwicklung. Du lernst verschiedene Methoden kennen, wie Objekte in Deinem Spiel miteinander interagieren können, und wirst in der Lage sein, die jeweils beste Lösung für Dein Projekt auszuwählen.
Die Inhalte werden Schritt für Schritt aufgebaut, sodass Du stets nachvollziehen kannst, was passiert. Regelmäßige Übungen helfen Dir, das Gelernte zu festigen. Mit über 22 Stunden Videomaterial bietet der Kurs einen umfassenden Einstieg in die fortgeschrittene Blueprint-Programmierung.
Nach diesem Kurs wirst Du ein solides Wissen zum Thema Programmierung mit Blueprints in der Unreal Engine haben und wirst in der Lage sein, Dein erstes eigenes Projekt umzusetzen. Die erlernten Techniken helfen Dir nicht nur bei der Spieleentwicklung, sondern sind auch für interaktive Architekturvisualisierungen, VR-Anwendungen und andere interaktive Medien anwendbar.
Du wirst Deinem Ziel, ein eigenes Spiel zu entwickeln, ein großes Stück näher kommen und die nötigen Werkzeuge besitzen, um Deine kreativen Ideen in die Realität umzusetzen.