Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

Unity - Génération procédurale de terrain

Introduction à la série de tutoriels vidéo

Le 2017-11-30 07:05:33, par LittleWhite, Responsable 2D/3D/Jeux
Bonjour à tous,

Voici une nouvelle série de vidéos sur le moteur de jeux vidéo Unity. Dans cette série, vous allez apprendre à créer, de manière procédural, un terrain 3D de type continental. Ainsi, vous apprendrez à :
  • implémenter le bruit de Perlin ;
  • créer une texture et l'afficher dans l'éditeur ;
  • créer un modèle 3D ;
  • créer un effet de terrain infini ;
  • implémenter les collisions pour le terrain ;
  • implémenter un effet stylisé.


Voici donc les vidéos :


Voir les autres ressources sur Unity.
  Discussion forum
25 commentaires
  • LittleWhite
    Responsable 2D/3D/Jeux
    Note : je ne suis pas l'auteur de ces tutoriels.
    Toutefois, l'épisode 15 répond à cette problématique .
  • LittleWhite
    Responsable 2D/3D/Jeux
    Parce que MeshData est introduit plus tard. (Par exemple, dans l'épisode 7 -> https://github.com/SebLague/Procedur...nerator.cs#L37 )
    J'ai cherché un peu plus, c'est introduit dans l'épisode 6 -> http://unity.developpez.com/videos/g...errain/06-LOD/
  • vfrz_
    Futur Membre du Club
    Salut, merci à toi pour ce guide d'une grande qualité !

    Pourrais tu faire une partie pour la modification du terrain et la sauvegarde/chargement de ces modifications dans des fichiers ?
  • LittleWhite
    Responsable 2D/3D/Jeux
    Oui j'ai généré des Carte Haute /moyenne / basse résolution de la Lune à partir de carte Satellite ( hauteur z4/z5), vue que le caillou lunaire est tout gris les cartes le sont .. donc je pensais l'utiliser en HeighMap .
    Sauf que les couleurs, ce sont les couleurs obtenus grâce au soleil et, certes au relief, mais ne décrivant pas la hauteur du relief. Plus précisément, les pixels sombres (noirs) sont des pixels à l'ombre, à cause d'un relief, mais n'indique pas pour autant une absence de relief. Du coup, vous ne pouvez pas utiliser une photo comme carte des hauteurs (HeightMap).
    Il faudrait une carte des reliefs.

    mais je me demandais si ne fallait pas en plus une carte coloré pour généré les hauteurs.
    Qu'est ce que représente les couleurs ?

    Une HeightMap est une image en niveau de gris, car pour représenté des hauteurs, il n'y a généralement pas besoin de plus de 256 valeurs pour les hauteurs (donc, une données sur 8 bits suffit).
    On peut afficher une height map telle une image, mais cela ne représente rien.
    On peut utiliser une image classique (même une photo) comme height map, mais cela ne donnera rien de cohérent.
    Il faut bien dissocier les données contenues dans un format standard (l'image), des couleurs, interprétation classique d'une image par l'humain.
  • tanatiel
    Membre régulier
    Bonjour,

    j'ai suivi le tutoriel pas à pas jusqu'à la génération du modèle 3D et là je vis un grand moment de solitude: mon mesh ne s'affiche pas, j'ai juste un carré noir. Pour info je suis avec la dernière version de Unity, la 2017.3 et j'ai remarqué des changements au niveau du mesh renderer. Y a-t-il eu des changements importants sur les mesh?

    Merci d'avance,
    à bientôt
  • LittleWhite
    Responsable 2D/3D/Jeux
    Bonjour,

    Si jamais vous êtes certains que cela pourrait provenir d'un problème de version, vous pouvez toujours tenter d'installer une ancienne version de Unity.
    Toutefois, je doute que cela soit le cas. Aussi, vous n'avez aucune erreur de compilation ? Ou bien, il y a un bogue sur le script (dans la génération des vertex) ou bien dans la configuration de l'éditeur.
  • tanatiel
    Membre régulier
    A priori pas d'erreur dans les scripts (dans le doute j'ai copié/collé depuis l'article) et rien dans la console qui pourrait laisser entendre une erreur.

    Je constate par contre ceci:

    Des propriétés ont bougé au niveau du mesh renderer d'où mon interrogation sur la version de Unity.

    Quelle version a été utilisée pour la vidéo?
  • LittleWhite
    Responsable 2D/3D/Jeux
    Vous pouvez retrouver les fichiers du projet sur le GitHub de l'auteur : https://github.com/SebLague/Procedur...oc%20Gen%20E05
    Pour la version, je ne sais pas, peut être 5.6.
  • Karshick
    Membre habitué
    Envoyé par tanatiel
    A priori pas d'erreur dans les scripts (dans le doute j'ai copié/collé depuis l'article) et rien dans la console qui pourrait laisser entendre une erreur.

    Je constate par contre ceci:

    Des propriétés ont bougé au niveau du mesh renderer d'où mon interrogation sur la version de Unity.

    Quelle version a été utilisée pour la vidéo?
    Le composant mesh renderer est désactivé (la case est décochée).
  • AntoninP
    Membre à l'essai
    Salut, j'ai remarqué que le lien Introduction contient le chapitre concernant le LOD Switching.

    Merci pour le tuto en tout cas.