Up to date

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

Utilisation de GridMaps

Introduction

Gridmaps sont un outil pour créer des niveaux de jeu 3D, similaire à la manière dont TileMap fonctionne en 2D. Vous commencez avec une collection prédéfinie de maillages 3D (a MeshLibrary) qui peuvent être placés sur une grille, comme si vous construisiez un niveau avec un nombre illimité de blocs Lego.

Les collisions et la navigation peuvent également être ajoutées aux maillages, tout comme vous le feriez avec les tuiles d'une carte en mosaïque.

Exemple de projets

To learn how GridMaps work, start by downloading the sample project: gridmap_starter.zip.

Décompressez ce projet et ajoutez-le au gestionnaire de projet en utilisant le bouton "Importer".

Création d’une MeshLibrary

To begin, you need a MeshLibrary, which is a collection of individual meshes that can be used in the gridmap. Open the "mesh_library_source.tscn" scene to see an example of how to set up the mesh library.

../../_images/gridmap_meshlibrary1.png

As you can see, this scene has a Node3D node as its root, and a number of MeshInstance3D node children.

Si vous n'avez pas besoin de physique dans votre scène, alors c'est fini. Cependant, dans la plupart des cas, vous voudrez assigner des corps de collision aux mailles.

Collisions

You can manually assign a StaticBody3D and CollisionShape3D to each mesh. Alternatively, you can use the "Mesh" menu to automatically create the collision body based on the mesh data.

../../_images/gridmap_create_body.png

Notez qu'un corps de collision "convexe" fonctionnera mieux pour des mailles simples. Pour des formes plus complexes, sélectionnez "Create Trimesh Static Body". Une fois que chaque maille a un corps physique et une forme de collision assignés, votre bibliothèque de mailles est prête à être utilisée.

../../_images/gridmap_mesh_scene.png

Matériaux

Seuls les matériaux provenant des mailles sont utilisés lors de la génération de la bibliothèque de mailles. Les matériaux définis sur le nœud seront ignorés.

Exportation de la MeshLibrary

To export the library, click on Scene > Export As... > MeshLibrary..., and save it as a resource.

../../_images/gridmap_export.png

Vous pouvez trouver une MeshLibrary déjà exportée dans le projet nommé "MeshLibrary.tres".

Utilisation de GridMap

Créez une nouvelle scène et ajoutez un nœud GridMap. Ajoutez la MeshLibrary en faisant glisser le fichier ressource depuis le dock FileSystem et en le déposant dans la propriété "Theme" de l'Inspecteur.

../../_images/gridmap_main.png

La propriété "Cell/Size" doit être réglée sur la taille de vos mailles. Vous pouvez le laisser à la valeur par défaut de la démo. Réglez la propriété "Center Y" sur "Off".

Now you can start designing the level by choosing a tile from the palette and placing it with Left-Click in the editor window. Use Right-click to remove a tile.

Use the arrows next to the "GridMap" menu to change the floor that you are working on.

Cliquez sur le menu "GridMap" pour voir les options et les raccourcis. Par exemple, appuyer sur S fait tourner une tuile autour de l'axe y.

../../_images/gridmap_menu.png

Maintenez la touche Shift enfoncée et faites-la glisser avec le bouton gauche de la souris pour dessiner une cadre de sélection. Vous pouvez dupliquer ou effacer la zone sélectionnée à l'aide des rubriques de menu correspondantes.

../../_images/gridmap_select.png

Dans le menu, vous pouvez également modifier l'axe sur lequel vous dessinez, ainsi que le changement du plan de dessin supérieur ou inférieur sur son axe.

../../_images/gridmap_shift_axis.png

Utiliser GridMap dans le code

Voir GridMap pour plus de détails sur les méthodes du nœud et les variables membres.