In diesem Abschnitt der Tutorial-Reihe machen Sie sich mit den Grundlagen des Unreal Editors vertraut, einschließlich der Erstellung eines neuen Levels, der Platzierung und Transformation von Objekten, der Arbeit mit verschiedenen Viewport-Modi und der Verwendung des Outliners, um den Überblick zu behalten.
Sie lernen außerdem, wie Sie Ihre Ideen mithilfe einfacher Formen umsetzen und dabei Level-Design-Konzepte wie Skalierung, Vertikalität, Okklusion, Kontrast und Leitlinien anwenden. Dies sind alles Werkzeuge, die beeinflussen, wie sich Spieler durch Ihr Level bewegen und es erleben.
Am Ende werden Sie einen spielbaren Raum haben, der die Grundlage für das Gameplay bildet, das Sie in den nächsten Abschnitten des Tracks erstellen werden.
Bevor Sie anfangen
Stellen Sie sicher, dass Sie den Epic Games Launcher und Unreal Engine installiert haben.
Um diesem Tutorial zu folgen, müssen Sie die Grundlagen der Werkzeugleisten, Panels und Viewport-Steuerelemente des Unreal Editor verstehen. Weitere Informationen finden Sie auf den anderen Seiten in der Dokumentation Unreal Engine für neue Nutzer, bevor Sie mit dem Tutorial beginnen:
Skizzieren Ihrer Ideen
Bevor Sie mit der Erstellung im Editor beginnen, sollten Sie sich 10–20 Minuten Zeit nehmen, Ihre Ideen zu Papier zu bringen oder sie zu skizzieren. Diese erste Ausarbeitung kann Ihnen bei Folgendem helfen:
Herausfinden der grundlegenden Gameplay-Abläufe und Konzepte in Ihrem Level.
Prüfen, ob Ihre Gameplay-Ideen gut funktionieren und in den Rahmen passen, bevor Sie Zeit in deren Umsetzung im Editor investieren.
Ihre Ideen zwischen den Arbeitssitzungen im Gedächtnis zu behalten.
Sie können diesen ersten Entwurf auf verschiedene Weise angehen, beispielsweise indem Sie sich zunächst auf die Gameplay-Mechanik oder das Level-Design konzentrieren. Wählen oder kombinieren Sie Level-Design-Techniken basierend auf dem Typ des von Ihnen erstellten Spiels und Ihren persönlichen Vorlieben. Es gibt keinen allgemeingültigen Ansatz für das Spieldesign – die Ergebnisse zählen. Spiele, bei denen Level-Design und Gameplay sich gegenseitig ergänzen, sind stimmiger und bieten dem Spieler ein intensiveres und fesselnderes Erlebnis.
Eine Technik, das Knoten-Mapping, besteht darin, ein vereinfachtes, abstraktes Diagramm aus Kreisen und Linien zu zeichnen, um die verschiedenen Räume im Level darzustellen, was in diesen Räumen geschieht und wie der Spieler von Raum zu Raum wechseln kann. Das Knoten-Mapping konzentriert sich auf das Gameplay-Tempo, verzweigte Pfade und die Entscheidungen der Spieler. Ein Knoten steht für eine Action oder ein Event eines Spielers. Das Event kann die Form dieses Raumes inspirieren.
Dieses Tutorial verwendet eine Reihe von Räumen, um Ihnen zu zeigen, wie Sie gängige Gameplay-Objekte implementieren können, z. B. das Einschränken des Spielers durch verschlossene Türen und Schlüssel, das Erstellen von Hindernissen, die dem Spieler Schaden zufügen können, und das Hinzufügen von Plattformen und Schaltern, um diese Hindernisse zu überwinden. So haben wir diese Art von Level-Idee in Knoten skizziert:
Eine andere Technik ist das Zeichnen einer visuellen Skizze in der Vogelperspektive, von der Seite oder in einer orthografische Ansicht des tatsächlichen Layout des Levels. Hier beginnt der Fokus beim Level-Design, nicht beim Gameplay. Die Formen der Level-Räume können Actions und Events des Spielers inspirieren.
So haben wir zunächst das Design für den Raum und den Flur unseres Tutorial-Levels skizziert:
Sie können auch mit Spielerverben oder den Aktionen, die der Spieler in Ihrem Spiel ausführen kann, wie Springen, Rennen, Verstecken, Greifen, Herstellen, Schießen, Nahkampf und Sprechen, gestalten. Dadurch verlagert sich Ihr Fokus von den Dingen in der Welt auf das, womit sich der Spieler beschäftigt. Diese Denkweise kann dazu beitragen, das Engagement, den Spaß und das Tempo Ihres Levels zu steigern.
Denken Sie beim Design der Level-Räume darüber nach, wo Sie Möglichkeiten zum sinnvollen Einsatz dieser Spieler hinzufügen können. Die Verben können das Design des Raum beeinflussen. Wenn Ihr Verb beispielsweise springen lautet, können Sie eine zu überquerende Lücke, einige Plattformen, einen vertikalen Raum oder einen Feind oder eine Gefahr hinzufügen, über die Sie springen müssen. Variieren Sie diese Verben von Raum zu Raum, um das Gameplay interessant und spannend zu gestalten.
Egal, welchen Ansatz Sie beim Entwerfen eines Levels und seines Gameplays wählen, berücksichtigen Sie immer, was der Spieler tut.
Erstellen Sie Ihr Projekt
Erstellen Sie zunächst ein neues Projekt mit der Vorlage „First-Person-Perspektive“. Die Vorlagen umfassen vorgefertigte Assets wie Meshs, Gameplay-Objekte und einen Spieler-Charakter, die für die Beschleunigung des Level-Designs nützlich sind.
Ein Mesh ist ein 3D-Modell oder die Sammlung von Polygonen, die ein 3D-Modell erstellen. Ein statisches Mesh ist ein-3D Modell, aus dem ein Objekt in Ihrem Level erstellt wird, das verschoben, gedreht und skaliert werden kann.
Wenn Sie mit dem Tutorial Programmier-Track begonnen haben, können Sie Ihr Projekt in diesem Track weiterverwenden.
Um ein neues First-Person-Projekt zu erstellen, führen Sie die folgenden Schritte aus:
Öffnen Sie den Unreal Editor. Gehen Sie im Unreal-Projektbrowser zur Spiele -Kategorie und wählen Sie die Vorlage First Person.
Behalten Sie alle Projektstandards bei und wählen Sie Arena-Shooter als Variante aus. Vorlagevarianten umfassen zusätzliche Assets und ein Beispiel-Level, das dem Gameplay-Genre entspricht.
Benennen Sie Ihre Projekt. Dieses Tutorial verwendet
AdventureGameals Projektnamen.Klicken Sie auf Erstellen, um Ihr neues Projekt im Unreal Editor zu öffnen.
Ihr Projekt wird mit dem Beispiel-Level Lvl_FirstPerson im Viewport geöffnet.
Beginnen eines neuen Level
Um dieses Projekt zu Ihrem eigenen Projekt zu machen, erstellen Sie ein brandneues Level (manchmal Map genannt), erkunden dessen Inhalt, richten den Spielstart ein und spielen es zum ersten Mal.
Wenn du in Unreal Editor arbeitest und auf unerwartetes Verhalten stößt (z. B. wenn Assets oder Actors nicht erscheinen oder nicht aktualisiert werden), starte den Editor neu. Da Unreal Engine stark auf Caching angewiesen ist, können diese Probleme oft durch einen Neustart behoben werden.
Um ein neues Level zu erstellen, führen Sie die folgenden Schritte aus:
Gehen Sie in der Menüleiste des Unreal Editors zu Datei, und wähle Sie Neues Level aus.
Wählen Sie im Fenster Neues Level Grundlagen aus und klicken Sie auf Erstellen. Damit können Sie mit einem Boden, einem Himmel, einem Spieler-Spawn und einer Umgebungsbeleuchtung beginnen.
Gehen Sie zu Datei > Aktuelles Level speichern.
Erstellen Sie eine Ordnerstruktur, um die Assets, die Sie in dieser Tutorial-Reihe erstellen, zu speichern:
Klicken Sie im Fenster Level speichern als mit der rechten Maustaste im linken Panel auf den Ordner Inhalt und wählen Sie Neuer Ordner aus.
Benennen Sie diesen Ordner nach Ihrem Projekt. Dieses Tutorial verwendet
AdventureGame.Klicken Sie mit der rechten Maustaste auf Ihren neuen Ordner und wählen Sie Neuer Ordner aus.
Nennen Sie den Ordner
Designerund wähle Sie ihn aus.
Geben Sie einen Namen für Ihr Level ein und klicken Sie auf Speichern. Dieses Tutorial verwendet
Lvl_Adventure.
Erkunden des Outliner und des Details-Panel
Im Outliner finden Sie eine Liste aller Objekte in Ihrem Level. Diese Objekte werden oft auch Actors genannt.
Im Ordner Lighting finden Sie eine Reihe von Objekten, die Hintergrund und Umgebungsbeleuchtung in Ihrem Level steuern. Um zu sehen, wie jedes Element zum Erscheinungsbild Ihres Levels beiträgt, bewegen Sie den Mauszeiger darüber und klicken Sie auf das Augensymbol, um die Sichtbarkeit im Viewport umzuschalten.
Die Position dieser Beleuchtungs-Level-Objekte spielt keine Rolle, Sie können diese also bei Bedarf verschieben.
Das Level enthält auch ein Boden-Mesh und einen PlayerStart-Spawnpunkt, der bestimmt, wo die Spieler im Level starten.
Klicken Sie im Outliner auf DirectionalLight. Dieses Licht wird als Sonne (oder Mond) konfiguriert, die Ihr Level beleuchtet und Schatten wirft. Im Details-Panel können Sie die Lichteigenschaften (z. B. Farbe oder Intensität) anzeigen und ändern. Die Ergebnisse werden sofort im Viewport aktualisiert.
Wenn Sie ein Objekt im Viewport nicht finden können, klicken Sie im Outliner auf das Objekt und drücken Sie F, um das Ansichtsfenster neu zu positionieren und den Fokus auf das Objekt zu richten.
Weitere Informationen zur Anpassung der Level-Beleuchtung finden Sie unter Beleuchtung der Umgebung.
Gameplay-Vorschau im Viewport
Der Viewport zeigt eine Vorschau des Levels an. Klicken Sie in der Viewport-Werkzeugleiste auf Spielen, um Ihr Level im Viewport zu spielen. Dieser Modus wird oft auch als Play-In-Editor-Modus (PIE) bezeichnet. Mit dem PIE-Modus können Sie aus dem Unreal Editor heraus testen, wie Ihr Projekt zur Laufzeit funktioniert (entweder in einem Viewport oder in einem neuen Fenster).
Laufzeit bezieht sich auf die Zeit, in der ein Projekt auf der Zielplattform (z. B. Ihrem Computer oder einer Konsole) ausgeführt wird.
Wenn Sie das Level spielen, spawnen Sie an der Position von PlayerStart.
Klicken Sie dann auf den Viewport und verwenden Sie die WASD- oder Pfeiltasten zum Bewegen und die Leertaste zum Springen.
Schauen Sie nach unten und Sie werden sehen, dass Ihr Spiel einen Standard-First-Person-Spieler-Charakter verwendet.
Drücken Sie Umschalt + F1, um zum Mauszeiger zurückzukehren und klicken Sie auf Stopp (oder auf Esc), um den Spielmodus zu verlassen.
Um eine vollständige, eigenständige Version Ihres Spiels zu spielen, klicken Sie auf die drei Punkte neben den Spiel-Modussteuerelementen und wählen Sie den Modus Eigenständiges Spiel aus. Dadurch wird Ihr Spiel in einem neuen Fenster abgespielt und eine fertige, exportierte Version Ihres Spiels simuliert. So können Sie UI-Menüs und Ladebildschirme, Auflösungsskalierung und Mauseingabe testen. Dieser Modus wird jedoch weiterhin im Editor ausgeführt. Um eine temporäre .exe-Version Ihres verpackten Spiels zu erstellen und auszuführen, wählen Sie den Schnellstartmodus aus.
Über dieses Menü können Sie zum „Spielen-im-Viewport“-Modus zurückkehren.
Wenn der Unreal Editor auf Ihrem Computer langsam erscheint, klicken Sie auf die Werkzeugschaltfläche Performance und Skalierbarkeit in der oberen rechten Ecke des Viewport, gehen Sie zu Viewport-Skalierbarkeit und wählen Sie eine niedrigere Qualitätseinstellung. Oder klicken Sie auf der rechten Seite der Viewport-Werkzeugleiste auf Beleuchtet, um das Menü Ansichtsmodus zu öffnen, und wählen Sie unbeleuchtet aus. Das wirkt sich nur auf den Unreal Editor aus, nicht auf Ihr endgültiges Projekt.
Ändern des Start-Level
Verwenden Sie die Projekt-Einstellungen, um das Level zu ändern, das geladen wird, wenn Sie Ihr Projekt im Unreal Editor öffnen und wenn Sie Ihr fertiges Spiel spielen.
Um das Standard-Startlevel Ihres Projekts zu ändern, führen Sie die folgenden Schritte aus:
Gehen Sie im Mhauptmenü des Editors zu Bearbeiten > Projekt-Einstellungen.
Wählen Sie in der Sektion Projekt auf dem linken Panel Karten und Modi aus.
Ändern Sie in der Sektion „Standardkarten“ die Editor-Startup-Karte und Spiel-Standardkarte in Ihr neues Level. Der Editor öffnet das Editor-Startup-Karte, wenn Sie Ihr Projekt öffnen, und Unreal Engine lädt die Spiel-Standardkarte, wenn es eine eigenständige oder verpackte
.exe-Datei Ihres Projekts abspielt.Schließen Sie die Projekt-Einstellungen.
Blockout Ihrer Karte
Nachdem Sie nun ein Konzept, ein neues Projekt und ein neues Level haben, können Sie mit dem Design im Unreal Editor beginnen.
Bevor Sie über fertige Grafiken und ausgefeilte Details nachdenken, ist es wichtig, sich zunächst auf das Layout und die Spielbarkeit Ihres Levels zu konzentrieren. Diese Entwurfsphase wird oft als Blockout (oder Grayboxing) bezeichnet und umfasst den Bau der groben Bereiche Ihres Levels mit einfachen Formen, die Wände, Wege und funktionale Hindernisse darstellen. Es ist, als würde man mit einem Bleistift auf einer Leinwand eine Skizze anfertigen, bevor man sie mit Farbe fertigstellt.
„Blockout“ ist ein Werkzeug, mit dem Sie Ideen schnell iterieren und testen können, um zu entscheiden, was in Ihrem Design funktioniert und was nicht. Bedenken Sie, dass dies nicht das Endprodukt ist. Dieser Prozess sollte schnell sein, damit mehr Zeit für die Teile des Spiels bleibt, mit denen die Spieler tatsächlich interagieren.
Die Umsetzung Ihres Levels hilft Ihnen bei:
Beginnen mit der Gestaltung des Gameplays, ohne auf ein fertiges Art-Design zu warten.
Designprobleme früher erkennen.
Experimentieren und schnell iterieren, ohne das Risiko einzugehen, Grafik-Assets zu wiederholen.
Skalierung, Sichtlinien und Gameplay-Fluss zu testen, ohne Zeit mit Details zu verbringen, die in dieser Phase unnötig sind.
Sie erstellen die einfachste und navigierbarste Version Ihres Levels, die möglich ist, nur mit den Hindernissen, die das Gameplay unterstützen. Konzentrieren Sie sich nicht auf das Aussehen, sondern darauf, wie sich der Raum anfühlt, ob er Spaß macht und ob er Ihre Gameplay-Ziele unterstützt. Da Sie Grundformen verwenden, können Sie, wenn etwas nicht funktioniert, es entfernen und etwas Neues ausprobieren.
Sie können sowohl Layout- als auch künstlerische Designentscheidungen in Ihrem Blockout integrieren, solange sie funktional sind und das Gameplay unterstützen. Erfolgreiche Spiele verwenden beide Typen von Designelementen, um fesselnde und immersive Räume zu erstellen.
| Fügen Sie Ihrem Blockout hinzu | Fügen Sie Ihrem Blockout nicht hinzu | |
|---|---|---|
Layout-Designentscheidungen |
|
|
Künstlerische Designentscheidungen |
|
|
Bestimmen Ihrer Skalierung
Bevor Sie beim Umsetzen Ihres Levels zu weit gehen, ist es wichtig, die Standardabmessungen und die Skalierung Ihres Spiels festzulegen. Dies umfasst auch die Festlegung der Größe gewöhnlicher Gebäude in Ihrem Level, wie z. B.:
Die Höhe von Objekten, über die gesprungen werden kann, Objekten, über die geklettert werden kann, Deckungen, Korridoren und Räumen.
Die Größe von Türen, Fenstern und Gängen.
Wenn Sie die Skalierung Ihres Levels anpassen, besteht Ihr Ziel darin, das Level konsistent, natürlich und leicht verständlich zu gestalten. Ihr Blockout erstellt auch die Skalierung für die Environment-Artisten.
In Unreal Engine arbeiten Sie mit Zentimeter-Einheiten. 100 Zentimeter entsprechen 1 Meter.
Sorgen Sie für ein natürliches Gefühl
Die Merkmale des Raums sollten sich je nach Größe des Spielers glaubwürdig anfühlen. Bedenken Sie jedoch, dass sich absoluter Realismus nicht immer gut auf Spiele übertragen lässt. Beispielsweise kann sich eine 0,8 m breite Türöffnung im wirklichen Leben geräumig anfühlen, im Spiel jedoch zu eng sein oder die Kamera daran hindern, ohne Clipping hindurchzugehen. Finden Sie die Balance zwischen Realismus und Spaß, die für Ihren Spieltyp glaubwürdig ist.
Ihre Skalierung hängt von der Größe des Spielers ab, wie sich ein Raum anfühlen soll und welches Gameplay der Raum unterstützt. Ist der Raum ein beengter, klaustrophobischer Flur oder ein offener und luftiger Raum? Muss er für einen Spieler, mehrere Spieler oder eine Begegnung mit einem Feind angepasst sein?
Bei der Festlegung der Skalierung der Räume Ihres Levels sollten Sie diese Durchschnittswerte berücksichtigen
| Level-Objekt | Standardabmessungen |
|---|---|
Menschlicher Charakter | 1,8 m groß, springt 0,5 m hoch |
Flure | 2–3 m breit, 3–4 m hoch Third-Person-Kameras benötigen breitere Gänge, damit eine Kamera hineinpasst. |
Türen | 1–1,5 m breit, 2 m hoch |
Wände | 4 m hoch |
Denken Sie daran, dass dies nur Richtlinien sind. Design und Skalierung Ihres Levels sollten zu Ihren Anforderungen an das Gameplay-Erlebnis passen.
Machen Sie es leicht verständlich
Die Skalierung der Merkmale eines Levels sollte für den Spieler leicht verständlich und vorhersehbar sein. Wenn der Spieler auf ein Objekt zugeht, sollte er auf einen Blick erkennen, ob es zum Ducken, Aufspringen, Klettern oder für einen unpassierbaren Bereich gedacht ist.
Hier ist beispielsweise eine kurze Struktur, die eine kleine Gartenmauer darstellt und als Führungslinie dient, an der der Spieler entlangführt wird, aber nicht darüber springen kann. Sie ist 0,6 m hoch (10 cm höher als die Sprunghöhe des Spielers).
Wenn der Spieler auf diese Wand zuläuft, ist sie niedrig genug, dass er glaubt, er könne darüber springen, und möglicherweise frustriert ist, wenn ihm das nicht gelingt. Stattdessen könnte die Wand durch eine Reihe hoher Gitterpaneele ersetzt werden, die eine ähnliche Sichtbarkeit wie die Wand ermöglichen und dem Spieler gleichzeitig vermitteln, dass er auf diesem Weg nicht durchkommt.
Machen Sie es konsistent
Damit Ihr Level glaubwürdig wirkt und die Welt-Erstellung unterstützt wird, achten Sie darauf, dass die Größe gemeinsamer Merkmale in der gesamten Umgebung konsistent bleibt.
Sie können jedoch einen gewissen Kontrast einführen, um die Aufmerksamkeit des Spielers zu erregen oder eine Emotion hervorzurufen. Wenn Sie beispielsweise eine Tür größer als alle anderen machen, kann dies auf ihre Bedeutung hinweisen.
Wenn viele Designer an einem Level oder Projekt arbeiten, verhindert die Standardisierung der Maße Inkonsistenzen zwischen den Assets (wodurch Zeitaufwand für die Wiederholung von Arbeiten vermieden wird) und trägt dazu bei, ein einheitliches Erlebnis für den Spieler zu schaffen.
Erstellen Sie beim Entwerfen Ihres Levels in jedem Bereich einen Würfel oder ein Charakter-Mesh in Spielergröße als Referenz für die Spielergröße. Um ein statisches Spieler-Mesh hinzuzufügen, gehen Sie im Inhaltsbrowser zum Ordner Inhalt > Characters > Mannequins > Meshes, und ziehen Sie ein SKM_Manny_Simple in den Viewport.
In der Third-Person-Ansicht erscheinen Objekte kleiner, da die Kamera weiter hinten ist. Daher müssen Sie möglicherweise die Skalierung Ihrer Räume im Vergleich zu einem First-Person-Spiel vergrößern. Eine gute Richtlinie besteht darin, den Maßstab mit 1,5 zu multiplizieren (eine Erhöhung um 50 %), wenn Sie mit einer Third-Person-Kamera arbeiten.
Modulare versus komplette Teile
Beim Umsetzen Ihrer Räume können Sie Wände, Böden und Decken aus einem langen Mesh bauen oder für ein modulareres Design immer wieder Meshs duplizieren.
Diese Wahl hängt von Ihren Vorlieben und der Art des Raums ab. Sie können modulare Teile in Fluren und kastenförmigen Räumen verwenden und größere Teile für ungewöhnlich geformte Räume oder natürliche Räume.
Das Umsetzen in modularen Stücken hat folgende Vorteile:
Viele Level-Designer finden es schneller und vorhersehbarer, modulare Teile zu duplizieren, anstatt die Größe jedes Teils zu ändern.
Es kann einfacher sein, ein oder zwei modulare Teile in Ihrem Blockout zu verändern, anstatt ein größeres Teil.
Sie können eine Vielzahl von Räumen bauen und dabei die Anzahl der von Künstlern erstellten Assets minimieren.
Standardisierte Größen sorgen dafür, dass alles am gleichen Raster und im gleichen Maßstab ausgerichtet ist, was die Performance verbessert, da die Anzahl der benötigten einzigartigen Materialien und Meshs reduziert wird.
Mithilfe modularer Designpraktiken erstellen Sie eine Palette von Mesh-Formen, die Sie wie Bausteine verwenden können, um die Räume Ihres Levels zusammenzusetzen. Allerdings sind diese Teile nur die Grundlage. Sie können jederzeit einzigartige Formen hinzufügen.
Hinzufügen Ihres ersten Objekts
Verwenden Sie die in Ihrem Projekt enthaltenen Beispiel-Assets, um mit der Skalierung und des Blockouts Ihres Levels zu experimentieren.
Assets sind Dateien, die Sie in Ihrem Projekt erstellen oder importieren. Sie werden im Inhaltsbrowser gespeichert. Assets können 3D-Meshs, 2D-Bilder, Sound-Dateien und mehr sein.
In Unreal Engine arbeiten Sie mit Assets und Actors:
Assets sind Dateien, die Sie in Ihrem Projekt erstellen oder importieren. Sie werden im Inhaltsbrowser gespeichert.
Actors sind alle Objekte, die in einem Level platziert werden.
Actors sind oft Instanzen eines Asset, also eine individuelle Kopie dieses Asset, die in der Welt platziert wird.
Um Ihr erstes statisches Mesh dem Level hinzuzufügen, führen Sie die folgenden Schritte aus:
Navigieren Sie im Asset-Baum des Inhaltsbrowsers zum Ordner Inhalt > LevelPrototyping > Meshes.
Klicken Sie auf
SM_Cubeund ziehen Sie ihn in den Viewport in die Nähe von PlayerStart. Dadurch wird ein Statisches-Mesh-Actor in Ihrem Level erstellt, der das AssetSM_Cubeverwendet.
Das Inhaltsbrowser-Asset und die Level-Objekt-Instanzen dieses Asset haben eine Parent-Child-Beziehung. Änderungen am Parent-Asset SM_Cube wirken sich auf das Mesh in Ihrem Level aus, aber sämtliche Änderungen, die Sie an einzelnen SM_Cube-Objektinstanzen in Ihrem Level vornehmen, wirken sich nicht auf das Asset SM_Cube im Inhaltsbrowser aus.
Dieser Block ist 1 m x 1 m x 1 m groß und hat ein Rastermaterial, damit Sie seine Dimensionen auf einen Blick erkennen können. Die dunklen Linien auf dem Material erstellen ein 1-m-Raster und die hellen Linien auf dem Bodenmaterial erzeugen ein Raster mit 0,1 m. Die hellen Linien auf vertikalen Oberflächen haben ein Raster mit 0,2 m.
In Unreal Engine ist ein Material ein Asset aus 2D-Texturen, das das Aussehen der Oberfläche eines Mesh verändert. Materialien verleihen einem Mesh das Aussehen von Metall, Holz oder einfach einer schlichten Farbe.
Um die Größe des 1-m-Blocks in ein Wandteil zu ändern, führen Sie die folgenden Schritte aus:
Klicken Sie im Viewport auf das Block-Mesh, um es auszuwählen.
Klicken Sie in der Viewport-Werkzeugleiste auf die Schaltfläche Skalierung (oder drücken Sie R). Das Skalieren-Gizmo wird auf dem Block angezeigt.
Klicken und ziehen Sie die Griffe des Gizmos, um den Block dünner, länger und höher zu machen. Die Dicke Ihrer Wände hängt davon ab, was Sie bauen. Ein Haus kann dünnere Wände haben, während eine Festung dickere Wände hat. 10–30 cm ist ein guter Ausgangspunkt.
Wenn Sie die Größe der Form ändern, sehen Sie sich das Details-Panel an und achten Sie darauf, wie sich die Eigenschaften Skalierung ändern. Sie können Ort, Drehung und Größe eines Objekts auch im Details-Panel ändern.
Um die Form in mehreren Dimensionen gleichzeitig zu vergrößern oder zu verkleinern, bewegen Sie den Mauszeiger über das Dreieck zwischen den roten und blauen Griffen, bis diese gelb hervorgehoben werden, und klicken und ziehen Sie dann.
Um alle drei Dimensionen gleichzeitig zu skalieren, klicken und ziehen Sie die weiße Kugel in der Mitte des Gizmos.
Um die Position Ihrer Wand anzupassen, führen Sie die folgenden Schritte aus:
Klicken Sie in der Viewport-Werkzeugleiste auf die Schaltfläche Verschieben (oder drücken Sie W).
Klicken und ziehen Sie die grünen oder roten Haltepunkte, um die Form in die entsprechende Richtung zu verschieben.
Um die Form gleichzeitig in zwei Richtungen zu verschieben, bewegen Sie den Mauszeiger über das Quadrat zwischen den grünen und roten Griffen, bis diese gelb hervorgehoben werden. Klicken Sie dann auf die Form und ziehen Sie sie über den Boden.
Duplizieren und Ausrichten von Objekten, um einen Raum zu bauen
Sie brauchen noch ein paar Wände, um einen Raum zu schaffen, also machen Sie weiter!
Um schnell ein weiteres Wandstück zu erstellen, wählen Sie Ihr Wand-Mesh aus, halten Sie die Alt-Taste gedrückt und verwenden Sie das Verschieben-Gizmo, um das Mesh zu verschieben. So bleibt das Original an Ort und Stelle und es wird ein Duplikat erstellt.
Duplizieren und verschieben Sie Wandteile, um Ihren ersten Raum zu bauen. Stellen Sie sicher, dass genügend Platz vorhanden ist, um in einem späteren Modul dieses Tutorials ein Hindernis hinzuzufügen.
Drücken Sie Strg, um mehrere Teile gleichzeitig auszuwählen, und halten Sie dann Alt gedrückt, während Sie drehen oder verschieben, um die gesamte Auswahl zu duplizieren.
Beachten Sie beim Verschieben von Objekten, dass sie an einem unsichtbaren Raster andocken. Mithilfe der Raster- und Rasterandockwerkzeuge können Sie Objekte in Ihrem Level präzise platzieren, ausrichten und skalieren. Das Raster sorgt dafür, dass alles sauber zusammenpasst und in Größe und Position konsistent bleibt.
Von Menschenhand geschaffene Räume folgen stärker einem Raster als natürliche Räume.
In der Viewport-Symbolleiste können Sie mithilfe der Rasterfangmenüs eine andere Rastergröße (oder ein anderes Andockinkrement) für die Verschiebung, Drehung und Skalierung auswählen. Standardmäßig beträgt die Rastergröße für sich bewegende Objekte 10 Einheiten oder 10 cm.
Große Andockinkremente eignen sich hervorragend zum Anordnen von Räumen und Wänden, und kleine Rastergrößen sind nützlich, um die Platzierung von Objekten fein abzustimmen. Ändern Sie beispielsweise den Drehungsrasterfangwinkel auf 45° oder 90°, um Objekte im rechten Winkel auszurichten.
Weitere Informationen zu allen Andockoptionen finden Sie im Abschnitt Andockwerkzeuge und Andockeinstellungen in der Viewport-Symbolleiste.
Eine weitere Möglichkeit, die Ausrichtung Ihrer Objekte sicherzustellen, ist die Verwendung einer 2D-Drahtgitteransicht. Klicken Sie am rechten Rand der Viewport-Werkzeugleiste auf Perspektive, um die Kameraoptionen zu öffnen, und wählen Sie Oben aus.
Diese orthografischen Ansichten sind standardmäßig auf den Ansichtsmodus Drahtgitter eingestellt, der die Kanten und die Polygonstruktur der Geometrie Ihres Levels anzeigt. In diesem Modus können Sie auch das Raster sehen. Wechseln Sie beim Blockout Ihres Level regelmäßig zu einer Draufsicht oder Seitenansicht, um die Ausrichtung Ihrer Meshs zu prüfen. Wenn Sie fertig sind, wechseln Sie zurück in den Modus Perspektive.
Einige Objekte, wie große Lichter, Himmels-Meshs oder Trigger-Volumen, können beim Auswählen von Objekten in einem 2D-Drahtgitter-Viewport im Weg sein. Verwenden Sie das Menü Anzeige-Flags in der Viewport-Werkzeugleiste, um diese Objekte auszublenden. Oder nutzen Sie den Outliner, um einzelne Objekte auszublenden.
Festlegen des Startpunkts
Nachdem Sie nun den Anfang eines Levels haben, positionieren Sie die PlayerStart-Position neu an die Stelle, an der der Spieler starten soll, und stellen Sie sicher, dass er in die richtige Richtung blickt!
Um die Startposition und die Richtung des Spielers zu ändern, führen Sie die folgenden Schritte aus:
Klicken Sie auf das Objekt PlayerStart. Verwenden Sie das Verschieben-Gizmo, um es dorthin zu bewegen, wo der Spieler in Ihrem ersten Raum spawnen soll.
Drücken Sie Q auf Ihrer Tastatur, um in den Modus Auswählen zu wechseln und das Gizmo zu entfernen. Der blaue Pfeil auf dem Objekt PlayerStart zeigt die Richtung an, in die der Spieler schaut, wenn das Spiel startet.
Wechseln Sie über die Transformieren-Symbolleiste zum Gizmo Drehung und drehen Sie es, um zu steuern, wohin der Spieler beim Start blickt.
Hinzufügen einer Tür
Im weiteren Verlauf dieses Tutorials lernen Sie, wie Sie einen Blueprint für einen Schlüssel erstellen, der auf verschiedene Farben festgelegt werden kann, wobei jede Farbe eine passende Tür entriegelt. Um Ihr Level für diese Funktionalität einzurichten, fügen Sie einige Türen hinzu.
Um einen BP_DoorFrame-Blueprint hinzuzufügen und seine Größe zu ändern, führen Sie die folgenden Schritte aus:
Lassen Sie in Ihrem Blockout Platz für drei verschiedene Türen.
Gehen Sie im Inhaltsbrowser zu Inhalt > LevelPrototyping > Interactable > Door.
Ziehen Sie
BP_DoorFramein Ihr Level. Dieses Objekt ist kein einfaches statisches Mesh wie derSM_Cube, sondern ein Blueprint, also ein visuelles Asset mit darin einprogrammierten zusätzlichen Funktionen oder Verhaltensweisen. Im Viewport sehen Sie, dass er von einem Trigger-Volumen umgeben ist und über ein Türgröße-Widget verfügt. Im nächsten Modul dieses Tutorials erfahren Sie mehr über Blueprints.Klicken Sie auf das Türgröße-Widget. Dadurch wird das Verschieben-Gizmo aktiviert. Sie können es jedoch verwenden, um die Größe der Tür zu ändern, genau wie Sie das Skalierungs-Gizmo verwenden würden.
Klicken Sie auf das Mesh der Tür und verwenden Sie das Verschieben-Gizmo, um die Tür in eine der Lücken in Ihren Wänden zu verschieben. Möglicherweise müssen Sie die Breite der Wände oder der Tür anpassen, damit alles zusammenpasst.
Feineinstellungen in der Drahtgitteransicht von oben.Wiederholen Sie diese Schritte, um Ihrem Raum zwei weitere Türen hinzuzufügen.
Bauen eines Korridors
Fügen Sie als Nächstes etwas Durchgangsraum hinzu, indem Sie einen Flur schaffen, der Ihren ersten Raum mit einem zweiten verbindet.
Es gibt mehrere Möglichkeiten, wie ein Flur gestaltet werden kann. Erstens, was wäre, wenn wir ihn gerade machen?
Das ist nicht sehr aufregend, könnte aber effektiv sein, wenn wir möchten, dass der Spieler beim Durchqueren dieses Flurs durch Fernangriffe unter Druck gesetzt wird oder wenn wir möchten, dass er vorhersieht, was er am Ende des Flurs sieht. Hier ist ein Beispiel für einen geraden Flur, der durch Hindernisse, unter denen der Spieler hindurchkriechen oder über die er klettern muss, interessanter wird:
Wie wäre es mit einem Flur mit einer Biegung?
Nun gibt es eine gewisse Okklusion und eine Enthüllung, wenn der Spieler um die Ecke biegt. Von Okklusion spricht man, wenn die Sichtlinie des Spielers teilweise oder vollständig blockiert ist. Sie können Okklusion verwenden, um die Aufmerksamkeit des Spielers innerhalb eines Levels zu lenken. Beispielsweise indem die Aufmerksamkeit auf aufnehmbare Gegenstände und Level-Fortschritte gelenkt wird oder indem die Sichtbarkeit eines Feindes verdeckt wird, um einen Schockmoment zu ermöglichen.
Was, wenn wir Fenster im Flur und im nächsten Raum hinzufügen?
Dadurch wird das Durchqueren des Flurs etwas interessanter. Indem Sie dem Spieler einen Blick auf sein Ziel gewähren, steigern Sie seine Vorfreude und zeigen ihm, welche Belohnung er erhält, wenn er Zeit auf diesem Weg investiert.
Was wäre, wenn wir etwas Vertikalität hinzufügen? Dies bedeutet, dass Sie Ihrem Level Höhenunterschiede hinzufügen, beispielsweise Treppen, Hügel, Plattformen und kletterbare Bereiche.
Vertikale Elemente können Folgendes für Ihr Gameplay tun:
Abwechslung in Ihre Räume bringen und das Durchqueren und Erkunden interessanter machen.
Gibt den Spielern einen taktischen Vorteil (wenn sie weit oben sind) oder Nachteil (wenn sie weit unten sind).
Zeigen Sie dem Spieler, wohin er als Nächstes geht (z. B. mit Blick auf eine Aussicht).
Kontrollieren Sie den Spielerzugriff (z. B. indem Sie in einen Raum fallen und nicht mehr zurückkehren können oder indem Sie nur dann in einen Raum hinaufklettern können, wenn Sie ein Seil gefunden haben).
Um Ihrem Blockout Treppen hinzuzufügen, ziehen Sie eine SM_Ramp (unter Inhalt > LevelPrototyping > Meshes) in Ihr Level und ändern Sie die Größe. Kontrollieren Sie die Skalierung regelmäßig während der Arbeit.
Dieser Korridor ist gekrümmt, um eine Okklusion zu erzielen, ohne zu kastenförmig zu sein, und breiter, um Platz für zwei verschiedene Pfade zu schaffen, die jeweils die Möglichkeit zum Schleichen und zur Nutzung von Deckung bieten. Durch das Hinzufügen von Auswahlmöglichkeiten wie dieser bekommt der Spieler das Gefühl, dass er über eine gewisse Handlungsfreiheit verfügt.
Testen Sie früh und oft
Vergewissern Sie sich, dass Sie auf Ihrem Niveau spielen, und prüfen Sie, wie sich Ihre Messwerte und Ihre Skalierung anfühlen, bevor Sie mit dem Aufbau fortfahren.
Testen Sie die Sichtlinien des Spielers, um zu prüfen, ob Ihre Okklusion richtig festgelegt ist. Ein Bereich kann vom Viewport aus großartig aussehen, aber beim Spieltest könnte sich herausstellen, dass der Spieler etwas sehen kann, was er nicht sehen sollte, beispielsweise den Spawnpunkt des anderen Teams.
Wenn Ihr Level wächst und Sie eine Vorschau eines Abschnitts anzeigen möchten, ohne wieder am Spawnpunkt Ihres Spielers zu beginnen, klicken Sie mit der rechten Maustaste auf eine Stelle im Viewport und wählen Sie „Wiedergabe ab hier“.
Hinzufügen von blockierenden Volumen
Beim Spieltest Ihres Designs entdecken Sie möglicherweise Stellen, an denen der Spieler an der Geometrie vorbeispringen und den Spielbereich verlassen oder überspringen kann. Blockierende Volumen sind Level-Objekte, die als unsichtbare Wand fungieren, um unbeabsichtigte Bereiche abzusperren und den Spieler im Level zu halten.
Verwenden Sie blockierende Sperrvolumen jedoch niemals an Stellen, an denen der Spieler sich frei bewegen möchte, wie etwa in offenen Türen oder Fluren.
Um Ihrem Level ein blockierende Volumen hinzuzufügen, führen Sie die folgenden Schritte aus:
Klicke in der Haupt-Symbolleiste auf die Schaltfläche Erstellen. In diesem Menü können Sie neue Actors erstellen.
Scrolle im Erstellen-Menü zu Volumen, suche nach
Blockierenund wähle Blockierendes Volumen aus.Der Editor fügt ein
BlockingVolumein der Mitte Ihres Haupt-Viewports hinzu.
Wenn Sie mit der Arbeit an Ihren blockierenden Volumen fertig sind, können Sie sie ausblenden, um die Unordnung in Ihrem Level zu reduzieren.
In diesem Beispielflur verhindern blockierende Volumen, dass der Spieler aus dem Fenster springt oder auf das Dach springt, nachdem er die Säule hochgeklettert ist:
Durch blockierende Volumen können auch komplexe Kollisionsformen oder detaillierte Geometrie ausgeglichen werden, sodass der Spieler nicht an kleinen Kanten oder Löchern hängen bleibt oder ungünstig dagegen stößt.
Organisieren von Objekten im Outliner
Wenn Ihr Level wächst, wächst auch die Liste der Objekte im Outliner-Panel. Um den Outliner übersichtlicher und navigierbarer zu gestalten, organisieren Sie Ihre Objekte in Ordnern. Sie können Ordner erstellen, um Objekte nach Funktion oder Position zu gruppieren.
Um einen Geometrie-Ordner mit all Ihren Blockout-Meshs zu erstellen, führen Sie die folgenden Schritte aus:
Wählen Sie im Outliner-Panel Ihre gesamte Blockout-Geometrie aus. (Drücken Sie Strg oder Umschalten, um zu Ihrer Auswahl hinzuzufügen.)
Klicken Sie in der oberen rechten Ecke des Outliner auf die Schaltfläche Ordner erstellen.
Geben Sie einen Namen für Ihren Ordner ein (z. B.
Geometrie).
Wenn Ihr Level wächst, können Sie Ihr Projekt weiter organisieren, indem Sie Ordner mit Blockout-Geometrie für jede Region oder jeden Raum im Level erstellen.
Sie können diese Schritte für eine Untermenge an Meshs wiederholen, um diese in einem Unterordner Ihres Geometrie-Ordners zu sortieren.
Verwenden Sie die Sichtbarkeitsschalter im Outliner, um alle Objekte in einem Ordner auszublenden
Hinzufügen von Text-Labels
Um einen Raum, ein Hindernis oder ein zukünftiges Gameplay-Element zu beschriften, fügen Sie Ihrem Blockout einen Text-Render-Actor hinzu. Dieser Text kann als Platzhalter dienen oder Spieltestern Kontext dazu geben, was in diesem Raum geplant ist.
Um einen Text-Render-Actor zum Anzeigen eines Text-Strings in Ihrem Level zu verwenden, führen Sie die folgenden Schritte aus:
Klicke in der Haupt-Symbolleiste auf die Schaltfläche Erstellen.
Suche im Menü Erstellen nach
Text-Renderingund wähle Text-Render-Actor aus. Der Editor fügt TextRenderActor in der Mitte deines Haupt-Viewport hinzu.Wählen Sie den Actor aus und geben Sie in seinem Details-Panel mithilfe der Eigenschaft Text den Text ein, der im Level angezeigt werden soll.
Verwenden Sie Weltgröße, um den Text zu vergrößern oder zu verkleinern, und verwenden Sie Text-Render-Farbe, um die Textfarbe zu ändern.
Drehen und verschieben Sie den Text in die richtige Position. Text-Render-Actors sehen am besten aus, wenn sie an einer Wand, auf dem Boden oder einem Hindernis platziert werden.
Optional: Um einen Text-Render-Actor im Spiel unsichtbar zu machen, aktiviere im Details-Panel im Abschnitt Rendern die Option Im Spiel versteckter Actor.
Verbessern ihres Designs
Sie haben mit Ihrem ersten Raum und einigen Fluren begonnen. Bauen Sie jetzt weiter!
Um den Rest dieses Tutorials abzuschließen, empfehlen wir, die folgenden Elemente in Ihrem Blockout zu haben:
Bereiche, in denen der Spieler drei verschiedene Schlüssel sammeln und die zu jedem Schlüssel passende Tür aufschließen kann.
Einen Bereich zum Platzieren eines Fallenlabyrinths, das mit einem Bodenschalter deaktiviert werden kann.
Einen Bereich zum Durchqueren einer Reihe beweglicher Plattformen.
Einen Bereich, in dem NPC-Feinde bekämpft werden können.
Darüber hinaus sollten Sie Ihre Fantasie nutzen, experimentieren und wiederholen! Das ist das Schöne am Grayboxing.
Beim Bauen sind noch einige weitere Designprinzipien zu berücksichtigen:
Hindernisse und Okklusion
Vergessen Sie nicht, einige funktionsfähige Hindernisse einzubauen. Zum Beispiel:
Ein Objekt, das einen offensichtlichen Weg blockiert und den Spieler zwingt, einen interessanten Umweg zu finden.
Säulen, die die Sichtlinie blockieren und Interesse wecken.
Objekte, die Deckung bieten.
Geometrie, die dem Spieler einen Teil seiner Bewegungsabläufe beibringt (z. B. Springen, Ducken, Kriechen).
Hier ist ein Beispiel eines blockierten Raums mit einigen Höhenänderungen und Okklusion:
Level-Fluss und Leitlinien
Denken Sie über den Rhythmus und das Tempo des Weges des Spielers durch Ihr Level nach. Wird er ganz natürlich zum nächsten Bereich geleitet? Gibt es Momente der Spannung und der Ruhe? Hat der Spieler das Gefühl, eine Wahl zu haben?
Durch die Verwendung von Leitlinien und Kontrastpunkten wird der Spieler unbewusst zu interessanten Bereichen geführt. Die Welt fühlt sich intuitiv an, da der Spieler von den Elementen entlang oder zu ihnen hingezogen wird.
Zum Beispiel:
Kabel, Rohre, Zäune, Geländer und Wege führen den Blick des Spielers entlang dieser Kanten.
Lichtquellen oder kontrastreiche visuelle Objekte ziehen die Aufmerksamkeit des Spielers auf sich.
Der Anblick eines Wahrzeichens oder einer Tür, die den nächsten Bereich umrahmt, zieht den Spieler in diese Richtung.
Wenn der Spieler diesen Raum betritt, wird er an der Wand entlang zum Fenster geführt, das den Spieler zum Ausgang führt.
Denken Sie beim Entwerfen Ihrer Räume darüber nach, wie diese durchquert werden. In diesem Tutorial wird beispielsweise ein Raum im „Nabe-und-Speichen“-Stil erstellt, in dem der Spieler nach Erreichen bestimmter Ziele zum ersten Raum zurückkehren muss. Hier sollten die Gänge nicht zu lang sein, da der Spieler sie mehrmals durchlaufen muss.
Formsprache
Sie können verschiedene Formen verwenden, um dem Spieler Emotionen oder Funktionen zu vermitteln, sogar in der Blockout-Phase der Entwicklung.
Abgerundete Ecken und Kurven deuten auf Natürlichkeit und Sicherheit hin, daher eignen sich diese Formen gut für Ruhebereiche oder Heilstätten.
Quadratische oder würfelförmige Bereiche wirken menschengemacht, stabil und geordnet.
Dreieckige, gezackte oder spitze Gebiete fühlen sich gefährlich an. Ein solcher Raum könnte den Spieler lautlos warnen, dass sich Fallen oder Feinde in der Nähe befinden.
Ein hoher oder weitläufiger Raum kann Macht vermitteln, während klaustrophobische und vollgestopfte Räume Spannung und Unbehagen erzeugen.
In einem späteren Abschnitt dieses Tutorials wird beispielsweise eine Falle entworfen, die dem Spieler Schaden zufügt, wenn er hineinfällt. Spieler assoziieren Spitzen mit Gefahr, daher kommt in diesem Design diese Formensprache zum Einsatz, um dem Spieler zu sagen, dass er dieses Hindernis meiden soll:
Blockout-Beispiel
Hier ist der Raum, den der Rest dieses Tutorial verwendet. Sie können ihn anpassen oder etwas ganz Eigenes entwerfen
Alle Räume haben eine Nummer, sodass sich die Schritte in diesem Tutorial auf einen bestimmten Raum beziehen können.
Die Räume sind so gebaut, dass sie die zunehmende Komplexität demonstrieren:
Der Startraum ist der Ort, an dem der Spieler beginnt. Wir haben außerdem einen kleinen Spawn-Bereich hinzugefügt, der in den Startraum führt.
Raum 2 ist schlicht mit einem einfachen L-Bogen im Flur.
Raum 1 erhöht die Komplexität durch einen gebogenen Flur mit verschiedenen Wegen, Okklusionen und Höhenunterschieden.
Raum 3 geht über das Übliche hinaus und demonstriert das volle Potenzial dessen, was Sie mit den in der First-Person-Vorlage enthaltenen Grundformen erstellen können. Er fügt dem Boden und den Wänden eine Detaillierungsgrad hinzu, die den Kunststil des Spiels beeinflusst und den Künstlern hilft, sich vorzustellen, was in diesen Raum passt.
Der Blockout-Stil in Raum 1 und 2 ist normalerweise die Art von Detail, das Sie beim Level-Design anstreben.
Flur 3 und Raum 3 verwenden auch die Meshs von BP_DoorFrame, die sich unter Inhalt > LevelPrototyping > Interactable > Door > Assets > Meshesbefinden.
Testen des Beispiel-Levels
Falls Sie den Beispiel-Blockout verwenden möchten, den wir für das Tutorial erstellt haben, nutzen Sie einfach das folgende Snippet. Dies ist eine Textversion aller Blockout-Meshs, die zur Erstellung dieses Beispiels verwendet wurden. Wenn Sie diesen Text kopieren und in den Level-Editor einfügen, wandelt Unreal Engine ihn in Level-Objekte um.
Begin Map
Begin Level
Begin Actor Class=/Game/LevelPrototyping/Interactable/Door/BP_DoorFrame.BP_DoorFrame_C Name=BP_DoorFrame_C_4 Archetype="/Game/LevelPrototyping/Interactable/Door/BP_DoorFrame.BP_DoorFrame_C'/Game/LevelPrototyping/Interactable/Door/BP_DoorFrame.Default__BP_DoorFrame_C'" ExportPath="/Game/LevelPrototyping/Interactable/Door/BP_DoorFrame.BP_DoorFrame_C'/Temp/Untitled_1.Untitled_1:PersistentLevel.BP_DoorFrame_C_4'"
Begin Object Class=/Script/Engine.SceneComponent Name="DefaultSceneRoot" Archetype="/Script/Engine.SceneComponent'/Game/LevelPrototyping/Interactable/Door/BP_DoorFrame.BP_DoorFrame_C:DefaultSceneRoot_GEN_VARIABLE'" ExportPath="/Script/Engine.SceneComponent'/Temp/Untitled_1.Untitled_1:PersistentLevel.BP_DoorFrame_C_4.DefaultSceneRoot'"
End Object
Begin Object Class=/Script/Engine.BoxComponent Name="Box" Archetype="/Script/Engine.BoxComponent'/Game/LevelPrototyping/Interactable/Door/BP_DoorFrame.BP_DoorFrame_C:Box_GEN_VARIABLE'" ExportPath="/Script/Engine.BoxComponent'/Temp/Untitled_1.Untitled_1:PersistentLevel.BP_DoorFrame_C_4.Box'"
Begin Object Class=/Script/Engine.BodySetup Name="BodySetup_0" Archetype="/Script/Engine.BodySetup'/Game/LevelPrototyping/Interactable/Door/BP_DoorFrame.BP_DoorFrame_C:Box_GEN_VARIABLE.BodySetup_0'" ExportPath="/Script/Engine.BodySetup'/Temp/Untitled_1.Untitled_1:PersistentLevel.BP_DoorFrame_C_4.Box.BodySetup_0'"
End Object
End Object
Begin Object Class=/Script/Engine.TimelineComponent Name="Door Control" ExportPath="/Script/Engine.TimelineComponent'/Temp/Untitled_1.Untitled_1:PersistentLevel.BP_DoorFrame_C_4.Door Control'"
Begin Map
Begin Level
Begin Actor Class=/Script/Engine.ExponentialHeightFog Name=ExponentialHeightFog_0 Archetype="/Script/Engine.ExponentialHeightFog'/Script/Engine.Default__ExponentialHeightFog'" ExportPath="/Script/Engine.ExponentialHeightFog'/Temp/Untitled_1.Untitled_1:PersistentLevel.ExponentialHeightFog_0'"
Begin Object Class=/Script/Engine.BillboardComponent Name="Sprite" Archetype="/Script/Engine.BillboardComponent'/Script/Engine.Default__ExponentialHeightFog:Sprite'" ExportPath="/Script/Engine.BillboardComponent'/Temp/Untitled_1.Untitled_1:PersistentLevel.ExponentialHeightFog_0.Sprite'"
End Object
Begin Object Class=/Script/Engine.ExponentialHeightFogComponent Name="HeightFogComponent0" Archetype="/Script/Engine.ExponentialHeightFogComponent'/Script/Engine.Default__ExponentialHeightFog:HeightFogComponent0'" ExportPath="/Script/Engine.ExponentialHeightFogComponent'/Temp/Untitled_1.Untitled_1:PersistentLevel.ExponentialHeightFog_0.HeightFogComponent0'"
End Object
Begin Object Name="Sprite" ExportPath="/Script/Engine.BillboardComponent'/Temp/Untitled_1.Untitled_1:PersistentLevel.ExponentialHeightFog_0.Sprite'"
AttachParent="HeightFogComponent0"
End Object
Begin Map
Begin Level
Begin Actor Class=/Script/Engine.StaticMeshActor Name=Floor_90 Archetype="/Script/Engine.StaticMeshActor'/Script/Engine.Default__StaticMeshActor'" ExportPath="/Script/Engine.StaticMeshActor'/Temp/Untitled_1.Untitled_1:PersistentLevel.Floor_90'"
Begin Object Class=/Script/Engine.StaticMeshComponent Name="StaticMeshComponent0" Archetype="/Script/Engine.StaticMeshComponent'/Script/Engine.Default__StaticMeshActor:StaticMeshComponent0'" ExportPath="/Script/Engine.StaticMeshComponent'/Temp/Untitled_1.Untitled_1:PersistentLevel.Floor_90.StaticMeshComponent0'"
End Object
Begin Object Name="StaticMeshComponent0" ExportPath="/Script/Engine.StaticMeshComponent'/Temp/Untitled_1.Untitled_1:PersistentLevel.Floor_90.StaticMeshComponent0'"
StaticMesh="/Script/Engine.StaticMesh'/Engine/MapTemplates/SM_Template_Map_Floor.SM_Template_Map_Floor'"
bUseDefaultCollision=False
StaticMeshDerivedDataKey="STATICMESH_34081786561B425A9523C94540EA599D_359a029847e84730ba516769d0f19427Simplygon_5_5_2156_18f808c3cf724e5a994f57de5c83cc4b_680318F3495BDBDEBE4C11B39CD497CE000000000100000001000000000000000000803F0000803F00000000000000000000344203030300000000"
MaterialStreamingRelativeBoxes(0)=4294901760
Begin Map
Begin Level
Begin Actor Class=/Script/Engine.StaticMeshActor Name=StaticMeshActor_911 Archetype="/Script/Engine.StaticMeshActor'/Script/Engine.Default__StaticMeshActor'" ExportPath="/Script/Engine.StaticMeshActor'/Game/AdventureGame/deleteme.deleteme:PersistentLevel.StaticMeshActor_911'"
Begin Object Class=/Script/Engine.StaticMeshComponent Name="StaticMeshComponent0" Archetype="/Script/Engine.StaticMeshComponent'/Script/Engine.Default__StaticMeshActor:StaticMeshComponent0'" ExportPath="/Script/Engine.StaticMeshComponent'/Game/AdventureGame/deleteme.deleteme:PersistentLevel.StaticMeshActor_911.StaticMeshComponent0'"
End Object
Begin Object Name="StaticMeshComponent0" ExportPath="/Script/Engine.StaticMeshComponent'/Game/AdventureGame/deleteme.deleteme:PersistentLevel.StaticMeshActor_911.StaticMeshComponent0'"
StaticMesh="/Script/Engine.StaticMesh'/Game/LevelPrototyping/Meshes/SM_Cylinder.SM_Cylinder'"
StaticMeshImportVersion=1
StaticMeshDerivedDataKey="STATICMESH_FD1BFC73B5510AD60DFC65F62C1E933E_228332BAE0224DD294E232B87D83948FQuadricMeshReduction_V2$2e1_6D3AF6A2$2d5FD0$2d469B$2dB0D8$2dB6D9979EE5D2_CONSTRAINED0_100100000000000000000000000100000000000080FFFFFFFFFFFFFFFFFFFFFFFF000000000000803F00000000000000803F0000803F00000000000000003D19FC1626C9B2485E57DB4B8EC731318B8215AE8D46FAD400000000010000000100000000000000010000000100000000000000000000000100000001000000400000000000000001000000000000000000F03F000000000000F03F000000000000F03F0000803F00000000050000004E6F6E65000C00000030000000803FFFFFFFFF0000803FFFFFFFFF0000000000000041000000000000A0420303030000000000000000_RT00_0"
RelativeLocation=(X=-2790.000000,Y=-1610.000000,Z=-0.499892)
Um dieses Blockout-Beispiel in ein leeres Level zu kopieren, führen Sie die folgenden Schritte aus:
Löschen Sie in einem neuen Level vom Typ Grundlegend die Meshs Floor und PlayerStart, sodass Sie ein Level haben, das nur Beleuchtungs-Level-Objekte enthält.
Klicken Sie auf Vollständiges Snippet kopieren.
Vergewissern Sie sich, dass im Unreal Editor der Viewport oder Outliner das aktive Panel ist (klicken Sie irgendwo im Viewport oder Outliner und drücken Sie Esc) und drücken Sie dann Strg + V.
Wiederhole diesen Vorgang für alle Räume und Flure.
Im Outliner sehen Sie alle Meshs in Ordnern organisiert, die nach jedem Raum und Flur benannt sind.
Das Beispiel-Level verwendet Namenskonventionen für viele Objekte im Outliner. Level-Prototyping-Meshs werden je nach Verwendung umbenannt:
Wände werden
SM_WallgenanntSäulen werden
SM_ColumnundSM_QuarterColumngenannt
Wenn Sie diese Benennungskonventionen verwenden und Ihre Objekte umbenennen möchten, wählen Sie eine Gruppe von Meshs im Outliner aus, klicken mit der rechten Maustaste auf Ihre Auswahl und gehen zu Bearbeiten > Ausgewählte Actors umbenennen. Weitere Informationen über die Arbeit mit dem Outliner finden Sie in der Outliner-Dokumentation.
Als Nächstes
Sobald Sie das Blockout Ihres Level fertiggestellt haben, ist es an der Zeit, Gameplay-Elemente hinzuzufügen. Im nächsten Abschnitt erhalten Sie eine Einführung in Blueprint-Visual-Scripting in Unreal Engine und erfahren, wie Sie Gameplay-Logik in ein Blueprint-Levelobjekt einbauen.
Das nächste Dokument in dieser Tutorialreihe befasst sich mit der Verwendung der visuellen Script-Sprache Blueprints von Unreal Engine. Wenn Sie mit Blueprints noch nicht vertraut sind und eine Einführung in die Verwendung von Blueprints zum Programmieren von Spiellogik wünschen, lesen Sie die Dokumentation Blueprint-Grundlagen.
Wenn Sie mit Blueprints bereits vertraut sind, können Sie mit dem Tutorial Erstellen eines Schlüssels fortfahren: