Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

TileSets verwenden

Einführung

Eine Tilemap ist ein Raster aus Tiles, das zur Gestaltung eines Spiellayouts verwendet wird. Es gibt mehrere Vorteile bei der Verwendung von TileMap-Nodes, um Ihre Level zu gestalten. Erstens können Sie ein Layout zeichnen, indem Sie Tiles auf ein Raster "malen", was viel schneller ist, als einzelne Sprite2D-Nodes einzeln zu platzieren. Zweitens erlauben sie größere Levels, da sie für das Zeichnen einer großen Anzahl von Tiles optimiert sind. Und schließlich können Sie Ihren Tiles mit Kollisions-, Okklusions- und Navigations-Shapes eine größere Funktionalität verleihen.

Um Tilemaps zu verwenden, müssen Sie zunächst ein TileSet erstellen. Ein TileSet ist eine Sammlung von Tiles, die in einem TileMap Node platziert werden können. Nachdem Sie ein TileSet erstellt haben, können Sie sie mit dem TileMap-Editor platzieren.

Um dieser Anleitung zu befolgen, benötigen Sie ein Bild, das Ihre Tiles enthält und in dem jede Tile die gleiche Größe hat (große Objekte können in mehrere Tiles aufgeteilt werden). Dieses Bild wird Tilesheet genannt. Die Tiles müssen nicht quadratisch sein: Sie können rechteckig, sechseckig oder isometrisch (Pseudo-3D-Perspektive) sein.

Erstellen eines neuen TileSets

Verwendung eines Tilesheets

Diese Demonstration wird die folgenden Tiles aus Kenneys Abstract Platformer-Paket verwenden. Wir werden dieses spezielle Tilesheet aus dem Set verwenden:

Beispiel für ein Tilesheet mit 64×64 Tiles

Tilesheet mit 64×64 Tiles. Quelle: Kenney

Erstellen Sie einen neuen Node TileMap, wählen Sie ihn aus und erstellen Sie eine neue TileSet-Ressource im Inspektor:

Erstellen einer neuen TileSet-Ressource innerhalb des TileMap-Nodes

Erstellen einer neuen TileSet-Ressource innerhalb des TileMap-Nodes

Nachdem Sie die TileSet-Ressource erstellt haben, klicken Sie auf den Wert, um ihn im Inspektor auszuklappen. Die Standardform der Kachel ist Quadratisch, aber Sie können auch Isometrisch, Halbversetztes Quadrat oder Sechseck wählen (abhängig von der Form Ihrer Tile-Bilder). Wenn Sie eine andere Tile-Form als Square verwenden, müssen Sie möglicherweise auch die Propertys Tile-Layout und Tile-Versatzachse anpassen. Schließlich kann es nützlich sein, die Property Rendern > UV-Clipping zu aktivieren, wenn Sie möchten, dass Tiles durch ihre Tile-Koordinaten geclippt werden. Dadurch wird sichergestellt, dass Tiles nicht außerhalb ihres zugewiesenen Bereichs auf dem Tilesheet gezeichnet werden können.

Stellen Sie die Größe der Tiles im Inspektor auf 64×64 ein, um dem Beispiel-Tilesheet zu entsprechen:

Einstellung der Tile-Größe auf 64×64, um dem Beispiel-Tilesheet zu entsprechen

Einstellung der Tile-Größe auf 64×64, um dem Beispiel-Tilesheet zu entsprechen

Wenn Sie sich auf die automatische Erstellung von Tiles verlassen (wie wir es hier tun werden), müssen Sie die Größe der Tiles vor der Erstellung des Atlas festlegen. Der Atlas bestimmt, welche Tiles aus dem Tilesheet zu einem TileMap-Node hinzugefügt werden können (da nicht jeder Teil des Bildes ein gültiges Tile sein kann).

Öffnen Sie das TileSet-Panel unten im Editor und klicken Sie dann auf das "+"-Icon in der linken unteren Ecke, um einen neuen Atlas hinzuzufügen:

Erstellen eines neuen Atlasses in einer TileSet-Ressource unter Verwendung des unteren Bedienfelds

Erstellen eines neuen Atlasses in einer TileSet-Ressource unter Verwendung des unteren Bedienfelds

Nachdem Sie einen Atlas erstellt haben, müssen Sie ihm eine Tilesheet-Textur zuweisen. Wählen Sie dazu den Atlas in der linken Spalte des unteren Panels aus, klicken Sie dann auf den Wert der Textur-Property und wählen Sie Schnell laden (oder Laden). Geben Sie den Pfad zu der Bilddatei im angezeigten Dateidialog an.

