Verwenden von GridMap¶
Einführung¶
GridMap ist ein Tool zum Erstellen von 3D-Spielebenen, ähnlich wie TileMap in 2D. Sie beginnen mit einer vordefinierten Sammlung von 3D-Meshes (MeshLibrary), die in einem Raster platziert werden können, als würden Sie eine Ebene mit einer unbegrenzten Anzahl von Legoblöcken erstellen.
Kollisionen und Navigation können ebenfalls zu den Meshes hinzugefügt werden, genau wie Sie es mit den Kacheln einer TileMap tun würden.
Beispielprojekt¶
Um zu erfahren, wie GridMaps funktioniert, laden Sie zunächst das Beispielprojekt herunter: gridmap_demo.zip
.
Entpacken Sie dieses Projekt und fügen Sie es über die Schaltfläche "Importieren" dem Projektmanager hinzu.
Erstellen einer MeshLibrary¶
Zu Beginn benötigen Sie MeshLibrary, eine Sammlung einzelner Meshes, die in der GridMap verwendet werden können. Öffnen Sie die Szene "MeshLibrary_Source.tscn", um ein Beispiel für das Einrichten der MeshLibrary zu sehen.

Wie Sie sehen können hat diese Szene einen Node Spatial als Wurzel und eine Reihe von :ref: class_MeshInstance` Unter-Nodes.
Wenn Sie in Ihrer Szene keine Physik benötigen sind Sie fertig. In den meisten Fällen möchten Sie den Meshes jedoch Kollisionskörper zuweisen.
Kollisionen¶
Sie können jedem Mesh manuell ein StaticBody und CollisionShape zuweisen. Alternativ können Sie das Menü "Mesh" verwenden, um den Kollisionskörper basierend auf den Mesh-Daten automatisch zu erstellen.

Beachten Sie, dass ein "konvexer" Kollisionskörper für einfache Netze besser funktioniert. Wählen Sie für komplexere Formen "Statischen Trimesh-Körper erstellen". Sobald jedem Mesh ein Physikkörper und eine Kollisionsform zugewiesen wurden, kann Ihre Mesh-Bibliothek verwendet werden.

Materialien¶
Beim Generieren der MeshLibrary werden nur die Materialien aus den Meshes verwendet, auf den Nodes festgelegte Materialien werden ignoriert.
Exportieren der MeshLibrary¶
Um die Bibliothek zu exportieren, klicken Sie auf Szene -> Konvertieren in .. -> MeshLibrary .. und speichern Sie sie als Ressource.

Eine bereits exportierte MeshLibrary finden Sie im Projekt "MeshLibrary.tres".
Verwenden von GridMap¶
Erstellen Sie eine neue Szene und fügen Sie einen GridMap-Node hinzu. Fügen Sie die Mesh-Bibliothek hinzu, indem Sie die Ressourcendatei aus dem Dateisystem-Dock ziehen und in der Eigenschaft "Thema" im Inspektor ablegen.

Die Eigenschaft "Zelle/Größe" sollte auf die Größe Ihrer Mesh festgelegt werden. Sie können den Standardwert für das Beispiel beibehalten. Setzen Sie die Eigenschaft "Center Y" auf "Off".
Jetzt können Sie mit dem Entwerfen der Ebene beginnen indem Sie eine Kachel aus der Palette auswählen und mit der linken Maustaste im Editorfenster platzieren. Um eine Kachel zu entfernen halten Sie Shift gedrückt und klicken Sie mit der rechten Maustaste.
Klicken Sie auf das Menü "GridMap" um Optionen und Verknüpfungen anzuzeigen. Durch Drücken von S wird beispielsweise eine Kachel um die Y-Achse gedreht.

Halten Sie Shift gedrückt und ziehen Sie mit der linken Maustaste um ein Auswahlfeld zu zeichnen. Sie können den ausgewählten Bereich über die entsprechenden Menüoptionen duplizieren oder löschen.

Im Menü können Sie auch die Achse ändern auf der Sie zeichnen und die Zeichnungsebene auf ihrer Achse nach oben oder unten verschieben.

Verwenden von GridMap im Code¶
Siehe GridMap für Details zu den Methoden und Mitgliedsvariablen des Nodes.