Créer un système de placement en grille [Tutoriel 🇫🇷 Unity/C#]

Mina Pêcheux
30 Jun 202313:38

Summary

TLDRDans ce tutoriel Unity, nous explorons la création d'un système de placement de bâtiments basé sur une grille. Nous adaptons un système existant en modifiant des scripts pour permettre à un bâtiment fantôme de se positionner sur la grille la plus proche du curseur. Le tutoriel inclut également la visualisation de la grille avec un shader personnalisé et l'ajout d'effets visuels comme le bloom pour améliorer l'expérience. En suivant les étapes décrites, vous apprendrez à implémenter un placement de bâtiments efficace et esthétique tout en ayant la possibilité de personnaliser l'apparence de la grille.

Takeaways

  • 😀 Le tutoriel montre comment créer un système de placement de bâtiments sur une grille dans Unity.
  • 😀 Le système permet de sélectionner un type de bâtiment et de le placer à l'endroit désiré sur la carte, en l'alignant à la cellule de la grille la plus proche.
  • 😀 Un objet visuel est ajouté pour aider à visualiser la grille et les cellules pendant le placement des bâtiments.
  • 😀 Le script `Building Player` est modifié pour intégrer la logique d'un placement en grille, héritant de l'ancien script.
  • 😀 La fonction `prepareBuilding` est mise à jour avec le mot-clé `virtual` pour permettre des extensions futures.
  • 😀 Un algorithme est utilisé pour arrondir la position du bâtiment fantôme à la cellule de la grille la plus proche, permettant un placement précis.
  • 😀 Le placement des bâtiments prend en compte un offset optionnel pour décaler la grille par rapport aux coordonnées globales.
  • 😀 La grille est visualisée à l'aide d'un shader URP pour afficher des lignes représentant les cellules de la grille.
  • 😀 La visibilité de la grille est contrôlée en fonction des actions de l'utilisateur, comme la sélection d'un bâtiment ou l'annulation de la construction.
  • 😀 Des effets visuels, tels que l'ajout de 'Bloom' via le post-processing, sont utilisés pour améliorer l'apparence de la grille dans la scène.

Q & A

  • Quel est l'objectif de ce tutoriel Unity ?

    -L'objectif de ce tutoriel est d'apprendre à implémenter un système de placement de bâtiments sur une grille dans Unity, où les bâtiments sont placés sur la cellule de grille la plus proche et visualisés à l'aide d'une grille affichée dans la scène.

  • Quels scripts ont été créés dans le tutoriel précédent pour le placement des bâtiments ?

    -Dans le tutoriel précédent, deux scripts ont été créés : 'BuildingPlayer' et 'BuildingManager'. Le script 'BuildingManager' gère chaque bâtiment dans la scène, tandis que 'BuildingPlayer' est un gestionnaire global pour le système de placement des bâtiments.

  • Quelles modifications ont été apportées au script 'BuildingPlayer' pour le nouveau système de placement en grille ?

    -Le script 'BuildingPlayer' a été modifié pour devenir une classe de base pour 'BuildingGridPlayer', avec des ajustements pour rendre certaines propriétés 'private' en 'protected' et la fonction 'PrepareBuilding' rendue 'virtual'. Ces changements permettent d'adapter facilement le script pour le système de placement en grille.

  • Comment est-ce que le bâtiment fantôme suit désormais la souris sur la grille ?

    -Au lieu de simplement suivre la position de la souris, la position du bâtiment fantôme est maintenant arrondie à la cellule de grille la plus proche. Cela se fait en utilisant un algorithme qui arrondit la position sur l'axe X et Z à la taille de la cellule de la grille.

  • Quel est le rôle de la fonction 'SnappedPosition' dans le système de placement en grille ?

    -La fonction 'SnappedPosition' permet d'arrondir la position de la souris à la cellule la plus proche de la grille. Elle prend en compte un seuil défini pour s'assurer que la position du bâtiment est bien alignée avec la grille.

  • Pourquoi le décalage de la grille a-t-il été ajouté au système ?

    -Le décalage de la grille a été ajouté pour permettre de repositionner facilement la grille par rapport aux coordonnées globales, ce qui permet de décaler l'ensemble de la grille si nécessaire. Cela offre une flexibilité supplémentaire pour ajuster la disposition de la grille dans la scène.

  • Comment est visualisée la grille dans la scène Unity ?

    -La grille est visualisée à l'aide d'un objet supplémentaire dans la scène, qui utilise un shader de grille procédural. Ce shader affiche les lignes de la grille en fonction de la taille des cellules et de l'épaisseur des lignes, avec la possibilité d'ajuster les couleurs pour mieux s'intégrer à la scène.

  • Quelles étapes sont nécessaires pour mettre à jour les paramètres de la grille dans le script ?

    -Les étapes nécessaires incluent la création d'une référence au rendu de la grille dans le script 'BuildingGridPlayer', puis la mise à jour des paramètres du shader en fonction de la propriété 'GridSize'. Il est également possible de gérer la visibilité de la grille à l'aide d'une fonction dédiée.

  • Quel effet est ajouté pour améliorer la visibilité de la grille dans la scène ?

    -Un effet de post-traitement de type 'Bloom' est ajouté à la scène pour améliorer la visibilité de la grille. Ce réglage permet d'ajouter un effet de lumière et de brillance autour des lignes de la grille, rendant l'affichage plus attrayant visuellement.

  • Comment la grille est-elle contrôlée en fonction des actions de l'utilisateur, comme l'annulation ou la construction d'un nouveau bâtiment ?

    -La grille est affichée dès qu'un nouveau bâtiment fantôme est sélectionné et disparaît une fois le bâtiment placé. Elle est également cachée lorsque l'utilisateur annule une construction ou ne place pas un bâtiment immédiatement après en avoir sélectionné un.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
UnityDéveloppement jeuxPlacement bâtimentsSystème grilleVisualisationSnappingShadersDéveloppement 3DTutoriel UnityCode C#Interface utilisateur
Do you need a summary in English?