Laden eines Tilesheet-Bildes in den neu erstellten TileSet-Atlas

Laden eines Tilesheet-Bildes in den neu erstellten TileSet-Atlas

Nachdem Sie ein gültiges Bild angegeben haben, werden Sie gefragt, ob die Tiles automatisch erstellt werden sollen. Antworten Sie mit Ja:

Automatisches Erstellen von Tiles auf der Grundlage von Tilesheet-Bildmaterial

Automatisches Erstellen von Tiles auf der Grundlage von Tilesheet-Bildmaterial

Dadurch werden automatisch Tiles entsprechend der Tile-Größe erstellt, die Sie zuvor in der TileSet-Ressource angegeben haben. Dies beschleunigt die anfängliche Einrichtung der Tiles erheblich.

Bemerkung

Bei der automatischen Erzeugung von Tiles auf der Basis von Bildinhalten werden für Teile des Tilesheets, die voll transparent sind, keine Tiles erzeugt.

Wenn es Tiles aus dem Tilesheet gibt, die Sie nicht im Atlas haben möchten, wählen Sie das Radiergummi-Tool am oberen Rand der Tileset-Vorschau und klicken Sie dann auf die Tiles, die Sie entfernen möchten:

Verwenden des Radiergummi-Tools zum Entfernen unerwünschter Tiles aus dem TileSet-Atlas

Verwenden des Radiergummi-Tools zum Entfernen unerwünschter Tiles aus dem TileSet-Atlas

Sie können auch mit der rechten Maustaste auf eine Tile klicken und Löschen wählen, als Alternative zum Radiergummi-Tool.

Tipp

Wie in den 2D- und TileMap-Editoren können Sie mit der mittleren oder rechten Maustaste über das TileSet-Panel schwenken und mit dem Mausrad oder den Buttons in der oberen linken Ecke zoomen.

Wenn Sie Kacheln aus mehreren Tilesheet-Bildern für ein einzelnes TileSet verwenden möchten, erstellen Sie zusätzliche Atlasse und weisen Sie jedem von ihnen Texturen zu, bevor Sie fortfahren. Es ist auch möglich, auf diese Weise ein Bild pro Tile zu verwenden (obwohl die Verwendung von Tilesheets für eine bessere Benutzerfreundlichkeit empfohlen wird).

In der mittleren Spalte können Sie die Propertys des Atlasses anpassen:

Anpassung der TileSet-Atlas-Propertys im spezifischen Inspektor (Teil des TileSet-Panels)

Anpassung der TileSet-Atlas-Propertys im spezifischen Inspektor (Teil des TileSet-Panels)

Die folgenden Propertys können im Atlas angepasst werden:

  • ID: Der Bezeichner (eindeutig in diesem TileSet), der für die Sortierung verwendet wird.

  • Name: Der menschenlesbare Name für den Atlas. Verwenden Sie hier einen beschreibenden Namen für organisatorische Zwecke (z. B. "Terrain", "Dekoration" usw.).

  • Ränder: Die Ränder an den Kanten des Bildes, die nicht als Tiles ausgewählt werden sollen (in Pixeln). Eine Erhöhung dieses Wertes kann nützlich sein, wenn Sie ein Kachelbild herunterladen, das an den Rändern Ränder hat (z. B. für die Autor-Informationen).

  • Abstand: Der Abstand zwischen den einzelnen Tiles auf dem Atlas in Pixeln. Eine Erhöhung dieses Wertes kann nützlich sein, wenn das von Ihnen verwendete Tilesheet-Bild Hilfslinien enthält (z. B. Umrisse zwischen den einzelnen Tiles).

  • Textur-Regionsgröße: Die Größe der einzelnen Tiles im Atlas in Pixeln. In den meisten Fällen sollte dies mit der in der Property TileMap definierten Tile-Größe übereinstimmen (obwohl dies nicht unbedingt erforderlich ist).

  • Textur-Padding verwenden: Wenn diese Option aktiviert ist, wird um jede Tile ein transparenter Rand von 1 Pixel hinzugefügt, um Textur-Bleeding zu verhindern, wenn Filtering aktiviert ist. Es wird empfohlen, dies aktiviert zu lassen, es sei denn, Sie laufen in Rendering-Probleme aufgrund von Textur-Padding.

Beachten Sie, dass eine Änderung des Texturrandes, des Abstandes und der Regionsgröße dazu führen kann, dass Tiles verloren gehen (da sich einige von ihnen außerhalb der Koordinaten des Atlasbildes befinden würden). Um Tiles automatisch aus dem Tilesheet zu regenerieren, verwenden Sie den Button mit den drei vertikalen Punkten oben im TileSet-Editor und wählen Sie Tiles in nicht-transparenten Textur-Regionen erstellen:

Automatische Neuerstellung von Tiles nach Änderung von Atlas-Propertys

Automatische Neuerstellung von Tiles nach Änderung von Atlas-Propertys

Verwendung einer Sammlung von Szenen

Seit Godot 4.0 können Sie tatsächliche Szenen als Tiles platzieren. So können Sie jede Sammlung von Nodes als Tile verwenden. Sie können zum Beispiel Szenen-Tiles verwenden, um Gameplay-Elemente zu platzieren, wie z. B. Geschäfte, mit denen der Spieler interagieren kann. Sie können Szenen-Tiles auch verwenden, um AudioStreamPlayer2Ds (für Umgebungsgeräusche), Partikeleffekte und mehr zu platzieren.

Warnung

Szenen-Tiles sind im Vergleich zu Atlassen mit einem größeren Performance-Overhead verbunden, da jede Szene einzeln für jedes platzierte Tile instanziiert wird.

Es wird empfohlen, nur Szenen-Tiles zu verwenden, wenn es nötig ist. Um Sprites in einer Tile ohne irgendeine Art von fortgeschrittener Manipulation zu zeichnen, verwenden Sie stattdessen Atlasse.

Für dieses Beispiel erstellen wir eine Szene, die einen CPUParticles2D Root-Node enthält. Speichern Sie diese Szene in einer Szenendatei (getrennt von der Szene mit der TileMap) und wechseln Sie dann zu der Szene, die den TileMap-Node enthält. Öffnen Sie den TileSet-Editor und erstellen Sie eine neue Szenensammlung in der linken Spalte:

Erstellen einer Szenensammlung im TileSet-Editor

Erstellen einer Szenensammlung im TileSet-Editor

Nachdem Sie eine Szenensammlung erstellt haben, können Sie in der mittleren Spalte einen beschreibenden Namen für die Szenensammlung eingeben, wenn Sie möchten. Wählen Sie diese Szenensammlung aus und erstellen Sie einen neuen Szenen-Slot:

Erstellen einer Tile nach Auswahl der Szenensammlung im TileSet-Editor

Erstellen einer Tile nach Auswahl der Szenensammlung im TileSet-Editor

Wählen Sie diesen Szenenslot in der rechten Spalte aus, und verwenden Sie Schnellladen (oder Laden), um die Szenendatei mit den Partikeln zu laden:

Erstellen eines Szenenslots und anschließendes Laden einer Szenendatei in diesen Slot im TileSet-Editor

Erstellen eines Szenenslots und anschließendes Laden einer Szenendatei in diesen Slot im TileSet-Editor

Sie haben jetzt eine Tile in Ihrem TileSet. Sobald Sie zum TileMap-Editor wechseln, können Sie sie aus der Szenensammlung auswählen und wie jede andere Tile malen.

Zusammenführung mehrerer Atlasse zu einem einzigen Atlas

Die Verwendung mehrerer Atlasse innerhalb einer einzigen TileSet-Ressource kann manchmal nützlich sein, aber in bestimmten Situationen auch umständlich (insbesondere wenn Sie ein Bild pro Tile verwenden). Godot ermöglicht es Ihnen, mehrere Atlasse zu einem einzigen Atlas zusammenzufassen, um die Organisation zu erleichtern.

Dazu müssen Sie mehr als einen Atlas in der TileSet-Ressource erstellt haben. Verwenden Sie den "drei vertikale Punkte"-Menü-Button unten in der Liste der Atlasse und wählen Sie dann Tool zum Zusammenführen von Atlassen öffnen:

Öffnen des Tools zum Zusammenführen von Atlassen nach dem Erstellen mehrerer Atlasse

Öffnen des Tools zum Zusammenführen von Atlassen nach dem Erstellen mehrerer Atlasse

Dies öffnet einen Dialog, in dem Sie mehrere Atlasse auswählen können, indem Sie Umschalt oder Strg gedrückt halten und dann auf mehrere Elemente klicken:

Verwendung des Dialogfelds des Tools zur Zusammenführung von Atlassen

Verwendung des Dialogfelds des Tools zur Zusammenführung von Atlassen

Wählen Sie Zusammenführen, um die ausgewählten Atlasse zu einem einzigen Atlasbild zusammenzuführen (was einem einzigen Atlas innerhalb des TileSet entspricht). Die nicht zusammengeführten Atlasse werden aus dem TileSet entfernt, aber die ursprünglichen Tilesheet-Bilder bleiben im Dateisystem erhalten. Wenn Sie nicht möchten, dass die nicht zusammengeführten Atlasse aus der TileSet-Ressource entfernt werden, wählen Sie stattdessen Zusammenführen (Original-Atlasse behalten).

Tipp

TileSet verfügt über ein System von Tile Proxies. Tile-Proxies sind eine Zuordnungstabelle, die es ermöglicht, der TileMap, die ein bestimmtes TileSet verwendet, mitzuteilen, dass ein bestimmter Satz von Tile-Identifikatoren durch einen anderen ersetzt werden soll.

Tile Proxys werden beim Zusammenführen verschiedener Atlasse automatisch eingerichtet, können aber auch manuell über den Dialog Tile Proxys verwalten eingestellt werden, den Sie über das oben erwähnte Menü mit den drei vertikalen Punkten aufrufen können.

Die manuelle Erstellung von Tile-Proxys kann nützlich sein, wenn Sie eine Atlas-ID geändert haben oder alle Tiles aus einem Atlas durch die eines anderen Atlas ersetzen möchten. Beachten Sie, dass Sie bei der Bearbeitung einer TileMap alle Zellen durch ihren entsprechenden zugeordneten Wert ersetzen können.

Hinzufügen von Kollision, Navigation und Occlusion zum TileSet

Wir haben nun erfolgreich ein grundlegendes TileSet erstellt. Wir könnten nun den TileMap-Node verwenden, aber dieser verfügt derzeit über keine Form der Kollisionserkennung. Das bedeutet, dass der Spieler und andere Objekte direkt durch den Boden oder die Wände laufen könnten.

Wenn Sie 2D-Navigation verwenden, müssen Sie auch Navigationspolygone für Tiles definieren, um ein Navigations-Mesh zu erzeugen, das Agenten für die Wegfindung verwenden können.

Schließlich, wenn Sie 2D Beleuchtung und Schatten oder GPUParticles2D verwenden, möchten Sie vielleicht auch, dass Ihr TileSet Schatten wirft und mit Partikeln kollidiert. Dazu müssen Occluder-Polygone für "solide" Tiles auf dem TileSet definiert werden.

Um Kollisions-, Navigations- und Occlusion-Shapes für jede Tile definieren zu können, müssen Sie zunächst eine Physik-, Navigations- oder Occlusion-Schicht für die TileSet-Ressource erstellen. Wählen Sie dazu den Node TileMap aus, klicken Sie im Inspektor auf den Property-Wert TileSet, um ihn zu bearbeiten, klappen Sie dann Physik-Ebenen auf und wählen Sie Element hinzufügen:

Erstellen einer Physik-Ebene im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Erstellen einer Physik-Ebene im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Wenn Sie auch Navigationsunterstützung benötigen, ist jetzt ein guter Zeitpunkt, um eine Navigationsebene zu erstellen:

Erstellen einer Navigationsebene im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Erstellen einer Navigationsebene im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Wenn Sie Unterstützung für Licht-Polygon-Occluder benötigen, ist jetzt ein guter Zeitpunkt, um eine Okklusionsebene zu erstellen:

Erstellen einer Occlusion-Ebene im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Erstellen einer Occlusion-Ebene im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Bemerkung

Die weiteren Schritte in diesem Tutorial sind auf die Erstellung von Kollisionspolygonen zugeschnitten, aber das Verfahren für Navigation und Occlusion ist sehr ähnlich. Die jeweiligen Polygon-Editoren verhalten sich auf die gleiche Weise, daher werden diese Schritte der Kürze halber nicht wiederholt.

Die einzige Einschränkung ist, dass die Property des Oclusion-Polygons der Tile Teil eines Unterabschnitts Rendering im Atlasinspektor ist. Stellen Sie sicher, dass Sie diesen Abschnitt ausklappen, damit Sie das Polygon bearbeiten können.

Nachdem Sie eine Physikebene erstellt haben, haben Sie Zugriff auf den Abschnitt Physikebene im TileSet-Atlasinspektor:

Öffnen des Kollisionseditors aus dem Auswahlmodus heraus

Öffnen des Kollisionseditors aus dem Auswahlmodus heraus

