Level Design Introduction (Portal 2)/Your First Level:de

From Valve Developer Community
Jump to: navigation, search
English Русский 简体中文

Eine brush ist eine einfache 3D-Form, die in Hammer mit dem Block-Tool erzeugt wird. Brushes werden verwendet, um die meisten großen Oberflächen in Deinem Level zu erzeugen, etwa die Decken und Böden. Wir werden jetzt einen einfachen Raum erzeugen, indem wir Brushes verwenden.

Eine Boden-Brush erzeugen

Eine Brush zeichnen.
  1. Wähle aus der Tool-Leiste links das Hammer block.png Block-Tool.
  2. Klicke in die obere 2D-Ansicht, halte die linke Maustaste gedrückt und ziehe die Maus nach rechts unten wie in diesem Beispielbild unten.
  3. Du solltest einen gepunkteten Umriss eines Rechteckes oder Quadrats sehen, während Du die Maus ziehst.
  4. Erzeuge ein Quadrat von 512x512 Einheiten (units) und lass die linke Maustaste los.
  5. Drücke Enter auf der Tastatur, um die Brush, die Du gerade gezeichnet hast, zu erzeugen.

Um in den Auswahl-Modus zurückzukehren, klicke auf das Hammer select.png Selection-Tool-Symbol in der Tool-Leiste oder drücke dieEsc-Taste.

Im Auswahl-Modus ist jetzt die Brush ausgewählt. Du kannst ihre Größe verändern, indem Du mit links auf eines der Kästchen klickst, die an den Rändern der Brush angezeigt werden, und diese nach außen oder innen ziehst.

Jetzt verändern wir die Dicke der Brush (die wir als Fußboden verwenden werden) von den standardmäßigen 64 units auf 16. Um das zu tun, müssen wir die Größe des Gitternetzes, oder auch Raster, ändern.

Das Raster (Englisch: Grid)

Das Raster wird in allen 2D-Ansichten angezeigt. Standardmäßig rasten alle Objekte auf den Gitternetzlinien ein. Das kann zwar ausgeschaltet werden, sollte aber so eingestellt bleiben, um Leaks (Lecks; undichte Stellen in Deiner Map) und anderen Fehlern vorzubeugen.

Die Standardgröße des Rasters ist 64 units. Das heißt, dass alle Gitternetzlinien 64 units von einander entfernt sind. Die aktuelle Rastergröße wird in der Statusleiste unten im Hammer-Fenster angezeigt.

  • Durch einen Klick auf das Smaller Grid-Symbol Hammer SmallerGrid.png wird das Raster halb so groß, um Objekte genauer anordnen zu können. Alternativ kannst Du die Größe des Rasters auch mit der [-Taste verringern.
  • Durch einen Klick auf das Larger Grid-Symbol Hammer LargerGrid.png wird die Größe des Rasters verdoppelt, um Objekte grob anordnen zu können. Du kannst das Raster auch mit der ]-Taste vergrößern.

