Sie sind hier
E-Book

Spiele entwickeln mit Unreal Engine 4

Programmierung mit Blueprints: Grundlagen & fortgeschrittene Techniken. Mit einer Einführung in Virtual Reality

AutorJonas Richartz
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2017
Seitenanzahl512 Seiten
ISBN9783446453692
FormatPDF/ePUB
KopierschutzWasserzeichen
GerätePC/MAC/eReader/Tablet
Preis41,99 EUR

Ihr Einstieg in die Welt der Spieleentwicklung mit Unreal Engine 4
Umfassend lernen Sie das Arbeiten mit der Engine, die visuelle Programmierung mit Blueprints und viele weitere Aspekte der Spieleentwicklung. Sie werden sehen, dass Sie alles, was Sie sich vorstellen, auch umsetzen können. Diese zweite Auflage wurde um neue Features und Beispiele zu den Themen Landscape, Multiplayer, Static Mesh und Widget erweitert. Darüber hinaus enthält sie ein umfangreiches Kapitel zur Entwicklung von Virtual Reality-Apps von Benedikt Engelhard.
Schritt für Schritt werden Sie in die Welt der Spiele-Entwicklung eingeführt. Folgende Themen erwarten Sie:
Teil I: Einstieg in die Unreal-Oberfläche und die Blueprint-Programmierung inklusive Programmiergrundlagen (bool, Integer, float, if, array, Actors ...).
Teil II: Alle wichtigen Unreal- und Blueprint-Techniken wie z.B. Objekte im 3D- Raum, Steuerung (Tastatur/Maus/Touch), Physik, Audio, Licht und Schatten, Partikel, Landschaften, Whiteboxing, Unreal-Interne Datenbanken, Animationen usw.
Teil III: Komplexere Techniken wie z.B. Netzwerk, Debugging, Optimierung (für Performance), KI und das Packaging für Desktop, Konsole, Web und Mobile
Teil IV: Entwicklung eines kompletten Spiels, in dem die beschriebenen Techniken zum Einsatz kommen sowie eines kompletten VR-Games.
Viele kleinere Beispiele und Aufgaben zwischendurch helfen Ihnen, das Gelernte umzusetzten und zu evaluieren. Auf der Website zum Buch finden Sie die Spiele, sämtliche Projektdateien der Spiele sowie Videotutorials.

Jonas Richartz ist Game Designer und hat eine Ausbildung als Game Designer und Game Programmer an der Games Academy in Frankfurt absolviert. Auf seinem YouTube-Kanal veröffentlicht er regelmäßig Tutorials zu Unreal 4.
Benedikt Engelhard ist VR-Entrepreneur und teilt sein Know-How in einem umfangreichen Kapitel über Virtual Reality mit der Unreal Engine 4.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe
2Erste Schritte

Ich werde nicht nur über die Entwicklung mit der Unreal Engine 4 reden, sondern dir auch ein bisschen von der Philosophie bei der Spieleentwicklung ans Herz legen. Es gibt extrem viel zu beachten, und das alleinige Wissen über Mechaniken wird dich nicht überall hinbringen und garantiert kein erfolgreiches und spaßiges Spiel. Klar muss ich dir jetzt nicht erklären, dass es nicht so toll ist, wenn dein Spiel voller Fehler ist und dein Charakter andauernd durch den Boden fällt. Es geht mir vielmehr darum, dass du immer genau weißt, warum du etwas Bestimmtes machst und welchen Nutzen du und der Spieler daraus erhalten. Das Wichtigste ist, dass du Spaß an der Entwicklung hast und der Gamer Spaß am Spielen, dann sind alle Beteiligten glücklich und somit hoffentlich erfolgreich.

2.1Wie fange ich an?

Es kommt immer darauf an, welches Spiel du machen willst und welche Erfahrung du mitbringst. Der logische Anfang wäre natürlich, dieses Buch zu lesen, denn einfach ohne jedwedes Vorwissen draufloszulegen, wird dir nur Probleme bereiten.