Sie können schnell eine rechteckige Kollisions-Shape erstellen, indem Sie F drücken, während der TileSet-Editor fokussiert ist. Wenn das Tastenkürzel nicht funktioniert, versuchen Sie, in den leeren Bereich um den Polygon-Editor zu klicken, um ihn zu fokussieren:

Verwendung der Standard-Rechteck-Kollisionsform durch Drücken von :kbd:`F`

Verwendung der Standard-Rechteck-Kollisionsform durch Drücken von F

In diesem Tile-Kollisions-Editor haben Sie Zugriff auf alle 2D-Polygon-Bearbeitungstools:

  • Mit der Toolbar oberhalb des Polygons können Sie zwischen der Erstellung eines neuen Polygons, der Bearbeitung eines vorhandenen Polygons und dem Entfernen von Punkten auf dem Polygon umschalten. Der Button mit den "drei vertikalen Punkten" bietet zusätzliche Optionen, wie das Drehen und Spiegeln des Polygons.

  • Erstellen Sie neue Punkte, indem Sie auf eine Linie zwischen zwei Punkten klicken und diese ziehen.

  • Entfernen Sie einen Punkt, indem Sie ihn mit der rechten Maustaste anklicken (oder das oben beschriebene Tool "Entfernen" verwenden und mit der linken Maustaste klicken).

  • Schwenken Sie im Editor mit der mittleren Maustaste oder der rechten Maustaste. (Das Schwenken mit der rechten Maustaste kann nur in Bereichen verwendet werden, in denen sich kein Punkt in der Nähe befindet).

Sie können die Default-Rechteck-Shape verwenden, um schnell eine dreieckige Kollisions-Shape zu erstellen, indem Sie einen der Punkte entfernen:

Erstellen einer dreieckigen Kollisions-Shape durch Rechtsklick auf eine der Ecken, um sie zu entfernen

Erstellen einer dreieckigen Kollisions-Shape durch Rechtsklick auf eine der Ecken, um sie zu entfernen

Sie können das Rechteck auch als Basis für komplexere Formen verwenden, indem Sie weitere Punkte hinzufügen:

Zeichnen einer benutzerdefinierten Kollision für eine komplexe Tile-Shape

Zeichnen einer benutzerdefinierten Kollision für eine komplexe Tile-Shape

Tipp

Wenn Sie ein großes Tileset haben, kann die Angabe der Kollision für jede einzelne Tile viel Zeit in Anspruch nehmen. Dies gilt insbesondere, da TileMaps dazu neigen, viele Tiles mit gemeinsamen Kollisionsmustern zu haben (z. B. massive Blöcke oder 45-Grad-Schrägen). Um eine ähnliche Kollisions-Shape schnell auf mehrere Tiles anzuwenden, verwenden Sie die Funktion Propertys mehreren Tiles auf einmal zuweisen.

Zuweisung von benutzerdefinierten Metadaten zu den Tiles des TileSet

Sie können benutzerdefinierte Daten pro Tile zuweisen, indem Sie benutzerdefinierte Datenebenen verwenden. Dies kann nützlich sein, um spielspezifische Informationen zu speichern, z. B. den Schaden, den eine Tile verursachen soll, wenn der Spieler sie berührt, oder ob eine Tile mit einer Waffe zerstört werden kann.

Die Daten sind mit der Tile im TileSet verbunden: alle Instanzen der platzierten Tile verwenden dieselben benutzerdefinierten Daten. Wenn Sie eine Variante einer Tile mit anderen benutzerdefinierten Daten erstellen müssen, können Sie dies tun, indem Sie eine alternative Tile erstellen und die benutzerdefinierten Daten nur für die alternative Tile ändern.

Erstellen einer benutzerdefinierten Datenebene im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Erstellen einer benutzerdefinierten Datenebene im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Beispiel für konfigurierte benutzerdefinierte Datenebenen mit spielspezifischen Propertys

Beispiel für konfigurierte benutzerdefinierte Datenebenen mit spielspezifischen Propertys

Sie können benutzerdefinierte Daten neu anordnen, ohne bestehende Metadaten zu zerstören: Der TileSet-Editor wird automatisch aktualisiert, nachdem benutzerdefinierte Daten-Propertys neu angeordnet wurden.

Beachten Sie, dass im Editor die Namen der Propertys nicht erscheinen (nur ihr Index, in der Reihenfolge, in der sie definiert sind). In dem oben gezeigten Beispiel für benutzerdefinierte Datenebenen weisen wir einer Tile die Metadaten damage_per_second auf 25 und destructible auf false zu:

Bearbeiten von benutzerdefinierten Daten im TileSet-Editor aus dem Auswahlmodus heraus

Bearbeiten von benutzerdefinierten Daten im TileSet-Editor aus dem Auswahlmodus heraus

Malen von Tile-Propertys kann auch für eigene Daten verwendet werden:

Zuweisen von benutzerdefinierten Daten im TileSet-Editor mithilfe von Tile-Property-Malen

Zuweisen von benutzerdefinierten Daten im TileSet-Editor mithilfe von Tile-Property-Malen

Erstellen von Geländesätzen (Autotiling)

Bemerkung

Diese Funktionalität wurde in Godot 3.x in einer anderen Form als Autotiling implementiert. Terrains sind im Wesentlichen ein leistungsfähigerer Ersatz für Autotiles. Im Gegensatz zu Autotiles können Terrains Übergänge von einem Terrain zu einem anderen unterstützen, da eine Tile mehrere Terrains auf einmal definieren kann.

Im Gegensatz zu früher, wo Autotiles eine spezielle Art von Tiles waren, sind Terrains nur eine Reihe von Propertys, die Atlas-Tiles zugeordnet sind. Diese Propertys werden dann von einem speziellen TileMap-Malmodus verwendet, der Tiles mit Terrain-Daten auf intelligente Weise auswählt. Das bedeutet, dass jede Terrain-Tile entweder als Terrain oder als einzelne Tile gemalt werden kann, wie jede andere auch.

Ein "poliertes" Tileset enthält im Allgemeinen Variationen, die Sie an Ecken oder Kanten von Plattformen, Böden usw. verwenden sollten. Diese können zwar manuell platziert werden, aber das wird schnell mühsam. Die Handhabung dieser Situation mit prozedural generierten Levels kann ebenfalls schwierig sein und eine Menge Code erfordern.

Godot bietet Terrains, um diese Art von Tile-Verbindungen automatisch durchzuführen. So können Sie automatisch die "richtigen" Tile-Varianten verwenden.

Terrains werden in Terrainsets gruppiert. Jedem Terrainset ist ein Modus aus Ecken und Seiten anpassen, Ecken anpassen und Seiten anpassen zugeordnet. Sie legen fest, wie Terrains in einem Terrainset aneinander angepasst werden.

Bemerkung

Die oben genannten Modi entsprechen den früheren Bitmasken-Modi, die in Godot 3.x verwendet wurden: 2×2, 3×3 oder 3×3 minimal. Dies entspricht auch den Funktionen des Tiled-Editors.

Wählen Sie den TileMap-Node, gehen Sie zum Inspektor und erstellen Sie ein neues Terrain-Set innerhalb der TileSet-Ressource:

Erstellen eines Terrainsets im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Erstellen eines Terrainsets im TileSet-Ressourceninspektor (innerhalb des TileMap-Nodes)

Nach der Erstellung eines Terrainsets müssen Sie ein oder mehrere Terrains innerhalb des Terrainsets erstellen:

Erstellen eines Terrains innerhalb des Terrainsets

Erstellen eines Terrains innerhalb des Terrainsets

Wechseln Sie im TileSet-Editor in den Auswahlmodus und klicken Sie auf eine Tile. Klappen Sie in der mittleren Spalte den Abschnitt Terrains aus und weisen Sie der Tile eine Terrain Set-ID und eine Terrain-ID zu. -1 bedeutet "kein Geländeset" oder "kein Gelände", was bedeutet, dass Sie Geländeset auf 0 oder höher setzen müssen, bevor Sie Gelände auf 0 oder höher setzen können.

Bemerkung

Terrain Set IDs und Terrain IDs sind unabhängig voneinander. Sie beginnen auch bei 0, nicht bei 1.

Konfigurieren des Terrains auf einer einzelnen Tile im Auswahlmodus des TileSet-Editors

Konfigurieren des Terrains auf einer einzelnen Tile im Auswahlmodus des TileSet-Editors

Danach können Sie nun den Abschnitt Terrain-Peering-Bits konfigurieren, der in der mittleren Spalte sichtbar wird. Die Peering Bits bestimmen, welche Tiles in Abhängigkeit von benachbarten Tiles platziert werden. -1 ist ein besonderer Wert, der sich auf leeren Raum bezieht.

Wenn zum Beispiel alle Bits einer Tile auf 0 oder höher gesetzt sind, erscheint sie nur, wenn alle 8 benachbarten Tiles eine Tile mit der gleichen Terrain ID benutzen. Wenn eine Tile ihre Bits auf 0 oder größer gesetzt hat, aber die Bits oben links, oben und oben rechts auf -1 gesetzt sind, wird sie nur erscheinen, wenn es einen leeren Platz über ihr gibt (auch diagonal).

