Einrichten des Spielbereichs

In diesem ersten Teil werden wir den Spielbereich einrichten. Beginnen wir mit dem Importieren der Start-Assets und dem Einrichten der Spielszene.

Wir haben ein Godot-Projekt mit 3D Modellen und Soundeffekten vorbereitet, welche wir für dieses Tutorial nutzen werden (verlinkt in der Indexseite). Falls du das noch nicht getan hast, kannst du das Archiv hier herunterladen: "Squash the Creeps Assets "https://github.com/GDQuest/godot-3d-dodge-the-creeps/releases/tag/1.0.0"".

Nachdem Sie es heruntergeladen haben, extrahieren Sie das .zip-Archiv auf Ihrem Computer. Öffnen Sie den Godot-Projektmanager und klicken Sie auf die Schaltfläche Import.

image1

Geben Sie im Popup-Fenster "Import" den vollständigen Pfad zu dem neu erstellten Verzeichnis squash_the_creeps_start/ ein. Sie können auf die Schaltfläche Durchsuchen auf der rechten Seite klicken, um einen Dateibrowser zu öffnen und zu der Datei project.godot zu navigieren, die der Ordner enthält.

image2

Klicken Sie auf Importieren & Bearbeiten, um das Projekt im Editor zu öffnen.

image3

Das Startprojekt enthält ein Icon und zwei Ordner: art/ und fonts/. Dort finden Sie die grafischen Elemente (Assets) und die Musik, die wir im Spiel verwenden werden.

image4

Es gibt zwei 3D-Modelle, player.glb und mob.glb, einige zu diesen Modellen gehörende Materialien, und einen Musiktitel.

Einrichten des spielbaren Bereichs

Wir werden unsere Hauptszene mit einem einfachen Node als Wurzel erstellen. Klicken Sie im Andockfenster Scene auf die Schaltfläche Add Node, die durch ein "+"-Symbol oben links dargestellt wird, und doppelklicken Sie auf Node. Nennen Sie das Node "Main". Alternativ können Sie auch Strg + a (oder Cmd + a auf macOS) drücken, um ein Node zur Szene hinzuzufügen.

image5

Speichern Sie die Szene als Main.tscn durch Drücken von Strg + s (Cmd + s auf macOS).

Wir beginnen mit dem Hinzufügen eines Bodens, der die Charaktere am Fallen hindert. Um statische Kollider wie den Boden, die Wände oder die Decken zu erstellen, können Sie das StaticBody -Node verwenden. Sie benötigen CollisionShape Unternodes, um den Kollisionsbereich zu definieren. Fügen Sie bei ausgewähltem Main-Node ein StaticBody-Node und dann ein CollisionShape-Node hinzu. Benennen Sie den StaticBody in Ground um.

|image6|

Neben CollisionShape erscheint ein Warnzeichen, da die Form nicht definiert wurde. Wenn Sie auf das Symbol klicken, erscheint ein Popup-Fenster, das Ihnen weitere Informationen gibt.

|image7|

Um eine Form zu erstellen, wählen Sie die CollisionShape aus, wechseln Sie zum Inspector und klicken Sie auf das [leere] Feld neben der Eigenschaft Shape. Erstellen Sie eine neue Box Shape.

|image8|

Die Kastenform ist perfekt für flache Böden und Wände. Dank seiner Dicke blockiert er auch zuverlässig sich schnell bewegende Objekte.

Das Drahtgitter einer Box wird im Ansichtsfenster mit drei orangefarbenen Punkten angezeigt. Sie können diese anklicken und ziehen, um die Ausmaße der Form interaktiv zu bearbeiten. Sie können auch die Größe im Inspektor genau festlegen. Klicken Sie auf die BoxShape, um die Ressource zu erweitern. Stellen Sie die Ausdehnung auf 30 für die X-Achse, 1 für die Y-Achse und 30 für die Z-Achse ein.

|image9|

Bemerkung

In 3D werden Translations und Größen Einheiten in Metern wiedergespiegelt. Die insgesamte Größe der Box ist das Doppelte seiner Maße: 60 zu 60 Meter auf der Grundebene und 2 Meter hoch. Die Grundebene liegt auf der X und Z Achse, während die Y Achse Höhe repräsentiert.

Kollisionsformen sind unsichtbar. Wir sollten deswegen auch noch einen dazugehörigen Visuellen Boden hinzufügen. Wählen Sie das Ground Node aus und fügen Sie eine MeshInstance als Unternode hinzu.

|image10|

Klicken Sie im Inspector auf das Feld neben Mesh und erstellen Sie eine CubeMesh Ressource, um einen sichtbaren Würfel zu erstellen.

|image11|

Auch hier ist sie standardmäßig zu klein. Klicken Sie auf das Würfelsymbol, um die Ressource zu erweitern und setzen Sie ihre Size auf 60, 2, und 60. Da die Würfelressource mit einer Größe und nicht mit Ausdehnungen arbeitet, müssen wir diese Werte verwenden, damit sie mit unserer Kollisionsform übereinstimmen.

|image12|

Sie sollten eine breite graue Platte sehen, die das Gitter und die blauen und roten Achsen im Ansichtsfenster abdeckt.

Wir werden den Boden nach unten verschieben, damit wir das Bodenraster sehen können. Wählen sie das Ground Node aus, halten Sie die Ctrl Taste gedrückt um das Einrasten des Rasters zu aktivieren (Cmd auf macOS), und klicken und ziehen Sie auf der Y-Achse nach unten. Das ist der grüne Pfeil im Bewegungs-Gizmo.

|image13|

Bemerkung

Wenn Sie den 3D-Objektmanipulator nicht wie auf dem obrigen Bild sehen können, stellen Sie sicher dass der Auswahlmodus in der Werkzeugleiste über der Ansicht aktiv ist.

|image14|

Bewegen Sie den Boden 1 Meter nach unten. Eine Beschriftung in der unteren linken Ecke ders Ansichtfensters zeigt an, um wie viel Sie das Node verschieben.

|image15|

Bemerkung

Wenn sie das Ground Node nach unten verschieben, werden beide Unternodes mitverschoben. Stellen sie sicher dass sie das Ground Node verschieben und nicht die MeshInstance oder die CollisionShape.

Fügen wir nun ein gerichtetes Licht hinzu, damit unsere Szene nicht komplett grau ist. Wählen Sie das Main Node aus und fügen sie ein DirectionalLight als Unternode hinzu. Wir sollten es verschieben und drehen. Verschieben Sie es nach oben indem sie auf den grünen Pfeil des Manipulators klicken und ziehen, und klicken und ziehen sie dann den roten Bogen, um das Licht um die X-Achse zu drehen, bis der Boden beleuchtet wird.

Schalten Sie im Inspektor Shadow -> Enabled ein, indem sie das Kontrollkästchen anklicken.

|image16|

Zu diesem Zeitpunkt sollte dein Projekt wie folgt aussehen.

|image17|

Das ist unser Ausgangspunkt. In dem nächsten Teil werden wir an unserer Spielerszene und simpler Bewegung arbeiten.