Es lohnt sich nicht, gleich von Anfang an dein Spiel der Träume zu bauen. Setze dir vielmehr zuerst kleine Ziele. Wenn du gerade das erste Mal mit der Engine anfängst und denkst: „Geil, dann mach ich jetzt mein Ultra-MMO mit zerstörbarer Landschaft und einem Minimum von 1000 Stunden Spielzeit“, dann hast du dir ein wenig zu viel vorgenommen. Fang immer klein an, vor allem wenn du noch am Lernen bist. Stelle dir kleine Aufgaben, die du nacheinander erfüllst. Beispielsweise könnten deine ersten Aufgaben darin bestehen, kleine Features wie das Öffnen und Schließen einer Tür oder das Ein- und Ausschalten mehrerer Lichter in einem Raum mit einem Lichtschalter einzubauen. Wie genau du sowas angehst, wirst du im Laufe dieses Buches noch lernen, aber das meine ich mit „klein anfangen“. Wenn du dann irgendwann soweit bist und alle Grundlagen verstanden hast, kannst du anfangen, kleinere Spiele zu bauen.

Neben der Idee brauchst du noch einen gewissen Plan, wie du die Aufgabe angehen willst. Einfach drauflos zu bauen, kann funktionieren, ist aber nicht empfehlenswert. Du musst dir genaue Gedanken machen, wie du deine Aufgabe angehen willst und was du dafür machen musst. Bleiben wir bei dem simplen Beispiel, einen Lichtschalter für Räume einzubauen. Du benötigst ein Lichtschalter-Objekt, Lichter und die Logik, um diese Lichter ein- und ausschalten zu können. Für die Funktion brauchst du eine Möglichkeit, dass dein Charakter mit dem Lichtschalter kommunizieren kann. Der Lichtschalter muss mit den jeweiligen Lichtern kommunizieren können und wissen, ob er die Lichter an- oder ausschalten soll usw.

Liegen all diese Fragen auf dem Tisch, liegt es an Dir, das Puzzle zusammenzufügen und herauszufinden, wie du die einzelnen Elemente am besten verbinden kannst. Dies kann vor allem bei komplexen Aufgaben und Funktionen helfen.

2.2Motivation

Motivation ist ein wichtiger Faktor bei der Spieleentwicklung. Ich habe schon oft erlebt, wie mangelnde Motivation ein Projekt zum Scheitern gebracht hat. Es gibt ein paar Tricks, wie du deine Motivation aufrechterhalten kannst.

Zum einen ist Abwechslung ein guter Faktor. Wenn du mehrere Wochen an einem neuen und innovativen Feature sitzt, es aber einfach nicht so funktionieren will, wie du gerne hättest, dann lass es erstmal. Such dir eine andere Aufgabe, bring dich auf andere Gedanken und mach deinen Kopf frei. Wenn man sich zu sehr auf etwas versteift, gibt es nur Probleme. Kommst du nach einer kleinen Auszeit wieder an diese Aufgabe zurück, hast du eine vollkommen andere Sicht auf das Geschehen. Der Tunnelblick ist verschwunden, und du hast neue Ideen, dein Problem zu lösen.

Finde Teammitglieder, die genauso motiviert sind wie du! Alleine zu arbeiten kann auch Unmengen an Spaß machen – vor allem, weil man sein eigener Herr ist, aber auf Dauer ist es doch schön, andere Teammitglieder zu haben, als alles alleine zu erledigen. Aber auch hier musst du vorsichtig sein, denn Teammitglieder können auch eine große Motivationsbremse sein. Wenn Aufgaben nicht erledigt werden oder an dir hängen bleiben, keine Kommunikation herrscht und jeder macht, was er will, dann ist das mehr als nervig. Versuche also, deine Teammitglieder gut auszuwählen, und nicht nur nach deren Talent, sondern eher anhand ihrer Motivation. Jeder hat die Möglichkeiten, sein Talent zu verbessern, aber nicht jeder kann seine Motivation für längere Zeit halten.

Nimm dir nicht zu viel vor! Wenn du dir selbst direkt einen Berg an Aufgaben gibst, kannst du schnell die Übersicht und Motivation verlieren. Kleine Schritte führen zum Erfolg!

2.3Planung

Wenn du in einem Team arbeitest, ist es wichtig, dass du und deine Teammitglieder einen Plan haben. Nicht nur, was für Aufgaben momentan erledigt werden sollen, sondern auch, welche Aufgaben schon erledigt sind und wer welche Aufgabe zugewiesen hat. Somit hast du immer einen genauen Überblick über den momentanen Entwicklungsstand und kannst sehen, an welcher Stelle es hakt und wo es gut läuft. Dafür steht dir auch eine große Bandbreite an Hilfsmitteln zur Verfügung, um deine Planung übersichtlich darzustellen.