Konfigurieren von Terrain-Peering-Bits auf einer einzelnen Tile im Select-Modus des TileSet-Editors

Konfigurieren von Terrain-Peering-Bits auf einer einzelnen Tile im Select-Modus des TileSet-Editors

Eine Beispielkonfiguration für ein komplettes Tilesheet könnte wie folgt aussehen:

Beispiel für ein vollständiges Tilesheet für ein Sidescroller-Spiel

Beispiel für ein vollständiges Tilesheet für ein Sidescroller-Spiel

Beispiel für ein vollständiges Tilesheet für ein Sidescroller-Spiel mit sichtbaren Terrain-Peering-Bits

Beispiel für ein vollständiges Tilesheet für ein Sidescroller-Spiel mit sichtbaren Terrain-Peering-Bits

Zuweisung von Propertys zu mehreren Kacheln auf einmal

Es gibt zwei Möglichkeiten, mehreren Tiles gleichzeitig Propertys zuzuweisen. Je nach Anwendungsfall kann die eine Methode schneller sein als die andere:

Mehrfachauswahl von Tiles verwenden

Wenn Sie verschiedene Propertys für mehrere Tiles gleichzeitig konfigurieren möchten, wählen Sie den Modus Auswählen oben im TileSet-Editor:

Danach können Sie mehrere Tiles in der rechten Spalte auswählen, indem Sie Shift gedrückt halten und dann auf die Tiles klicken. Sie können auch ein Rechteck auswählen, indem Sie die linke Maustaste gedrückt halten und die Maus ziehen. Schließlich können Sie bereits ausgewählte Tiles wieder abwählen (ohne den Rest der Auswahl zu beeinflussen), indem Sie Umschalt gedrückt halten und dann auf ein ausgewähltes Tile klicken.

Sie können dann mit dem Inspektor in der mittleren Spalte des TileSet-Editors Propertys zuweisen. Nur Propertys, die Sie hier ändern, werden auf alle ausgewählten Tiles angewendet. Wie im Inspektor des Editors bleiben Propertys, die sich bei ausgewählten Tiles unterscheiden, unterschiedlich, bis Sie sie bearbeiten.

Bei numerischen und farblichen Eigenschaften sehen Sie nach der Bearbeitung einer Property auch eine Vorschau des Werts der Property auf allen Tiles im Atlas:

Auswählen mehrerer Tiles im Auswahlmodus und anschließendes Anwenden von Propertys

Auswählen mehrerer Tiles im Auswahlmodus und anschließendes Anwenden von Propertys

Verwenden von Tile-Property-Malen

Wenn Sie eine einzelne Property auf mehrere Tiles gleichzeitig anwenden möchten, können Sie dazu den Modus Property-Malen verwenden.

Konfigurieren Sie in der mittleren Spalte eine Property, die gezeichnet werden soll, und klicken Sie dann in der rechten Spalte auf Tiles (oder halten Sie die linke Maustaste gedrückt), um Propertys auf Tiles zu "malen".

Malen von Tile Propertys mit dem TileSet-Editor

Malen von Tile Propertys mit dem TileSet-Editor

Das Malen von Tile-Propertys ist besonders nützlich bei Propertys, deren manuelle Einstellung zeitaufwändig ist, wie z. B. bei Kollisions-Shapes:

Malen eines Kollisionspolygons und anschließendes Klicken mit der linken Maustaste auf Tiles, um es anzuwenden

Malen eines Kollisionspolygons und anschließendes Klicken mit der linken Maustaste auf Tiles, um es anzuwenden

Alternative Kacheln erstellen

Manchmal möchten Sie ein einziges Tile-Bild (das nur einmal im Atlas vorkommt) verwenden, das aber auf unterschiedliche Weise konfiguriert ist. Zum Beispiel können Sie das gleiche Tile-Bild verwenden, aber gedreht, gespiegelt oder mit einer anderen Farbe moduliert. Dies kann mit alternativen Tiles geschehen.

Tipp

Seit Godot 4.2 müssen Sie keine alternativen Tiles mehr erstellen, um Tiles zu drehen oder zu spiegeln. Sie können jede Tile drehen, während Sie sie im TileMap-Editor platzieren, indem Sie die Buttons zum Drehen/Spiegeln in der Toolbar des TileMap-Editors verwenden.