Um das Raster auf 16 units zu verkleinern, drücke zweimal die [-Taste. Schau in der Status-Leiste unten auf die Anzeige rechts und geh sicher, dass dort Grid: 16 steht. Wenn nicht, drücke [ oder ], bis das Raster auf 16 units eingestellt ist.

Die Größe des Bodens verändern

Die Höhe einer Brush in der Seitenansicht verringern.

Jetzt sollte das Raster klein genug sein.

Gehe in die 2D-Ansicht rechts unten. Dies ist die Seitenansicht. Ziehe den oberen Rand der Brush nach unten, bis sie 16 units dick ist.

Eine Brush verschieben

Klicke & ziehe eine Brush in einer der 2D-Ansichten, um sie zu verschieben.

Wenn Du eine Brush erzeugt hast, kannst Du sie verschieben. Wähle das Selection-Tool Hammer select.png und klicke in einer der 2D-Ansichten auf die Brush, ohne auf einen der Eckpunkte zu gehen. Der Cursor zeigt jetzt vier Pfeile für jede Richtung an FourArrows.png und weist damit auf die Möglichkeit hin, das Objekt zu verschieben.

Klicke und ziehe die Brush um sie in einer der 2D-Ansichten zu verschieben. Wenn Du die Maustaste loslässt, wird die Brush zu dieser Position verschoben.
Die Hammer-Optionen verändern.

Du kannst Objekte auch mit den Pfeiltasten verschieben. Damit das geht, musst Du eine Einstellung in den Hammer-Optionen verändern:

  1. Gehe im oberen Menü auf Tools und dann auf Options, um die Configure Hammer-Dialogbox zu öffnen.
  2. Klicke auf den 2D Views-Reiter.
  3. Es gibt hier noch weitere Einstellungen, aber fürs Erste müssen wir nur ein Häkchen in das Kästchen vor Arrow keys nudge selected object/vertex machen.
  4. Klicke OK um die Änderung zu übernehmen und schließe dieses Optionsmenü.

Jetzt kannst Du die Boden-Brush um 16 units nach unten verscheiben, in dem Du den Mauscursor in die 2D-Seitenansicht bewegst und dann einmal Down_arrow drückst.

Eine Brush in der Seitenansicht nach unten verschieben.

In den 2D-Ansichten navigieren

  • Mit den Scrollleisten kannst Du die Ansicht schwenken.
  • Schneller geht es, wenn Du die Space-Taste gedrückt hältst und die Maus klickst und ziehst, um die Ansicht zu bewegen.
  • Mit dem Mausrad kannst Du näher heran und weiter weg zoomen.

Texturen

Um in der 3D-Kamera-Ansicht Texturen sehen zu können, klicke mit der rechten Maustaste auf den camera-Text in der 3D-Ansicht und wähle 3D Textured.

Den 3D-Textured-Modus in der Kamera-Ansicht auswählen.

In der 3D-Kamera-Ansicht navigieren

Die 3D-Ansicht bewegt man etwas anders als die 2D-Ansichten:

  • Halte Space gedrückt und linksklicke und ziehe, um die Ansicht zu rotieren.
  • Halte Space gedrückt und rechtsklicke und ziehe, um die Ansicht hoch/runter und nach links/rechts zu bewegen.
  • Halte Space und beide Maustasten gedrückt und ziehe, um die Ansicht vorwärts und zurück zu bewegen.
  • Du kannst auch die Tasten W, A, S, und D benutzen, um die Ansicht vorwärts und rückwärts zu bewegen und nach links zu strafen und nach rechts zu strafen.
  • Die Z-Taste schaltet den "mouse look"-Modus an und aus. Bewege den Mauscursor über die 3D-KameraAnsicht und drücke Z. Jetzt kannst Du die Maus bewegen und Dich „umsehen“ wie in einem Spiel, indem „mouse look“ aktiviert ist.
Note:Die Tasten W, A, S und D können in Kombination der Space-Navigation benutzt werden.

Bewege die Ansicht in der 3D-Kamera und schaue von oben auf den Boden, den Du gerade erzeugt hast.

Der Browse-Knopf in der Texture-Box.

Du wirst sehen, dass auf Deinem Boden eine Standard-Texture liegt. Diese wirst Du sicher verändern wollen. Um die aktuelle Textur zu verändern, klicke in der Textur-Box auf Browse.

Damit öffnest Du das Texture Browser-Fenster.
Die allgemeine graue Entwickler-Textur.

Mithilfe des Filter-Felds unten im Browse-Window kannst Du die Texturen nach Namen filtern. Tippe für dieses Tutorial "dev_measure" (mit dem Unterstrich) in das Feld. Damit zeigst Du eine Reihe von "Entwickler" Texturen an, die es leichter machen, etwas schnell zu erstellen.

Suche nach der Textur dev/dev_measuregeneric01b und doppelklicke darauf.

Die aktuelle Textur für die ausgewählte Brush übernehmen.

Jetzt siehst Du wieder die vier Ansichten des Editors und in der Textur-Box ist die allgemeine Entwickler-Textur als die aktuelle Textur angegeben.

Wenn die Boden-Brush nicht schon ausgewählt ist, klicke sie jetzt in der Kamera-Ansicht an. Sie sollte jetzt rot angezeigt werden.

Wenn die Brush ausgewählt ist, klicke auf das Hammer ApplyCurrentTexture.png Apply current texture-Symbol links in der Tool-Leiste, um die aktuelle Textur auf die aktuelle Auswahl aufzutragen. Die graue Entwickler-Textur sollte jetzt wie im Beispiel rechts auf dem Boden angezeigt werden.

Die Wände und die Decke

Jetzt kannst Du die Wände und die Decke des Raums erzeugen. Der einfachste Weg ist es, die Boden-Brush zu kopieren.

Kopieren

Du kannst auch eine existierende Brush auswählen und sie kopieren, um eine neue Brush zu erzeugen.

Note:Um einfach zu kopieren, musst Du die Arrow keys nudge selected object/vertex-Option aktivieren, wenn Du das noch nicht gemacht hast. Du findest sie unter Tools > Options > 2D Tab.
Eine Brush kopieren, um einen Raum zu erzeugen.

Zum Kopieren

  1. wähle die Boden-Brush aus, die Du erzeugt hast
  2. bewege den Cursor über die 2D-Ansicht
  3. Halte Shift gedrückt und drücke Up_arrow, um eine Kopie zu erzeugen und diese um eine Linie im Raster nach oben zu verschieben.

Damit erzeugst Du die gleiche Brush wie der Boden direkt über der schon existierenden Boden-Brush.

Jetzt kannst Du die Größe und Dimensionen dieser neuen Brush ändern, um eine Wand daraus zu machen. Klicke auf einen der weißen Punkte am Rand der Brush und ziehe ihn auf die Größe, die Du haben willst. Für dieses Tutorial machen wir die Wand 128 units hoch und 16 units breit.

Tip:Um die neue Brush zu verscheiben, kannst Du entweder die Pfeiltasten benutzen, oder sie anklicken und an eine andere Stelle ziehen.
Erzeuge auf diese Weise noch drei weitere Wände, um den Boden zu umschließen.
Den Boden kopieren, um die Decke zu erzeugen.

Kopiere die Boden-Brush noch ein weiteres Mal und verschiebe sie nach oben, um die Decke zu erzeugen.

Tip:Dein Level „sauber“ zu halten ist sehr wichtig, wenn Du es später im Spiel startest. Es ist besser, wenn die Brushes sich nicht überlagern, also ineinander ragen. Das könnte nämlich so genanntes "z-fighting" auslösen. Dabei „kämpfen“ die Oberflächen darum, welche über der anderen angezeigt werden soll und werden „flackernd“ angezeigt.

Eine Brush entfernen

Um eine Brush zu entfernen, wähle sie mit dem Selection Tool Hammer select.png aus und drücke Delete.

Mehrere Objekte auswählen

Die orangefarbene Entwickler-Textur auf Wände auftragen.

In der Kamera-Ansicht wirst Du merken, dass es schwierig ist, die Wände, den Boden und die Decke auseinanderzuhalten, weil sie alle dieselbe textur haben. Als nächstes ändern wir die Textur der Wände.

Du kannst alle Wände auswählen, indem Du Ctrl gedrückt hältst und sie einzeln in der Kamera-Ansicht anklickst. Du wirst die SPACE-Kamera-Steuerung benutzen müssen, um die Kamera zu drehen, damit Du alle Wände anwählen kannst.

Wenn Du alle Wände ausgewählt hast, gehe in der Texture-Box auf Browse. Dieses Mal wählst Du die orangefarbene Textur neben der aktuellen aus, sie heißt dev/dev_measuregeneric01. Doppelklicke auf sie, um sie auszuwählen und das Browse-Fenster zu schließen.

Benutze wieder das Hammer ApplyCurrentTexture.png-Tool in der Tool-Leiste, um die orangefarbene Textur für die Wände zu übernehmen.

Die Datei speichern

Um ein Level zu speichern, kannst Du den Shortcut Ctrl+S benutzen oder im File-Menü auf Save klicken.

Gibt der Map einen Dateinamen und wähle den Ordner aus, in dem sie gespeichert werden soll.

Für dieses Tutorial nennen wir die Datei "tutorial01" und speichern sie in den mapsrc-Ordner, der standardmäßig hier ist:

C:\Program Files\Steam\steamapps\common\portal 2\sdk_content\maps\

Deine Ordnerstruktur könnte etwas anders aussehen, je nachdem, wo Du Steam installiert hast.

Wenn Du Deine Map benennst, nimm keinen zu langen Namen. Maps mit besonders langen Dateinamen werden vom Spiel nicht geladen.

Vorhandene Muster-Maps

wenn Du Deine Map speicherst, fällt Dir vielleicht auf, dass es schon Maps im mapsrc-Ordner gibt. Das sind Beispiel-Maps der Portal 2 Authoring Tools, die Dir helfen könnten.

Map Inhalt
maps\mp_coop_doors Coop-Map
maps\mp_coop_paint_red_racer Coop-Map mit Propulsion-Gel
maps\sp_a2_column_blocker Singleplayer-Map mit Brücken
maps\sp_a2_trust_fling Singleplayer-Map mit Aerial Faith Plates
maps\sp_a3_speed_ramp Singleplayer-Map mit Propulsion-Gel
maps\sp_a4_laser_catapult Singleplayer-Map mit Traktorstrahlen, Lasern und einer Aerial Faith Plate
maps\zoo_mechanics Beinhaltet die meisten Gameplay-Elemente, die in Portal 2 benutzt werden

Entities platzieren

Eine Entity auswählen
Einen info_player_start platzieren

Als nächstes platzieren wir eine Entity (auf Deutsch etwa: „Informationsobjekt“) in unserem Level:

  1. Wähle das Hammer entity.png Entity-Tool auf der Tool-Leiste.
  2. Wenn das Entity-Tool aktiviert ist, wird auch die the Entity-Auswahlliste rechts in den Object-Boxen aktiv.
  3. Lass die Categories auf Entities gestellt.
  4. Öffne die Objects-Dropdown-Liste und wähle info_player_start aus.
  5. Gehe jetzt in der Kamera-Ansicht in die Mitte Deines Raumes.
  6. Klicke mit links auf den Boden, um die Entity zu platzieren.
Damit platzierst Du eine info_player_start-Entity in der Mitte des Raumes.

Eine Lichtquelle platzieren

Jetzt werden wir eine Lichtquelle in der Map platzieren:

  1. Wähle wieder das Entity-Tool
  2. Wähle light aus der Objects-Dropdown-Liste.
  3. Platziere die Lichtquelle an der Decke (über dem Kopf des Spielers).
  4. Gehe wieder in den Auswahl-Modus, indem Du das Hammer select.png Selection-Tool in der Tool-Leiste auswählst oder Esc drückst.
Die Objekt-Eigenschaften für eine Lichtquelle.

Als nächstes verändern wir einige Einstellungen für diese Lchtquelle. Öffne die Eigenschaften der Lichtquelle, indem Du sie in der Kamera-Ansicht doppelt anklickst oder indem Du es auswählst und dann Alt+ Enter drückst. Das wird die Object Properties Dialogbox öffnen.

In den Object Properties kannst Du viele Eigenschaften der Entity verändern. Du könntest zum Beispiel die Helligkeit des Lichts ändern. Klicke auf die Brightness-Zeile unter Keyvalues und Du wirst auf der rechten Seite einige Nummern angezeigt bekommen. Die Standardeinstellung für die Helligkeit einer Lichtquelle ist 255 255 255 200. Die ersten drei Nummern stehen für die RGB-Werte (Farben) und die letzte Nummer steht für die Intensität des Lichts.

Du kannst auf Pick Color klicken, um direkt eine Farbe auszuwählen, statt Nummern-Werte dafür einzugeben.
Eine Farbe für eine Lichtquelle auswählen.

Klicke einfach auf die Farbe, die das Licht haben soll, und dann auf OK. Damit kommst Du wieder zurück zur Object Properties-Dialogbox für die Lichtquelle. Du siehst jetzt die Veränderung in der Brightness-Zeile und bei den Nummern im Feld rechts, wenn die Brightness-Zeile ausgewählt ist.

Klicke auf Übernehmen, um die Veränderung zu übernehmen und schließe dann die Dialogbox, indem Du auf das "X" in der oberen rechte Ecke des Fensters klickst.

Eine prop_static platzieren

Die Objekt-Eigenschaften für eine prop_static-Entity.

Entities können auch so genannte props (auf Deutsch: „Requisiten“) wie Möbel, Dekorationen und komplexe Teile der Architektur sein. Es gibt viele verschiedene props. Prop_static-Entities sind props, die statisch sind – sie bewegen sich nicht, sind nicht animiert, sie werden nicht an- und nicht ausgeschaltet. Es gibt auch prop_dynamic-Entities, die sich bewegen können, animiert sind oder an- und ausgeschaltet werden können. Es gibt auch prop_physics-Entities mit denen der Spieler interagieren kann und die sich nach physikalischen Gesetzen bewegen wie in der echten Welt.

Um eine prop zu platzieren:

  1. Wähle wieder das Entity-Tool
  2. Gehe in die Object-Box und ändere das Objects-Feld auf prop_static.
  3. Zeige auf den Boden vor dem info_player_start und linksklicke, um eine prop_static zu platzieren. Du wirst jetzt einen roten Würfel sehen, der für die prop_static steht, solange noch kein Model dafür festgelegt ist
  4. Gehe wieder in den Auswahl-Modus, indem Du auf das Hammer select.png Selection-Tool in der Tool-Leiste klickst oder Esc drückst.
  5. Doppelklicke auf den roten Würfel, um die Eigenschaften zu öffnen.
  6. Doppelklicke auf World Model, um den Model-Browser zu öffnen.
Warning:Wenn der Model-Browser zum ersten Mal starten, kann es etwas dauern, bis alle Models geladen sind. Das Fenster sieht möglicherweise nicht sofort so aus wie in dem Beispielbild. Wenn Du das Model, nach dem Du suchst, nicht finden kannst, warte noch eine Minute, bis das Laden abgeschlossen ist.

Das Model auswählen

Das Paintdropper-Model im Model-Browser auswählen.
  1. Gehe in das Filter-Feld unten in der Dialogbox und tippe "paint" ein. Damit lässt Du alle Models anzeigen, die das Wort "paint" im Namen haben.
  2. Scroll runter bis zu dem Model mit dem Namen:
    "props_underground\underground_paintdropper.mdl".
    Es sollte so aussehen wie in dem Beispielbild.
  3. Klicke OK, um es auszuwählen, den Browser zu schließen und zur Object Properties-Dialogbox zurückzukehren. Jetzt solltest Du den Namen des Models in der World Model-Zeile sehen.
  4. Klicke Übernehmen um die Änderung zu speichern.
  5. Schließe die Properties-Box.
Du wirst den Paintdropper, den Du grade im Raum platziert hast, jetzt in den verschiedenen Ansichtsfenstern des Editors sehen können.

Entities verschieben

Du kannst Entities wie unseren Paintdropper genauso verschieben wie eine Brush. Klicke und ziehe innerhalb des Rahmens der ausgewählten Entity und bewege sie so mit der Maus, oder bringe den Cursor in eine der 2D-Ansichten und benutze die Pfeiltasten, um sie zu bewegen.

Entities drehen

Um ein Objekt zu drehen, klicke einfach mit dem Selection-Tool Hammer select.png darauf und danach noch einmal. Das Objekt sollte jetzt in den 2D-Ansichten mit kleinen Kreisen an den Ecken dargestellt werden. Klicke und ziehe diese Kreise, um das Objekt zu drehen.

Benutze das Mausrad, um in der Front-Ansicht ranzuzoomen und klicke einmal in den Rahmen des Paintdropper-Models, um die vier Ecken zu Kreisen zu machen.

Klicke und ziehe jetzt entgegen dem Uhrzeigersinn, um den Paintdropper so zu drehen, dass er Gel von der Decke tropfen lassen kann.

Dein Level im Spiel starten

Ändere die Run Map-Parameter auf diese Einstellungen und klicke OK.

Du hast Deine Map gespeichert, aber Du musst sie auch kompilieren, bevor sie in der Game-Engine gespielt werden kann.

Wenn eine Map kompiliert wird, wird sie aus der unverarbeiteten .vmf-Datei, die Du gerade gespeichert hast, in das .bsp-Format umgewandelt, das die Game-Engine verwendet. Die Geometrie wird verarbeitet und die richtigen Licht- und Schatteneffekte werden von verschiedenen Kompilierprogrammen berechnet.

  • Öffne das File-Menü und wähle Run Map... oder drücke F9.
  • Das wird den Run Map-Dialog öffnen.
  • This dialog is used to set some basic compile parameters.
    1. Stelle unter Run BSP, Run VIS und Run RAD jeweils Normal ein.
    2. Gib unter Additional game parameters: diese Einstellungen ein:
      -toconsole -dev -console +sv_lan 1
    3. Markiere "Wait for keypress", damit Du beim Kompilieren mögliche Fehlermeldungen sehen kannst.
    4. Klicke jetzt OK, um das Kompilieren zu starten.

Das Compile Process-Fenster wird den Fortschritt des Kompilierens zeigen. Am Ende wird automatisch Portal 2 starten und deine Map laden.

Note:Wenn Du mit High Dynamic Range-Lighting kompilieren willst, markiere einfach das Kästchen HDR. Die Kompilierzeit wird doppelt so lang, aber das ist normal.

Dein Level wird nach dem Kompilieren im Spiel geladen. Das könnte ein oder zwei Minuten dauern.

Wenn Dein Rechner gut genug ist, kannst Du aus dem Spiel tabben ALT+Tab und wenn Du das nächste Mal kompilierst, das Kästchen "Don't run the game after compiling" markieren. Sonst bekommst Du eine Fehlermeldung, dass das Spiel nur einmal zur Zeit geöffnet werden kann. Statt das Spiel immer wieder zu schließen und wieder zu starten (langsam!), kannst Du einfach mit F9 die Map kompilieren und dann zurück ins Spiel gehen und in der Konsole map myMapFileName eingeben, um sie neu zu laden.

Das Level im Spiel starten.

Die Entwickler-Konsole

Wenn Du Level für Portal 2 erstellst, könntest Du Befehle gebrauchen, die in die Developer Console eingegeben werden. Mit der Konsole kannst Du auch Cubes oder Turrets spawnen, um Dein Level zu testen.

Die Entwickler-Konsole aktivieren.

Wenn Du es noch nicht gemacht hast, aktiviere die Konsole in den Spiel-Einstellungen:

  1. Drücke im Spiel Esc
  2. Klicke auf Optionen, dann auf Tastatur/Maus.
  3. Klicke auf Entwicklerkonsole aktivieren und wähle "Aktiviert".
Jetzt kannst Du in der Tastaturbelegung eine Taste für die Entwicklerkonsole festlegen. Standardmäßig sollte dort die ~- oder ^-Taste eingestellt sein, aber es ist vielleicht sinnvoller, stattdessen eine Taste wie F1 zu verwenden.

Noclip-Modus

Ein Konsolenbefehl, der immer wieder nützlich ist, ist der Noclip-Modus. In diesem Modus kannst Du in Deinem Level herumfliegen, ohne durch irgendetwas im Level aufgehalten ("clipped") zu werden. Das ist hilfreich, um sich in großen Leveln schnell zu bewegen.

Um in den Noclip-Modus zu gehen:

  • Drücke die Taste, die Du für die Konsole angegeben hast.
  • Tippe noclip in die Konsole und drücke Enter.
  • Fliege durchs Level.
  • Tippe erneut noclip in die Konsole, um den Noclip-Modus zu verlassen und wieder normal durch das Level zu laufen.
  • Du kannst noclip an- und ausschalten, wenn Du dazu eine Taste festlegst. Dazu kannst Du den Konsolenbefehl bind benutzen. Mit bind mouse3 noclip legst Du zum Beispiel den mittleren Mausbutton dafür fest.

Einige nützliche Konsolenbefehle

Es gibt zahlreiche Befehle für die Konsole. Hier ist eine Auswahl:

sv_cheats 1
Aktiviert Cheats. Notwendige Voraussetzung für viele andere Konsolenbefehle.
map <name of map>
Lädt eine Map oder lädt die aktuelle Map erneut.
changelevel <name of map>
Lädt eine Map während die Game-Session fortgesetzt wird.
god 1
Schaltet den God-Mode für alle Spieler ein. Damit werden die Spieler unverwundbar.
noclip
Damit kannst Du im Level herumfliegen.

Level Design Einführung
Erste Schritte
Gotchas