Zum einen gibt es das kostenlose Web-Tool namens Trello. Auf Trello können neue Karten in Kategorien erzeugt und bei Beendigung in eine andere Kategorie verschoben werden. Von der Kategorie 3D-Models kann die Aufgabe Charakter erstellen in die Kategorie Erledigt bugsiert werden. Wie genau deine Kategorien heißen und wie du diese managst, bleibt dir natürlich komplett offen.

Für eine professionellere, nicht kostenlose, aber relativ günstige Möglichkeit gibt es noch Unfuddle. Ich persönlich benutze Unfuddle ebenfalls. Hier hat man die Möglichkeit, übersichtliche Tickets zu erstellen und diese Personen im Team zuteilen zu können. Sobald ein Teammitglied einen Bug findet, kann dieser dazu ein neues Ticket erstellen und es einer Person zuweisen. Dann erhalte ich auch direkt eine Mail mit dem Ticket und kann sehen, dass es einen Fehler beim Inventarsystem gibt, durch den man Gegenstände nicht mehr ablegen kann. Dann kann ich das Ticket akzeptieren, das Problem lösen und auf z. B. Testing stellen. Die anderen Mitglieder können das natürlich auch sehen, testen und bestätigen, dass der Fehler erfolgreich behoben wurde. Dann wird das Ticket archiviert, und man macht wie gewohnt weiter. Das nur als kleines Beispiel wie man die ganze Geschichte handhaben kann. Zusätzlich kann man dort noch Milestones einstellen (Zeitangaben, wann bestimmte Features fertig sein sollen), damit man ein Ziel hat, auf das hingearbeitet wird.

Es gibt natürlich unzählig verschiedene Seiten und Programme, die du benutzen kannst, und es ist egal, ob du das mit einem tollen Programm erstellst oder alles in einer eigenen Excel-Tabelle verwaltest. Die Hauptsache ist jedoch, dass du einen Überblick und richtige Planung über die Entwicklung hast.

2.4Sicherheitskopien

Es kann immer zu Problemen kommen, die dein komplettes Projekt lahmlegen können. Sei es, dass du dein eigenes Projekt nach einem Absturz nicht mehr öffnen kannst, oder deine Festplatte den Geist aufgibt: Möglichkeiten, dein Projekt zu zerschießen, gibt es viele. Deswegen ist es immens wichtig, dass du Sicherheitskopien anlegst – am besten auf einen separaten Server.

Mithilfe von Tools wie SVN oder Git kannst du dein Projekt gesichert auf deinem eigenen Server lagern und anderen Personen Zugriff auf eben dieses Projekt geben. Jeder kann sich somit das Projekt herunterladen, Änderungen durchführen und diese auf den Server hochladen. Sollte also dein PC in die Luft fliegen, kannst du unbesorgt sein (außer natürlich du sitzt mitten in der Explosion), da deine Daten sicher sind und nichts verloren gegangen ist. Sollte es aber auch passieren, das du aus Versehen etwas hochlädst, was dein Projekt unbrauchbar machst, hast du mit SVN und Git die tolle Möglichkeit, ein paar Versionen zurückzugehen, oder nur bestimmte Dateien auf einen früheren Stand zurückzusetzen.

Im optimalen Fall musst du natürlich nicht darauf zurückgreifen, und alles läuft von Anfang an reibungslos, aber es ist immer sehr hilfreich zu wissen, dass deine Daten sicher sind. Falls dann doch irgendwann mal was passieren sollte, kannst du ruhig bleiben und musst dich nicht unnötig ärgern, deine ganze Arbeit verloren zu haben.

2.5Learning by Doing