Um eine alternative Tile zu erstellen, klicken Sie mit der rechten Maustaste auf eine Basis-Tile im Atlas, der vom TileSet-Editor angezeigt wird, und wählen Sie dann Alternative Tile erstellen:

Erstellen einer alternativen Tile durch Rechtsklick auf eine Basis-Tile im TileSet-Editor

Erstellen einer alternativen Tile durch Rechtsklick auf eine Basis-Tile im TileSet-Editor

Wenn Sie sich im Auswahlmodus befinden, ist die alternative Tile bereits zur Bearbeitung ausgewählt. Wenn Sie sich nicht im Auswahlmodus befinden, können Sie immer noch alternative Tiles erstellen, aber Sie müssen in den Auswahlmodus wechseln und die alternative Tile auswählen, um sie zu bearbeiten.

Wenn Sie die alternative Tile nicht sehen, schwenken Sie auf die rechte Seite des Atlasbildes, da alternative Tiles im TileSet-Editor immer auf der rechten Seite der Basis-Tiles eines bestimmten Atlas erscheinen:

Konfigurieren einer alternativen Tile nach dem Anklicken im TileSet-Editor

Konfigurieren einer alternativen Tile nach dem Anklicken im TileSet-Editor

Nachdem Sie eine alternative Tile ausgewählt haben, können Sie in der mittleren Spalte wie bei einer Basis-Tile alle Propertys ändern. Die Liste der sichtbaren Propertys ist jedoch anders als bei der Basis-Tile:

  • Alternative ID: Der eindeutige numerische Bezeichner für diese alternative Tile. Wenn Sie sie ändern, werden bestehende TileMaps zerstört, seien Sie also vorsichtig! Diese ID steuert auch die Sortierung in der Liste der alternativen Tiles, die im Editor angezeigt wird.

  • Rendern > H spiegeln: Wenn true, wird die Tile horizontal gespiegelt.

  • Rendern > V spiegeln: Wenn true, wird die Tile horizontal gespiegelt.

  • Rendern > Transponieren: Wenn true, wird die Tile um 90 Grad gegen den Uhrzeigersinn gedreht und dann vertikal gespiegelt. In der Praxis bedeutet dies, dass Sie H spiegeln und Transponieren aktivieren sollten, um eine Tile um 90 Grad im Uhrzeigersinn zu drehen, ohne sie zu spiegeln. Um eine Tile um 180 Grad im Uhrzeigersinn zu drehen, aktivieren Sie H spiegeln und V spiegeln. Um eine Kachel um 270 Grad im Uhrzeigersinn zu drehen, aktivieren Sie V spiegeln und Transponieren.

  • Rendern > Textur-Ursprung: Der Ursprung, der für das Zeichnen der Tile verwendet wird. Dies kann verwendet werden, um die Tile im Vergleich zur Basis-Tile visuell zu versetzen.

  • Rendern > Modulieren: Der Farbmultiplikator, der beim Rendern der Tile verwendet wird.

  • Rendern > Material: Das für diese Tile zu verwendende Material. Dies kann verwendet werden, um einen anderen Blending-Modus oder benutzerdefinierte Shader auf eine einzelne Tile anzuwenden.

  • Z-Index: Die Sortierreihenfolge für diese Tile. Bei höheren Werten wird die Kachel vor anderen auf derselben Ebene gerendert.

  • Y-Sortierungsursprung: Der vertikale Offset, der für die Sortierung der Tiles basierend auf ihrer Y-Koordinate (in Pixel) verwendet wird. Dies ermöglicht die Verwendung von Ebenen, wie wenn sie auf verschiedenen Höhen bei Top-Down-Spiele wären. Die Anpassung dieses Wertes kann helfen, Probleme bei der Sortierung bestimmter Tiles zu beheben. Nur wirksam, wenn Y-Sortierung aktiviert auf dem TileMap Layer, auf dem das Tile platziert ist, auf true steht.

Sie können eine zusätzliche alternative Tile-Variante erstellen, indem Sie auf das große "+"-Symbol neben der alternativen Tile klicken. Dies ist gleichbedeutend mit der Auswahl der Basis-Tile und einem Rechtsklick darauf, um erneut Alternative Tile erstellen zu wählen.

Bemerkung

Bei der Erstellung einer alternativen Tile wird keine der Propertys der Basis-Tile übernommen. Sie müssen die Propertys auf der alternativen Tile erneut festlegen, wenn Sie möchten, dass diese auf der Basis-Tile und der alternativen Tile identisch sind.