Auteur : Wambeke Tom
Chapitre 3 – TD2 : Génération de Terrain Procédural
Résumé
Dans ce TD, l’objectif était d’approfondir la génération procédurale en manipulant directement la géométrie d’un maillage via le code C# pour créer des paysages 3D réalistes. Ce travail a nécessité une synergie entre la modélisation sous Blender et la programmation sous Unity. Le résultat final est un terrain vallonné, fluide et animé, généré mathématiquement par le bruit de Perlin.
1. Analyse technique du maillage
Un terrain en 3D n’est pas une surface continue, mais un ensemble de données discrètes organisées dans un Mesh :
- Vertices (Sommets) : Points dans l’espace 3D définis par des coordonnées X, Y et Z. Notre script agit sur la composante Y pour modifier l’altitude.
- Triangles : La connexion de trois sommets qui forme une face visible.
- Normals (Normales) : Vecteurs perpendiculaires aux faces, essentiels pour que Unity calcule correctement l’éclairage et les ombres sur les pentes.
La problématique du Plane natif de Unity
Le Plane par défaut de Unity est limité à un maillage de 10 par 10 carrés, soit seulement 121 sommets. Pour une génération de terrain détaillée, cette résolution est insuffisante.
2. Workflow Blender - Optimisation de la densité
Pour pallier le manque de résolution, nous avons utilisé Blender comme outil de préparation de maillage.
- Création et Subdivision : Nous avons créé un plan et appliqué la fonction Subdivide entre 50 et 100 fois.
- Exportation et Importation : Le modèle a été importé au format FBX dans notre projet Unity.
- Option Read Write Enabled : Étape cruciale - activer cette option dans les paramètres d’importation pour autoriser le script C# à accéder au tableau des sommets.
3. Développement du générateur
a. Évolution des algorithmes
Bruit Aléatoire : Produit un relief chaotique sans aucun lien entre les points voisins.

Fonction Sinusoïdale : Crée des vagues lisses mais trop régulières et artificielles pour un terrain.

Bruit de Perlin : En utilisant une classe Perlin externe, nous avons obtenu des transitions fluides et organiques.

b. Animation et Fluidité
Pour rendre le terrain vivant, le calcul a été déplacé dans la fonction Update. En intégrant la variable de temps aux coordonnées X et Z du bruit, nous avons créé un défilement continu.
4. Résultats et conclusion
Les tests montrent que la qualité visuelle du terrain dépend strictement de deux facteurs :
- La résolution du maillage source (plus il y a de sommets via Blender, plus le relief est précis)
- La fréquence du bruit (un scale faible permet de compenser les limites du maillage)
Conclusion : Ce TD a démontré que la génération procédurale est un équilibre entre mathématiques et structure de données. La maîtrise du workflow entre Blender et Unity, notamment avec le réglage Read Write Enabled, est indispensable.