Eines der wichtigsten Aspekte ist das eigenständige Lernen und Ausprobieren. Ich kann dir nicht alles genau vorkauen und beibringen, dafür ist die Engine viel zu groß und vielseitig, um alles innerhalb eines Buches durchgehen zu können. Als ich anfing, mich mit der Engine auseinanderzusetzen, gab es wenige bis gar keine Hilfen und Tutorials, und ich musste mir mein Wissen selbst aneignen, indem ich einfach diverse Sachen ausprobierte und herumexperimentierte. Für mich ist das eine der effektivsten Formen des Lernens, wenn man einfach mal versucht,...

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Vorwort12
1 Einleitung14
1.1 Was brauche ich?14
1.2 Was lerne ich?15
1.3 Lizenzen16
1.4 Weiterentwicklung der Engine17
2 Erste Schritte18
2.1 Wie fange ich an?18
2.2 Motivation19
2.3 Planung19
2.4 Sicherheitskopien20
2.5 Learning by Doing21
3 Grundlagen22
3.1 Installation22
3.2 Epic Games Launcher24
3.3 Erstellung eines Projekts25
3.4 Oberfläche27
3.4.1 Game/Editor View28
3.4.2 Content Browser32
3.4.3 World Outliner34
3.4.4 Details35
3.4.5 World Settings36
3.4.6 Modes37
3.4.7 Play41
3.5 Ausprobieren42
4 Blueprints44
4.1 Was sind Blueprints?44
4.2 Das Actor-Blueprint46
4.2.1 Der Hauptbereich47
4.2.2 Components54
4.2.3 Details57
4.2.4 Debug-Bereich58
4.3 Anwendungsbeispiele60
4.3.1 Toggle60
4.3.2 Sequenzer61
4.3.3 Timeline63
4.3.4 SpawnActor64
4.3.5 Reroute-Node65
4.3.6 IsValid?66
4.3.7 Promote to variable66
5 Bausteine der Welt68
5.1 Variablen68
5.1.1 Boolean69
5.1.2 Byte71
5.1.3 Integer71
5.1.4 Float72
5.1.5 Name, String und Text73
5.1.6 Vector74
5.1.7 Rotator74
5.1.8 Transform75
5.2 Benutzen von Variablen75
5.2.1 Variablen in Events78
5.3 Arrays81
5.4 Übung zu Arrays83
6 Die Welt in 3D86
6.1 World- und Relative-Transforms86
6.2 Transforms in Blueprints90
6.3 Meshes94
6.3.1 Toolbar und Viewport97
6.3.2 Details107
6.4 Collisions110
6.4.1 Kollisionstypen114
6.5 Materials116
6.5.1 Graph117
6.5.2 Details132
6.5.3 Palette135
7 Licht und Schatten136
7.1 Lichtarten136
7.1.1 Directional Light137
7.1.2 Point Light143
7.1.3 Spot Light146
7.1.4 Sky Light147
7.2 Lightmaps149
7.2.1 Lightmass Importance Volume152
7.2.2 Light Propagation Volumes152
7.3 Global Illumination154
8 Physik156
8.1 Simulate Physics156
8.1.1 Collisions159
8.1.2 Physik in Blueprints162
9 Ein Level entsteht182
9.1 BSP183
9.1.1 Brush Settings184
9.1.2 Surface Material186
9.1.3 Geometry Editing189
10 Landschaften192
10.1 Landscape-Tool192
10.1.1 Manage193
10.1.2 Sculpt204
10.2 Landscape-Material207
10.2.1 Layer Blend208
10.2.2 Material Instance210
10.2.3 Paint-Tool211
10.2.4 Layer Weight213
10.3 Foliage-Tool215
10.4 Grass Output218
11 Audio222
11.1 Sound-Arten222
11.1.1 Sound Cue224
11.1.2 Sound Attenuation228
11.1.3 Sound Class230
11.1.4 Sound Mix231
11.1.5 Dialogue Voice/Wave232
11.1.6 Reverb Effect234
11.1.7 Media Sound Wave235
12 Partikel236
12.1 Cascade237
12.1.1 Emitter238
12.1.2 Type Data244
12.2 Ein Beispiel für Effekte245
13 Der Character250
13.1 Character Blueprint250
13.1.1 Character Movement255
13.1.2 Movement-Funktionen258
13.1.3 Vorbereitungen für Interaktionen260
13.1.4 Kameraeigenschaften261
14 Kommunikation270
14.1 Cast to Blueprint270
14.2 Interface273
14.2.1 Output276
14.3 Reference279
14.3.1 Alle Actors einer Klasse281
15 User Interface284
15.1 HUD-Klasse284
15.2 Widgets287
15.2.1 Canvas288
15.2.2 Palette291
15.3 Benutzen von Widgets309
16 Datenbanken312
16.1 Structs312
16.2 Data Table314
16.2.1 Datenbanken in Blueprints316
16.2.2 Speichern und Laden von Daten318
17 Animationen322
17.1 Skeletal Mesh322
17.2 Skeleton324
17.3 Animationen326
17.3.1 Aim Offset328
17.3.2 Blend Space330
17.4 Animation Blueprint331
17.4.1 Event Graph331
17.4.2 Anim Graph335
17.5 Retargeting343
18 Netzwerk348
18.1 Grundwissen über Multiplayer348
18.2 Replication349
18.2.1 Events351
18.2.2 Animationen353
18.3 Sessions356
18.4 OnlineSubsystem359
18.5 Multiplayer-Beispiele und Probleme361
18.5.1 Events werden nicht ausgeführt361
18.5.2 Replication und deren Auswirkung362
18.5.3 Replication kombinieren366
18.5.4 Owner herausstechen lassen367
19 KI370
19.1 Erste Schritte370
19.2 Simple Patrouille373
19.2.1 AIController374
19.3 KI mit Angriff377
19.4 Behaviour Tree/Query System380
20 Debugging382
20.1 Fehlersuche382
20.2 Optimierung388
21 Spiel erstellen394
21.1 Project Launcher397
21.1.1 Project399
21.1.2 Build399
21.1.3 Cook399
21.1.4 Package403
21.1.5 Archive403
21.1.6 Deploy403
22 Ein eigenes Spiel406
23 Virtual Reality mit Unreal Engine 4448
23.1 Was ist „Virtual Reality“?448
23.1.1 Mit allen Sinnen449
23.1.2 Eine kurze Geschichte449
23.2 Achtung, Virtual Reality!450
23.2.1 Der Spieler450
23.2.2 Die Technik452
23.3 Das VR Template der Unreal Engine454
23.3.1 Vorbereitung454
23.3.2 Neues VR-Projekt erstellen456
23.3.3 VR Template ausprobieren459
23.4 Das VR Template erklärt462
23.4.1 VR Blueprints462
23.4.2 Der MotionControllerPawn463
23.4.3 Das MotionController Blueprint471
23.4.4 Der Pickup Cube479
23.5 Die virtuelle Wurfbude480
23.5.1 Game Design480
23.5.2 Das Spielfeld481
23.5.3 Der Wurfball484
23.5.4 Der Punktezähler486
23.5.5 Ringe als Ziele488
23.5.6 Hebel zum Reset495
23.6 Zusammenfassung501
24 Tipps und Tricks502
24.1 Features, die es in die vorherigen Kapitel nicht geschafft haben502
24.1.1 Split Screen502
24.1.2 Authority504
24.1.3 Maus zur Welt504
24.1.4 Enums505
24.1.5 Audio stoppen506
24.2 Schlusswort506
Index508

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

