TURNA logo

Tutoriel : Geometry Nodes : créer de la végétation dans Blender

Placer de l'herbe, des buissons ou des arbres à la main sur un terrain prend des heures, et le résultat se refait entièrement au moindre changement de terrain. Les Geometry Nodes de Blender règlent ce problème de façon procédurale et non destructive : la végétation est calculée à partir du terrain, et une densité, une graine aléatoire ou un modèle de plante se changent à tout moment. Ce tutoriel montre deux chemins dans Blender 5.2 : le modificateur Scatter on Surface, arrivé avec Blender 5.0, puis un arbre de nœuds construit à la main pour comprendre et contrôler chaque étape. Le principe est le même que pour toute dispersion procédurale : des points tirés sur une surface, et un objet posé sur chaque point.

Préparer la scène

  • Le terrain : ajoutez une grille (Shift + A > Mesh > Grid) et donnez-lui du relief, par exemple avec un modificateur Displace et une texture de bruit. Appliquez l'échelle (Ctrl + A > Scale) : la densité de points se compte en points par mètre carré, une échelle non appliquée la fausse.
  • Les plantes : modélisez ou importez deux ou trois variantes (touffe d'herbe, fleur, buisson). Placez l'origine de chaque plante à sa base, là où elle touche le sol, et rangez-les dans une collection, par exemple « Vegetation ».
  • Cacher les originaux : excluez cette collection du View Layer (case à cocher dans l'Outliner) pour qu'elle ne soit pas rendue en plus des copies.

Méthode rapide : le modificateur Scatter on Surface

Sur le terrain, ouvrez l'onglet Modifier puis Add Modifier > Generate > Scatter on Surface. Les réglages principaux :

  • Density Method : Density (points par unité de surface) ou Amount (nombre total fixe).
  • Distribution Method : Random, ou Poisson Disk avec une Minimum Distance qui évite que deux plantes se superposent.
  • Instancing : choisissez la collection, puis activez Pick Instance pour tirer une plante au hasard parmi ses enfants.
  • Randomize : rotation, échelle et décalage aléatoires, avec leur propre graine.
  • Keep Surface : garde le terrain dans le résultat ; sans cette option, seules les plantes restent.
  • Distribution Mask et Image Mask : limitent la dispersion à certaines zones, par attribut ou par image.

Vous pouvez empiler plusieurs de ces modificateurs, un par type de végétation, chacun avec sa densité et son masque.

Méthode détaillée : construire l'arbre de nœuds

Le modificateur ci-dessus est lui-même un groupe de nœuds. Le reconstruire montre ce qui se passe et permet d'aller plus loin. Sélectionnez le terrain, passez dans l'espace de travail Geometry Nodes et cliquez sur New : Blender crée un modificateur Geometry Nodes dont l'arbre relie un nœud Group Input à un nœud Group Output. Pour ajouter un nœud, utilisez Shift + A et tapez son nom.

Étape 1 : distribuer des points

Ajoutez un nœud Distribute Points on Faces et branchez la géométrie du Group Input sur son entrée Mesh. Le réglage Density fixe le nombre de points par mètre carré. En mode Poisson Disk, Distance Min impose un écart minimal entre deux points. Seed change le tirage sans changer la densité.

Étape 2 : poser les plantes sur les points

  • Glissez la collection « Vegetation » depuis l'Outliner dans l'éditeur de nœuds : Blender crée un nœud Collection Info. Activez Separate Children (chaque plante devient une instance distincte) et Reset Children (chaque plante est posée exactement sur son point).
  • Ajoutez un nœud Instance on Points. Branchez les points sur Points, la sortie de Collection Info sur Instance, et cochez Pick Instance : chaque point reçoit une des plantes de la collection.

Étape 3 : garder le terrain

Les instances remplacent la géométrie d'entrée. Ajoutez un nœud Join Geometry, branchez-y la géométrie du Group Input et la sortie d'Instance on Points, puis reliez Join Geometry au Group Output. Le terrain et la végétation apparaissent ensemble.

Étape 4 : varier rotation et taille

  • Suivre la pente : la sortie Rotation de Distribute Points on Faces, branchée sur l'entrée Rotation d'Instance on Points, aligne chaque plante sur la normale du sol.
  • Rester vertical : pour des arbres, préférez une rotation aléatoire autour de Z seulement. Un nœud Random Value en type Vector, Min (0 ; 0 ; 0) et Max (0 ; 0 ; 6,283), passé dans un nœud Euler to Rotation, donne un angle de 0 à 360 degrés (6,283 radians).
  • Taille : un second Random Value, en type Float, Min 0,7 et Max 1,3, branché sur Scale.

Étape 5 : peindre la densité

Reliez l'entrée Density de Distribute Points on Faces à l'emplacement libre du Group Input : elle apparaît dans le panneau du modificateur. Le petit bouton à côté permet de lire un attribut à la place d'une valeur fixe. Peignez un groupe de sommets en mode Weight Paint, puis donnez son nom à cette entrée : les plantes ne poussent que là où le poids est élevé. C'est la façon la plus simple d'éviter un chemin ou une rivière.

Étape 6 : écarter les pentes trop raides

Dans la nature, les arbres ne poussent pas sur une falaise. La sortie Normal de Distribute Points on Faces donne l'orientation du sol sous chaque point. Passez-la dans un nœud Separate XYZ et gardez la composante Z : elle vaut 1 sur un sol plat et diminue à mesure que la pente se redresse. Un nœud Compare en mode Greater Than, avec un seuil de 0,8, renvoie vrai sur les zones assez plates ; branchez-le sur l'entrée Selection d'Instance on Points. En baissant le seuil, vous autorisez des pentes plus fortes.

Étape 7 : superposer plusieurs couches

Une prairie crédible mélange plusieurs densités : un tapis d'herbe très dense, des fleurs éparses, quelques buissons. Dupliquez la chaîne Distribute, Instance on Points pour chaque couche, chacune avec sa collection, sa densité, sa graine et son masque, puis réunissez toutes les sorties dans le même Join Geometry. Donnez une graine différente à chaque couche, sinon les points de deux couches de même densité tombent aux mêmes endroits.

Garder la scène légère

  • Rester en instances : une instance référence la géométrie d'origine sans la dupliquer. Le nœud Realize Instances transforme chaque copie en vraie géométrie ; le manuel prévient que les performances se dégradent fortement avec de nombreuses instances complexes. Ne l'utilisez que si une opération en a besoin.
  • Alléger les modèles sources : un modificateur Decimate sur une plante réduit d'un coup le poids de toutes ses instances.
  • Moins de points dans la vue 3D : le nœud Is Viewport vaut vrai dans la vue et faux au rendu final. Combiné à un nœud Switch, il donne une densité réduite pendant le travail et la densité complète au rendu. Le modificateur Scatter on Surface propose la même chose avec son réglage Viewport Visibility.

Une végétation procédurale tient en cinq nœuds : Distribute Points on Faces, Collection Info, Instance on Points, Random Value et Join Geometry. Le modificateur Scatter on Surface de Blender 5 les regroupe pour aller vite ; l'arbre construit à la main permet d'ajouter un masque peint, des règles de pente ou plusieurs couches de plantes. Dans les deux cas, tout reste modifiable jusqu'au rendu. Pour la logique des Geometry Nodes appliquée à d'autres objets que la végétation, voir notre tutoriel sur la modélisation procédurale avec les Geometry Nodes.

Et au rendu ?

Les instances restent légères en mémoire, mais une végétation dense allonge le calcul de chaque image, surtout avec des feuilles transparentes que Cycles doit traverser. Les Geometry Nodes sont évalués au moment du rendu, sans préparation particulière. Pour une animation, TURNA répartit les images sur 1 à 8 machines GPU depuis un add-on Blender, au temps réellement consommé. Le calculateur de temps de rendu donne une estimation avant de lancer.

Calculez vos rendus Blender sur des GPU loués à la demande

TURNA répartit vos scènes Blender, en Cycles comme en Eevee, sur 1 à 8 machines GPU en parallèle. De 2,90 à 49,90 €/h selon le palier, facturés au temps réellement consommé, estimés avant le lancement. 25 € de crédits offerts à l'inscription.

Créer un compte Voir les tarifs

Articles similaires