Erstellen Sie eine Spielumgebung in Unreal Engine 4

Am Beispiel meines Unreal Engine 4-Projekts The Last Stop möchte ich Ihnen einige wichtige Schritte zeigen, die beim Erstellen von Echtzeitumgebungen für die Videospielproduktion zu befolgen sind. Diese Techniken und mein Workflow können auch zum Erstellen von VR-Szenen verwendet werden.
In den folgenden Schritten zeige ich Ihnen, wie Sie mit einer Idee und einem Konzept beginnen und dann kurz die Kernschritte von mir behandeln 3D Kunst Prozess wie Modellierung und Texturierung. Bei Echtzeit-Motoren sind einige Dinge zu beachten, und ich werde auch einige Tipps zu Beleuchtung und Materialien geben.
Ich werde auch einige meiner Erkenntnisse darüber teilen, wie Sie Ihre Szene blockieren, Dateien organisieren und Texturen verarbeiten können, sowohl in Echtzeit mit Substance Designer als auch in Photoshop CC - und warum ich beide aus verschiedenen Gründen gerne benutze. Jeder hat seine eigene Arbeitsweise in Engines wie Unreal Engine 4, und viele dieser Techniken können auf andere Apps angewendet werden.
Laden Sie für weitere Details und Einstellungen meine hochauflösenden Schritt-für-Schritt-Bildschirme herunter.
Laden Sie hier die Assets für dieses Tutorial herunter
01. Holen Sie sich die Geschichte
Wenn Sie ein solches Projekt starten, ist es eine gute Idee, sich hinzusetzen und eine Geschichte dahinter auszudenken. Dies hilft später, wenn Sie verschiedene Assets erstellen und der Szene eine persönliche Note verleihen. In meinem Fall möchte ich eine Szene haben, die zeigt, was passiert, wenn Menschen gegangen sind und die Natur unkontrolliert zu wachsen beginnt. Wenn ich an die Hintergrundgeschichte denke, versuche ich normalerweise zu entscheiden, welches Jahr es ist und wo sich diese Szene befinden könnte. Auf diese Weise können Sie leichter entscheiden, welche Gebäudetypen benötigt werden und welche Details hinzugefügt werden sollen.
02. Sperrung
Sobald Ihre Hintergrundgeschichte herausgefunden ist, ist es Zeit für die Blockierung. Dies ist ein einfaches 3D-Konzept des Bereichs und der Assets, die Sie erstellen möchten. Es gibt keinen richtigen oder falschen Weg, dies zu tun, aber es ist wichtig, Skalierung und Proportionen korrekt zu halten.
ich benutze 3ds Max 2014 und grundlegende 3D-Grundelemente wie Kästchen und Zylinder für Platzhaltermodelle. Da Grundelemente einfach zu erstellen sind, ist es eine gute Idee, verschiedene Versionen der Szene zu erstellen, um zu sehen, was am besten funktioniert. Sie können auch verschiedene Objekte in die Szene importieren, z. B. Autos, Bäume oder Charaktere, um eine bessere Vorstellung von der Skalierung zu erhalten.
Es ist eine gute Idee, ein Raster zu verwenden, wenn Sie Blockouts mit Gebäuden oder mechanischen Objekten ausführen, da dadurch sichergestellt wird, dass im Spieleditor alles gut zusammenpasst.
So können Sie sicherstellen, dass 3ds Max dieselben Rastereinstellungen hat, die Unreal Engine 4 verwendet:
- Gehen Sie zu Anpassen und wählen Sie Geräte-Setup.
- Wählen Sie dort System Unit Setup und dann Zentimeter aus dem Menü.
- Wählen Sie Metrik und Zentimeter als Anzeigeeinheit.
- Gehen Sie zu Extras, Raster und Schnappschüsse und wählen Sie Raster- und Fangeinstellungen.
- Wählen Sie in diesem Fenster Home Grid aus und verwenden Sie einen Rasterabstand von 10,0 cm.
- Sie können die beiden Werte darunter ändern, um das Raster größer oder kleiner zu machen.
03. Organisieren Sie die Objekte
Nachdem meine Blockierung abgeschlossen ist, ist es Zeit, mit der Organisation der Objekte zu beginnen. Um die Organisation Ihrer Szene zu erleichtern, können Sie im 3ds Max-Szenen-Explorer (unter Extras> Szenen-Explorer verwalten) Ebenen erstellen. Das Schöne an diesen Ebenen ist, dass Sie bei Bedarf einen Teil der Szene ausblenden können.
04. Modellierung
Die Modellierung ist dank der Blockierung einfach. Ich muss lediglich ein Platzhaltermodell auswählen und durch mein endgültiges Modell ersetzen.
Mein Workflow ist ziemlich normal für die Modellierung, aber hier sind die wichtigsten zu berücksichtigenden Phasen:
- Isolieren Sie das Blockout-Platzhaltermodell.
- Beginnen Sie mit der Modellierung des High-Poly-Modells und behalten Sie die Abmessungen im Platzhaltermodell bei. Auf diese Weise funktioniert es gut mit den Blockout-Dimensionen.
- Behalten Sie nach Möglichkeit eine gute Topologie bei - dies erleichtert das Erstellen von Low-Poly aus High-Poly und vermeidet visuelle Fehler.
- Verwenden Sie ZBrush für endgültige Details und organische Formen.
- Wenn Ihr High-Poly fertig ist, erstellen Sie das Low-Poly mit dem High-Poly als Basis oder verwenden Sie Retopologie-Tools wie die Graphitmodellierungs-Tools von 3ds Max.
- Stellen Sie gute, gut platzierte UV-Strahlen für das Low-Poly her und stellen Sie sicher, dass die Glättungsgruppen richtig zugeordnet sind.
- Explodieren Sie das Modell zum Backen in kleinere Teile, und triangulieren Sie es dann.
- Backen Sie Karten wie gewohnt, Höhen- und AO-Karten.
- Geben Sie dem Low-Poly-Modell einen geeigneten Namen - z. B. 'Diner_Sofa' - und exportieren Sie es in Unreal Engine 4.
05. Echtzeit-Texturierung
Da Game Engines jetzt Physically-Based Rendering (PBR) unterstützen, ist es eine gute Idee, einen schnellen und funktionsfähigen Workflow für die Texturierung zu finden. Ich finde, dass Substance Designer perfekt für meine Bedürfnisse ist und beim Kacheln von Texturen sehr geholfen hat.
Beim Kacheln von Texturen in Substance Designer sieht mein Workflow folgendermaßen aus:
- Finden Sie zuerst die großen Formen heraus und konzentrieren Sie sich nur auf Höheninformationen.
- Fügen Sie der Höhenkarte langsam kleinere Details hinzu und testen Sie, wie sie gekachelt wird.
- Vermeiden Sie es, Kacheln zu auffällig zu machen, und stellen Sie sicher, dass Ihre Höhenkarte alle Informationen enthält, die Sie benötigen. Verwenden Sie Ebenen, um es bei Bedarf auszugleichen.
- Sobald die Höhenkarte gut aussieht, generieren Sie normale und AO-Karten und verwenden Sie Verläufe, um eine Grundfarbenkarte zu erstellen.
- Als letztes wird eine Rauheitskarte erstellt. Verwenden Sie alles, was Sie bereits haben, und finden Sie das richtige Gefühl für die Materialien. Vermeiden Sie 100 Prozent Schwarz oder Weiß!
Ich backe auch verschiedene Karten von High-Poly-Modellen, um Objekte wie Autos, Requisiten usw. zu texturieren. Ich verwende xNormal zum Backen von Normal-, AO- und Höhenkarten und Substance Designer für Positions- und Krümmungskarten. Substance Designer ist ein leistungsstarkes Tool für Requisiten, da Sie für alle das gleiche Substanzdiagramm verwenden. Auf diese Weise sehen alle Requisiten einheitlich aus und sind sehr schnell herzustellen.
06. Texturieren mit Photoshop
Ich verwende Photoshop auch für einige kleinere Texturen, da es eine sehr schnelle Möglichkeit ist, Modelle zu texturieren, aber aufgrund des PBR-Workflows mehr Aufmerksamkeit benötigt.
Hier ist mein grundlegender Photoshop-Workflow für die Texturierung:
- Fügen Sie dem Dokument gebackene Karten hinzu - dieses Dokument ist die Grundfarbtextur.
- Rendern Sie Ihr UV-Drahtmodell, fügen Sie es über alles hinzu und sperren Sie es, damit Sie eine bessere Vorstellung davon haben, wo sich verschiedene UV-Inseln befinden.
- Machen Sie Grundfarben für verschiedene Materialien und geben Sie diesen Schichten passende Namen.
- Verwenden Sie AO und normale Kartenkanäle als Maske, um Details hinzuzufügen. Normale rote und grüne Kartenkanäle eignen sich gut für Masken mit Photoshop-Filtern und Level-Optimierungen. Dies funktioniert gut, um Kantenschäden oder einen sonnengebleichten Look hinzuzufügen. Verwenden Sie diese als Ebenenmasken.
- Fügen Sie Detailpässe mit Handmalerei oder mit Textquellentexturen hinzu.
- Benennen Sie alles und gruppieren Sie Ebenen, damit Sie leichter die richtigen Ebenen finden und diesen Workflow mit allen von Ihnen erstellten Texturen konsistent halten können.
- Duplizieren Sie den Inhalt in ein neues Dokument und erstellen Sie Karten für Rauheit / Glätte, Metall / Spiegel. Der Fortschritt sollte jetzt einfacher sein, da Sie über alle Informationen verfügen. Löschen oder fügen Sie also einfach Details hinzu und spielen Sie mit Ebenen, invertieren Sie Kanäle usw.
- Testen Sie weiterhin Texturen, während Sie mit einem PBR-Renderer wie Marmoset Toolbag 2 arbeiten.
07. Verwenden des Material-Editors
Gute Texturen zu erstellen ist eine Sache, aber sie in der Engine zu mischen ist eine andere. Unreal Engine 4 verfügt über einen sehr guten Materialeditor, mit dem Sie so ziemlich alles tun können, was Sie für Spiele und mehr benötigen. Echtzeitanwendungen weisen auch einige Einschränkungen auf. Beachten Sie daher, dass das Rendern sehr komplexer Materialien viel kostet.
Ich erstelle einige Master-Materialien, die viele Funktionen und Schalter haben, um den Prozess zu beschleunigen. Dann ist es einfach, Materialinstanzen aus den Master-Materialien zu erstellen und auszuwählen, welche der Features verwendet werden sollen.
Beachten Sie Folgendes, damit Sie beim Erstellen von Materialien schneller arbeiten können:
- Versuchen Sie, alle verwendeten Materialien so einfach wie möglich zu halten, da Ihre Möglichkeiten in Echtzeit begrenzt sind.
- Benennen Sie Knoten und fügen Sie Kommentare hinzu, damit Sie leichter sehen können, was verschiedene Knoten tun.
- Stellen Sie beim Mischen von Texturen sicher, dass Sie Änderungen an allen Ausgaben wie Grundfarbe, Rauheit und Metallic mischen, um gute Ergebnisse zu erzielen, und klemmen Sie die Werte, damit das Mischen richtig funktioniert und keine visuellen Artefakte vorhanden sind.
- Verwenden Sie statische Switch-Knoten, damit Sie verschiedene Funktionen in Ihren Materialinstanzen ein- oder ausschalten können. Auf diese Weise können Sie die Leistung von Materialien einsparen, wenn Sie nicht in jeder Materialinstanz eine teure Funktion aktivieren müssen.
- Überprüfen Sie die Shader-Komplexität, um sicherzustellen, dass die Materialien nicht zu schwer sind. Sie finden dies im Ansichtsfenster-Ansichtsmodus unter Optimierungen.
08. Laub
Mein Projekt hat viel Laub und ich möchte einen soliden Arbeitsablauf für die Herstellung der Pflanzen und des Grases haben. Am Ende modelliere ich alles in 3ds Max. Auf diese Weise kann ich hochwertige Normal-, Grundfarben und AO-Karten backen. Ich packe sie in Texturatlanten, damit ich auf diese Weise verschiedene Grasarten zu einem Modell kombinieren und gleichzeitig Leistung sparen kann.
09. Erstellen des Levels in Unreal Engine 4
Mein Workflow für dieses Projekt besteht darin, jedes Modell von 3ds Max in Unreal Engine 4 im .fbx-Format zu exportieren und die integrierten Tools von Unreal Engine zu verwenden, um das Laub der Szene hinzuzufügen.
So mache ich das:
- Stellen Sie sicher, dass Sie mit Ihren Modellen den Drehpunkt an der richtigen Stelle haben.
- Setzen Sie den Maßstab und die Drehung des Objekts zurück. In Max habe ich dafür Reset Xform verwendet.
- Exportieren Sie das Modell im .fbx-Format in den richtigen Ordner in Ihrem UE4-Projekt.
- Erstellen Sie in Unreal Engine 4 Blaupausen für Objekte, die Sie mehrmals verwenden, um später das Ändern verschiedener Parameter zu vereinfachen.
- Fügen Sie Materialien Texturen hinzu und weisen Sie sie den richtigen Modellen und Bauplänen zu.
- Fügen Sie der Szene mit dem Unreal Engine Paint-Werkzeug Laub hinzu.
10. Bleiben Sie organisiert
In Unreal Engine 4 erstelle ich Ordner, um die Organisation zu verbessern. Ich verwende dieselbe Art von Ordnerstruktur für Modelle, Texturen und Materialien, sodass es einfach ist, das richtige Material für das richtige Modell zu finden. Ich stelle auch sicher, dass auch der World Outliner von UE4 organisiert ist. Ich erstelle verschiedene Ordner - wie DINER, SHOP, OUTSIDE - und füge innerhalb dieser Ordner Unterordner hinzu: STRUCTURE, PROPS, EFFECTS. Dies hilft sehr, da die Szene am Ende viele Requisiten und Vermögenswerte haben wird.
11. Geländeerstellung
Für das Gelände verwende ich den prozeduralen Geländegenerator World Machine, indem ich die Höhenkarte exportiere und im Landschaftswerkzeug von Unreal Engine verwende. Darüber hinaus füge ich Laub hinzu und nehme kleine Anpassungen vor, damit es besser in die Szene passt.
12. Beleuchten Sie die Umgebung
Beleuchtung ist der schwierigste Teil eines Projekts. Schlechte Beleuchtung kann alles ruinieren. Nehmen Sie sich also Zeit, um alles richtig zu machen. Da es sich bei Unreal Engine 4 um eine Echtzeit-Engine handelt, ist es wichtig, die Beleuchtung so optimiert wie möglich zu halten, da die Echtzeitbeleuchtung einen großen Einfluss auf die Leistung hat.
Es gibt viele Faktoren, die sich auf die Endergebnisse beim Beleuchten einer Szene auswirken. Daher ist es hilfreich, etwas über das Beleuchtungssystem von Unreal Engine 4 zu wissen. UE4 verfügt über drei Modi für Lichter: beweglich, statisch und stationär. Beweglich bedeutet, dass die Lichtquelle voll dynamisch ist. Sie können es zur Laufzeit verschieben und Echtzeitschatten werfen. Dies ist sehr schwer, erfordert jedoch kein Backen von Lightmaps mit Lightmass. Statisch ist das Gegenteil von Movable. Dies ist am billigsten, da Beleuchtungsinformationen in Lichtkarten eingebrannt werden, die über einen zweiten UV-Kanal über die Modelle gelegt werden. Sie können es zur Laufzeit nicht ändern. Zwischen diesen beiden befindet sich stationär: Schatten und reflektiertes Licht werden eingebrannt, aber Sie können zur Laufzeit immer noch Farbe und Intensität ändern. Es ist nicht so teuer wie Movable, aber nicht so billig wie Static.
13. Backen Sie die Beleuchtung
Ich möchte, dass meine Szene sowohl in VR als auch für ein Spiel läuft. Aus diesem Grund entscheide ich mich, die Beleuchtung so zu backen, dass die Leistung nicht beeinträchtigt wird.
Mein letztes Beleuchtungssetup ist also:
- Stationäres Richtungslicht wie eine Sonne.
- Oberlicht, um eine Illusion von reflektiertem Licht zu erzeugen. Ich habe HDR-Textur für interessantere Variationen verwendet.
- Für Innenbereiche habe ich handplatzierte statische Scheinwerfer verwendet, um stärkeres Sonnenlicht durch Fenster zu simulieren. Ich habe auch Lichtportale platziert, um Lightmass zu sagen, wo sie sich mehr konzentrieren sollen.
14. Lightmass-Einstellungen
Nach ein paar leichten Backtests muss ich die Lightmass-Einstellungen anpassen. Sie finden diese auf der Registerkarte Welteinstellungen.
Folgendes habe ich in meinen Lightmass-Einstellungen geändert, um die beste Leistung zu erzielen:
- Da die Innenteile der Szene stark indirekt beleuchtet werden, habe ich mich entschlossen, Diffuse Bounce auf 2 zu erhöhen.
- Ich habe auch eine AO-Maske gebacken, mit der ich Schmutz- und Moosstrukturen in Materialien mischen konnte.
- Ich habe Num Indirect Lighting Bounces auf 85 gesetzt.
15. Nachbearbeitung
Das Letzte für die Szene ist das Hinzufügen einer Farbkorrektur. Normalerweise lasse ich das so, weil ich dann sicher sein kann, dass es keine Auswirkungen auf Beleuchtung oder Materialien hat.
Wenn ich mit allem anderen zufrieden bin, können Sie die Nachbearbeitungseffekte sicher optimieren. In Unreal Engine 4 ist dies sehr einfach. Sie müssen lediglich ein Nachbearbeitungsvolumen hinzufügen und die Einstellungen anpassen. Ich möchte meine Änderungen nicht zu extrem machen, weil ich möchte, dass die Beleuchtung und die Materialien den größten Teil der Arbeit erledigen. Ich möchte auch, dass es die gesamte Szene beeinflusst, also schalte ich Unbound ein.
Hier sind meine Einstellungen, aber in dieser Phase geht es darum, den gewünschten Stil zu finden. Experimentieren Sie also:
- AO-Intensität bis 0,85.
- Chromatische Aberration auf 0,3 und Vignette auf 0,5 eingestellt.
- Die globale Beleuchtung wurde auf 4 geändert.
Dieser Artikel erschien ursprünglich in 3D Welt Ausgabe 212; kauf es hier !
Zum Thema passende Artikel:
- 22 großartige Beispiele für 3D-Druck
- Optimieren Sie Ihren Workflow mit dem leistungsstarken neuen 3D-Toolset
- 43 erstaunliche After Effects-Tutorials