CE-Markt

CE-Markt

CE-Markt ist Pflichtlektüre in der Unterhaltungselektronik-Branche. Die Vermarktung von Home und Mobile Electronics mit den besten Verkaufsargumenten und Verkaufsstrategien gehören ebenso zum ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

dental:spiegel

dental:spiegel

dental:spiegel - Das Magazin für das erfolgreiche Praxisteam. Der dental:spiegel gehört zu den Top 5 der reichweitenstärksten Fachzeitschriften für Zahnärzte in Deutschland (laut LA-DENT 2011 ...

Die Versicherungspraxis

Die Versicherungspraxis

Behandlung versicherungsrelevanter Themen. Erfahren Sie mehr über den DVS. Der DVS Deutscher Versicherungs-Schutzverband e.V, Bonn, ist der Interessenvertreter der versicherungsnehmenden Wirtschaft. ...

EineWelt

EineWelt

Lebendige Reportagen, spannende Interviews, interessante Meldungen, informative Hintergrundberichte. Lesen Sie in der Zeitschrift „EineWelt“, was Menschen in Mission und Kirche bewegt Man kann ...

Eishockey NEWS

Eishockey NEWS

Eishockey NEWS bringt alles über die DEL, die DEL2, die Oberliga sowie die Regionalligen und Informationen über die NHL. Dazu ausführliche Statistiken, Hintergrundberichte, Personalities ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...