Geometry Nodes

Dernière mise à jour le 19 mars 2024 par LMD

Les Geometry Nodes permettent de créer vos propres Modificateurs personnalisés.

L’Interface

Nous allons partir du cube de base. Pour des raisons d’organisation, nous allons créer une nouvelle collection et placer ce cube dedans. Masquer la Collection 1 car nous n’aurons pas besoin de la Caméra ni de la Lumière.
Voir ci-contre.

On peut accéder à l’Inspecteur Geometry Nodes de deux manières :
– Cliquer à droite en haut de l’écran sur l’onglet Nœuds de Géométrie (Geometry Nodes) et réduire ou supprimer la fenêtre latérale gauche, le Tableur ().

– Rester sur l’onglet Layout par défaut, augmenter la TimeLine () et le remplacer par l’Éditeur de nœuds de géométrie (Geometry Node Editor). Cette configuration est plus claire car nous n’aurons pas besoin du Tableur. Vous pouvez l’enregistrer si vous le souhaitez.

Créer un Geometry Node à partir d’un objet

Sélectionner le Cube.
Dans l’Éditeur de Nœuds Géométrie (Geometry Node Editor) Cliquer sur le bouton Nouveau.

ATTENTION : J’écrirai dorénavant GN à la place de Geometry Node.

Cela rajoute 2 Nodes :
– celui de gauche représente le cube, en tant qu’Entrée du groupe (Group Input),
– celui de droite représente ce qui est affiché dans la Vue 3D, en tant que Sortie du groupe (Group Output).
Pour l’instant l’entrée et la sortie sont identiques.

Ci-dessous, à droite, cliquer sur les Propriétés Modificateur (Modifier). Vous verrez qu’un nouveau Modificateur a été appliqué à votre Cube.

Dans la case « Nœuds de géométrie », modifier ce nom si vous le souhaitez.

Manipulations de base et Nœuds Essentiels

Ajouter des Nodes

Placer le curseur sur la fenêtre GN et taper SHIFT A.
Le Menu qui s’affiche est également accessible par le Menu Ajouter (Add).
Choisir Maillage > Géométrie > Transformer la géométrie (Geometry > Transform).

Avant de cliquer pour poser ce Node, survoler le trait entre les 2 nodes existants. Le fil va devenir blanc et le Node Transformer aura un contour blanc. Lâcher la souris à ce moment là. Le Node se connecte automatiquement, comme ci-dessous.

Modifier les valeurs de Translation, Rotation, Échelle et observer le résultat.
Modifier les valeurs de Translation, Rotation, Échelle et observer le résultat.
Vous venez de créer votre premier GN.

Les Nodes Maillage > Primitives

Ce sont des Nodes qui reproduisent l’essentiel des maillages de base disponibles dans la vue 3D.
Ajouter un Node (SHIFT A) et choisir dans Maillage > Primitives (Mesh > Primitives) un Objet à votre convenance. Ci-dessous, un Cône.

Depuis la sortie Maillage en vert du Cône, tirer un fil vers l’Entrée Géométrie du Node Transformer la Géométrie (Geometry > Transform). Cela remplace le cube de base présent dans le Node Entrée du Groupe (Group Input).

De fait, en Sortie et sur la vue 3D, le cube est remplacé par le cône avec les mêmes propriétés.

Attribuer un Geometry Node existant à un objet

Dans la vue 3D, ajouter un objet, un tore par exemple, ou autre.

Sélectionner cet objet puis dans l’Éditeur GN, cliquer sur le bouton nouveau.

Enfin, cliquer sur le bouton à gauche du nom du GN et dans la liste qui s’affiche, choisir le GN précédent.
Tout ce que produit ce GN s’applique aussi au Tore, comme ci-dessous.

Connecter les Nodes

Pour connecter des Nodes, cliquer sur un point de sortie et glisser pour relier un point d’entrée d’un autre Node. En général, les Nodes se connectent selon des couleurs identiques. Cela se fait de gauche à droite.

Pour déconnecter un Node, maintenir la touche ALT ou OPTION et cliquer-glisser le Node à déconnecter.

On peut aussi supprimer un lien. Maintenir la touche CTRL et glisser la souris en clic droit. Un trait de coupe matérialise la suppression.
On peut aussi cliquer sur un point d’entrée vers la gauche et glisser vers la droite sur le point de sortie du précédent Node.

Rajouter des points de liaison

Il est possible de rajouter un point de liaison sur un lien. Maintenir la touche SHIFT et glisser la souris en clic droit. Celà ajoute un point qu peut être déplacé avec la touche G, comme pour les objets en Vue 3D.
Cela permet de clarifier le chemin des fils ou bien de créer une liaison déportée de son origine.

Désactiver un node

Sélectionner le node à désactiver (ci-dessous le node Transformation) et appuyer sur la touche M. Faire de même pour le réactiver. Cela modifie le résultat en Sortie.

Obtenir des informations

Au survol d’un node ou d’une entrée ou Sortie d’un node une étiquette d’information apparait.

Dupliquer des Nodes

Sélectionner un Node et taper SHIFT D. Cela duplique le Node. Le placer ailleurs.

Il est souvent possible de créer plusieurs liens à partir d’un même Node vers deux Nodes distincts. À l’inverse, si l’on essaie de se connecter à l’entrée déjà occupée d’un Node (par exemple du Node Transform du bas vers le Node final Sortie du Groupe) cela remplace le lien existant.
Pour les connecter ensemble, il faut rajouter un Node de jonction, le Node Géometrie > Fusionner les géométries (). Il est à noter que l’entrée de ce node est plus longue que les autres. Cela indique qu’elle peut accepter plusieurs liens, comme ci-dessous.

Ci-dessus, cela correspond à obtenir deux cubes à partir du même, avec des réglages différents pour chacun.

Supprimer un node

Sélectionner le node à supprimer et taper X. Les liens reliant ce node sont également supprimés.

Voir en Mode Edition

Sur la Vue 3D, sélectionner le cube de base et passer en Mode Edition (TAB). On voit qu’il n’a pas changé de place. Si on le modifie, cela se rapporte sur toutes les copies.

Réunir des nodes dans un cadre

Pour des raisons d’organisation et de repérage il est souvent utile de les regrouper dans des cadres. Ajouter un Node Disposition > Cadre (). Cela pose un rectangle noir dans la fenêtre GN. Puis sélectionner les nodes à placer dans ce cadre et les faire glisser dessus et lâcher.
Dorénavant il est possible de les déplacer ensemble en déplaçant le cadre.

On peut donner un titre au cadre. Appuyer sur la touche N pour faire apparaitre le panneau latéral droit dans la fenêtre GN. Sélectionner le cadre. Cliquer sur le second onglet Nœud et saisir un titre dans la case Libellé. Ce titre apparait en haut du cadre.

Petit exemple sympathique

Partir de n’importe quel objet sur la Vue 3D. Le sélectionner et créer un nouveau GN. Le renommer.
Remplacer l’Entrée du Groupe par une sphère : Node Maillage > Primitives > Icosphère (Mesh > Primitives > Icosphere).

Rajouter le Node Maillage > Opérations > Extruder le maillage () entre la sphère et la sortie.
Pour créer des variations, Ajouter un Node Utilitaires > Valeur Aléatoire () à brancher sur le point Echelle du décalage du Node Extruder.

On peut aussi mettre à la place un Node Texture > Texture Bruit () qui produit des valeurs aléatoires lissées. Cela donne une forme plus régulière.
On peut enfin rajouter un Node Entrée > Scène > Temps de la Scène (), à brancher sur l’entrée W de la Texture, qui va animer l’extrusion lorsque l’on va modifier les valeurs de la Texture.

Le vase Calice de Kartell

Partir d’un Cube pour le socle (à la place d’un cylindre).
Utiliser le Node Géométrie > Opérations > Transformer la Géométrie () et les manipulations de base (Dupliquer Nodes, créer Cadres et les nommer, Ajouter Points de liaison, etc.)

H 48 x D 30 cm
Socle H 8cm
Cylindres H 10 cm

Créer des Booléennes pour faire le trou : Node Maillage > Opérations > Booléen de Maillage (Mesh > Operations > Mesh Boolean).

Chercher une autre solution en utilisant le Node Entrée > Constante > Valeur (Input > Constant > Value) et Utilitaires > Maths > Maths (Utilities > Math > Maths). Faire varier la valeur initiale.

Créer un matériau dans l’Éditeur de Shaders(Shader Editor) et attribuer ce matériau à la totalité du vase en plaçant après le Node Fusionner les Géométries (Join Geometry) le Node Matériau > Définir le Matériau (Set Material).

La Table Ronde Irem

Partir de n’importe quel objet. Créer un nouveau GN. Désactiver ou supprimer le Node Entrée.
La table est constituée d’un Cône et de deux cylindres, créés par des Nodes Maillage > Primitives.
Ajouter des Nodes Transformer la Géométrie pour leur donner à chacun une position et des dimensions adéquates.

On peur rajouter un Node Entrée > Constante > Valeur () dont toutes les autres dimensions vont dépendre (Echelle). Pour modifier la valeur initiale pour chacun des objets, utiliser des Nodes Utilitaires > Maths > Maths () à régler sur Diviser ou Multiplier.

Les Courbes (Curves)

NB : à partir de ce chapitre, les copies d’écran intègrent souvent un node Transformer la géométrie juste avant le node de Sortie du Groupe. N’en tenez pas compte.

Un simple tube

Créer un nouveau fichier. Créer un nouveau GN sur le cube.
Désactiver l’Entrée du Groupe et ajouter à la place une Courbe > Primitives > Courbe Cercle () mais n’importe quelle courbe ferait l’affaire.

Ajouter un Node Courbe > Opérations > Courbe vers Maillage () à brancher entre les deux. Dupliquer le Node Courbe Cercle et le connecter au point d’entrée Courbe de Profil Du Node Courbe vers Maillage. Régler les rayons des deux cercles. N’importe quelle autre courbe peut servir de profil. On obtient un tore.

Pour contrôler le rayon de la courbe initiale, rajouter un Node Définir le Rayon de la Courbe () entre le node Cercle initial et le node Courbe vers Maillage. Il donne une proportion au rayon de la courbe de profil. S’il vaut 1, cela ne modifie pas le rayon du Profil.

Pour contrôler la partie du cercle initial utilisée, ajouter un Node Courbe > Opérations > Rogner la Courbe (). Modifier les valeurs de début et de fin de la courbe. Si la courbe est ouverte, cocher la case Remplir les extrémités du node Courbe vers Maillage.

Si besoin, ajouter le Node Courbe > Ecriture > Définir Spline Cyclique (). Cela referme le cercle, ou à peu près.

Des courbes profilées

Créer un nouveau fichier. Supprimer le cube et dans la Vue 3D, ajouter une Courbe Bézier (à droite ci-dessous). Créer un nouveau GN sur cette courbe. Déplacer la courbe à côté de l’origine.
Ajouter un Node Courbe > Primitives > Courbe Ligne (), à gauche ci-dessous). Relier des deux objets par un node Fusionner les Géométries.

Sur la Courbe Bézier, ajouter comme précédemment un node Courbe vers Maillage, auquel il faut connecter un node Courbe Cercle sur l’entrée Courbe de Profil et un node Définir le Rayon de la Courbe sur l’entrée Courbe.

Pour modifier le rayon de la courbe, ajouter un Node Courbe > Lecture > Paramètre de la Spline (). Cela donne une valeur qui va de 1 à 0. De fait le début de la courbe a le rayon défini sur le cercle et la fin de la courbe est à 0, donc pointue.
Cela correspond au cadre inférieur « Courbe sur la Vue 3D » sur la copie d’écran des nodes.

Dans le cadre supérieur « Node Courbe », il s’agit de la Ligne.
Dans un premier temps, rajouter les mêmes nodes que précédemment, Courbe vers Maillage, Définir le Rayon de la Courbe, Courbe Cercle et Paramètre de la Spline.

Juste après le node Courbe Ligne, ajouter un Node Courbe > Opération > Rééchantillonner la Courbe (). Initialement une ligne a deux points d’extrémités. La valeur Nombre va permettre de rajouter des points intermédiaires sur cette courbe.

Nous allons donc déplacer ces points de manière aléatoire pour obtenir une ligne brisée. Ajouter un Node Géométrie > Écriture > Définir la Position () à intercaler avant le node Définir le Rayon.
Enfin, pour paramétrer le décalage, utiliser le Node Texture > Texture Bruit () qui crée des valeurs aléatoires lissées. Jouer sur les valeurs de la texture. Comme plus haut, un node Utilitaires > Valeur Aléatoire () pourrait servir ici, avec un résultat plus cahotique.

Un tube comme la tige d’une plante

Partir d’une Courbe Bézier sur la Vue 3D. Comme précédemment, rajouter les nodes Courbe vers Maillage, Définir le Rayon de la Courbe et Courbe Cercle.
À ce stade, le Rayon est régulier. On a vu qu’il est possible d’effiler la tige avec le node Paramètre de la Spline, mais l’extrémité est pointue. Pour Obtenir une tige dont le rayon supérieur n’est pas nul, je vous propose deux solutions.

La première solution consiste à intercaler entre le Paramètre de la Spline et Définir le Rayon un Node Utilitaires > Maths > Courbe de Nombre Flottant (). C’est comme une correction par courbe dans Photoshop.
Manipuler la courbe qui va de 0 à 1 en rajoutant des points, comme ci-dessous par exemple.

La seconde solution consiste à insérer entre les nodes Définir le Rayon et Courbe vers Maillage un Node Rogner la Courbe et à modifier la Valeur de début.

Dans cette configuration, où la courbe initiale est un objet de la Vue 3D et non un Node, sélectionner cette courbe et passer en Mode Édition (TAB) sur la vue 3D. Prendre dans la barre de gauche l’outil Dessiner une Courbe (c’est le crayon juste au dessus de la plume) et dessiner une forme. Cette forme « subira » le GN que vous venez de créer.

Les Nodes Textures

Vous pouvez voir ci-dessous tous les Nodes Texture (Texture). Ils correspondent aux textures procédurales que l’on peut appliquer aux objets dans l’Éditeur de Shader. Ici, ils ne vont pas produire un résultat visuel mais renvoyer des valeurs numériques exploitables par certains nodes.

La plus utilisée, comme on a pu le voir précédemment, est la Texture Bruit (Noise Texture). Elle génère un aléatoire lissé. C’est l’équivalent de Noise dans processing. La Texture Dégradé (Gradient Texture) est intéressante également.

Un paysage de montagnes

Partir d’un Plan sur la Vue 3D. Le sélectionner, passer en Mode Edition et le subdiviser, au moins au niveau 10. Revenir en Mode Objet. Créer un nouveau GN.

Intercaler entre les deux nodes de base, un Node Géométrie > Écriture > Définir la Position (). On pourrait brancher sur l’entrée Décalage un node Valeur Aléatoire, comme plus haut.

Utiliser plutôt un Node Texture > Texture Bruit (Texture > Noise Texture). Brancher la sortie Fac (ou Couleur) sur l’entrée Décalage. Mais on constate que la valeur de texture s’applique aux 3 paramètres X, Y et Z.

Pour que cette valeur s’applique seulement à l’un des trois, intercaler un Node Utilitaires > Vecteur > Combiner XYZ () à brancher sur l’entrée Décalage. La Texture peut alors être raccordée à la coordonnée de votre choix, ci-dessous X. Jouer avec les valeurs de la texture. Pour obtenir des courbes, diminuer la Distorsion.

Les Instances (Instances)

La notion d’instance représente la possibilité de multiplier un objet avec des « enfants » de cet objet. Cela allège considérablement le fichier car au fond, il y a un seul « vrai » objet. Les autres ne sont que des références à l’original.

Une forêt de sapins

Partir d’un plan subdivisé, sur lequel un relief a été créé en tirant des points avec l’édition proportionnelle.

Rajouter un Node Points > Distribuer Points sur Face (). Relier l’entrée à ce node puis ce node à la sortie par un Node Géométrie > Fusionner les Géométries. On voit les points apparaitre sur la surface du plan. Modifier la densité et la graine.

Ajouter ensuite un Node Instances > Instancier sur les Points (). Les points disparaissent car il n’y a aucun objet défini comme origine des instances. On peut ajouter n’importe quel node de Primitive de Maillage à brancher sur l’entrée Instance, par exemple un cylindre.

On peut aussi créer un objet sur la vue 3D. Ajouter un cylindre. En mode Edition, modifier ce cylindre pour en faire un sapin en ajoutant un cône. Revenir en mode Objet.
Faire glisser cet objet dans la fenêtre GN à partir de l’Éditeur Synoptique (). Cela crée un Node Entrée > Scène > Infos d’objet (). Le connecter sur l’entrée Instance du node Instancier les Points.

Répartition aléatoire de points sur une surface avec limites

Partir d’un Plan en Vue 3D et créer un nouveau GN.
Intercaler le Node Points > Distribuer Points sur Face (). Cela fait apparaitre des points aléatoirement sur le plan. Modifier la répartition des points en jouant avec les valeurs de Densité et de Graine.

Sur le node Distribuer Points passer de la Méthode Aléatoire à la Méthode Disque de Poisson (sic). On peut alors indiquer une densité minimale (à passer à une très petite valeur, 0.05) et une densité maximale (avec une très grande valeur, 5000). Le Facteur de densité produit un nombre de points, in fine.
On peut alors gérer la répartition des points avec un node Texture Bruit qui va se brancher sur l’entrée Facteur de Densité, mais si l’on en change les valeurs, cela ne fait pas grand chose. Il manque encore un Node Utilitaires > Couleur > Dégradé de Couleur (). Rapprocher les curseurs vers le centre. Cela va créer aléatoirement des zone de trou, d’où les points sont absents.

Éventuellement, il est possible de rajouter un Node Maillage > Opérations > Subdiviser le Maillage () après l’Entrée du Groupe, si vous ne l’avez pas fait en Vue 3D.

Le Node Point > Définir le Rayon du Point () n’a pas d’incidence sur le résultat. Il sert juste à afficher les points plus petits en Vue 3D. Les Points ont une dimension par défaut juste pour être visibles quand on travaille. Ils ont sinon une dimension Nulle.

Une boule avec des piquants

Ici, il s’agit de récupérer les points existants sur un Maillage pour y placer des instances d’un Objet 3D. Ainsi, nous placerons des cônes sur une sphère.
Partir de n’importe quelle forme, le cube de base par exemple. Créer un nouveau GN. Désactiver l’Entrée du Groupe.

Ajouter un Node Maillage > Primitives > Icosphère () et le brancher sur la Sortie du Groupe par l’intermédiaire d’un node Fusionner les Géométries. Augmenter les subdivisions du Node Icosphère.
Depuis la Sortie Maillage de la sphère, tirer un nouveau fil et chercher le node Instancier sur les Points. La sphère doit être reliée à l’éntrée Points.
Ajouter un Node Entrée > Scène > Info d’Objet () et choisir le Cône dans la case de l’Objet, en bas, avec un point d’entrée orange. Choisir le cône dans la liste ou en utilisant la pipette.
Le node Instancier doit être relié au node Fusionner. Une multitude de très gros cônes apparait. Il faut réduire la dimension des cônes par les cases d’Échelle du node Instancier, à 0.15 par exemple.
Cependant les cônes sont tous orientés verticalement. Pour les placer autour de la sphère dans toutes les directions, il faut leur appliquer une Rotation en les alignant sur la Normale (en fait la perpendiculaire) aux points de la sphère.
Rajouter un Node Géométrie > Lecture > Normale () à brancher sur l’entrée Rotation du node Instancier. C’est intéressant mais ne correspond pas au résultat souhaité.
Intercaler donc le Node Utilitaires > Rotation > Aligner Euler sur le Vecteur () et brancher la Normale sur l’entrée Vecteur au lieu de Rotation. Changer l’axe pour le Z. Les cônes pointent alors dans la bonne direction.

Le schéma ci-dessus présente la possibilité d’ajouter un autre Objet en entrée. Ci-dessus, un Cube est ajouté et connecté à l’entrée Points du node Instancier par l’intermédiaire d’un node Fusionner. Voir le résultat ci-dessous, des cônes sont ajoutés aux sommets du cube.

Un napperon ou une forme de spirographe.

Partir de n’importe quelle forme sur la Vue 3D, un cube par exemple. Créer un nouveau GN et désactiver l’Entrée du Groupe.
Ajouter un Node Courbe > Primitives > Courbe Cercle (). Le dupliquer. Ajouter un Node Courbe > Opérations > Courbe vers Maillage () et tout relier. Cela correspond aux 3 nodes à gauche du schéma ci-dessous, avant les cadres. Relier le node Courbe vers Maillage à la Sortie du Groupe. Paramétrer les cercles pour obtenir un tore très fin. C’est celui qui sera instancié sur les points d’un cercle.

Ajouter un Node Courbe Cercle sans le modifier. Le brancher à l’entrée Points d’un node Instances > Instancier sur les Points (). La résolution du grand cercle détermine le nombre de Points sur lesquels le tore est placé.
Il y a donc autant de petits tores que de points sur le grand cercle, soit 32. Modifier cette valeur si besoin. On peut visualiser ces points en intercalant un Node Instances > Instances vers Points () après le node Instancier. Ci-dessous, ce dernier node a été désactivé par la touche M.

Pour l’organisation il peut être bien de placer ces trois derniers nodes dans un Node Disposition > Cadre ().

Pour obtenir le napperon ci-dessus, il faut rajouter un cercle sur lequel instancier les tores. Commencer par dupliquer les nodes présents dans le cadre et les raccorder comme ci-dessous. Les deux cadres seront rassemblés par un node Fusionner les géométries avant de Sortir. Il suffira alors de modifier les valeurs du dernier cercle.

Des points sur une grille dans le volume d’un objet

Les objets sont toujours instanciés sur des points. On utilise généralement les points sommets d’une géométrie ou on créé des points sur une surface. Il est également possible de générer des points dans un volume.

Partir du Maillage Singe (Suzanne) dans la Vue 3D et créer un nouveau GN.
Ajouter un Node Maillage > Opérations > Maillage vers Volume (). Cela génère une boîte englobante avec une sorte de nuage à l’intérieur.

Ajouter un Node Points > Distribuer Points dans Volume (). Seul un point est visible sur la Vue 3D. Modifier la Densité des deux nodes. Les points sont placés aléatoirement.
Modifier la case Aléatoire du node Distribuer Points pour Grille. Modifier les valeurs d’espacement.

Ci-dessus, un Node Sortie > Visualiseur () a été ajouté. Il permet de visualiser l’état d’un node en particulier n’importe où dans le schéma, ce qui représente un moyen de contrôle de son travail. Il n’est pas nécessaire ici.

Des compositions abstraites

Je vous laisse tester vous-même à partir des schémas de nodes ci-dessous, les deux effets d’instanciation obtenus ici.

Il n’y a pas de difficulté particulière.

La seule nouveauté, réside pour cet exemple dans l’usage des Nodes : Instances > Tourner les Instances (), Instances > Redimensionner les Instances (), Instances > Déplacer les Instances ().

Vase Malik

Voici un exercice qui fait appel à des instances pour placer les picots (des sphères) sur ces objets et de paramétrer des dimensions différentes pour les deux tailles de vase.

Le même vase avec une plante sèche

Un autre exercice consiste à trouver comment obtenir la plante visible sur l’image ci-dessous.

Essayer, avec ce qui a été vu précédemment, de réaliser cette plante, une fleur d’allium séchée.

Exposez les valeurs parmi celles disponibles et faites les varier dans l’Éditeur des Propriétés > Modificateur pour créer des varaintes.

Une tige avec des feuilles

Créer un nouveau fichier, l’enregistrer, supprimer le cube et ajouter une Courbe Bezier dans la Vue 3D.
Il faut également préparer une feuille. Ajouter un Plan. Récupérer une texture de feuille ou préparer une image PNG de feuille avec un fond transparent.

Ajouter un Matériau au plan. Dans l’Éditeur de Shader, ajouter une image en tant que texture et brancher la sortie Alpha sur l’entrée Transparence du Matériau.
Sélectionner le Plan et passer en Mode Edition. Subdiviser le Plan, ou plutôt rajouter des Loop Cuts afin de générer moins de facettes. Courber le Plan avec l’Édition Proportionnelle pour lui donner le volume d’une feuille à votre convenance.
Créer un autre Matériau pour la tige.

Revenir dans l’Éditeur de GN. Nous allons commencer par créer la Tige. Ajouter un Node Courbe vers Maillage, et brancher un Node Courbe Cercle sur l’entrée Courbe de Profil. Rajouter un Node Définir le Matériau après le Node Courbe vers Maillage et choisir le matériau du tronc. Ajouter enfin un Node Fusionner les Géométries avant la Sortie.

Pour les feuilles, ajouter un Node Rééchantillonner la Courbe puis Instancier sur les Points. Utiliser le Node Info d’Objet en faisant glisser la feuille depuis l’Outliner et l’utiliser comme Instance.

Les feuilles sont alors empilées régulièrement le long de la tige.

Dans un premier temps, nous allons faire tourner les feuilles le long de la tige. Après le Node Instancier sur les Points, placer un Node Tourner les Instances.

Brancher ensuite un Node Valeur Aléatoire sur l’entrée Rotation afin que les feuilles se répartissent aléatoirement et donc plus naturellement.

Il faut ensuite orienter les feuilles de manière tangente à la tige pour en suivre la courbure.

Sur la sortie Rotation du Node Info d’Objet (la feuille) ajouter un Node Aligner Euler vers le Vecteur et brancher la sortie Rotation de ce node sur l’entrée Rotation du Node Instancier sur les Points. Ajouter enfin sur l’entrée du Node Euler, un Node Tangente de Courbe.

Pour limiter le nombre de feuilles au début et à la fin de la courbe, nous allons utiliser un Dégradé de Couleur.

Pour limiter le nombre de feuilles au début et à la fin de la courbe, utiliser un Dégradé de Couleur.
Sur l’entrée Échelle du Node Instancier sur les Points, brancher un Node Dégradé de Couleur précédé d’un Node Paramètre de la Spline. Les parties noires du dégradé suppriment les feuilles en les mettant à l’échelle 0%.

Sur la Vue 3D ajouter une fleur, ici une simple Sphère aplatie. Dupliquer la totalité des Nodes servant à générer les feuilles, comme ci-dessous et remplacer la feuille par la fleur dans l’Info d’Objet. Régler le dégradé avec seulement un peu de blanc au bout pour ne conserver qu’une fleur au bout de la Tige.

Ci-dessus, le processus de GN complet et ci-contre le résultat.

L’Outil Geometry Node

Depuis la version 4 de Blender, les Geometry Nodes se déclinent. Ils servent initialement à créer des Modificateurs personnalisés. Il est à présent possible d’en faire des Outils personnalisés intégrés à Blender.

Les GN Tools agissent en Mode Édition sur un Objet. Dans un premier temps, il faut créer un GN Tool pour pouvoir l’utiliser. Pour cela, dans l’Éditeur GN, un Menu en haut à gauche propose de basculer du Mode Modificateur au Mode Outil.

Prenons l’exemple d’un outil qui aurait pour tâche de générer des étoiles paramétrables.

Mais lorsqu’on créé un Outil, on ne voit pas ce qu’on fait. Il est donc recommandé de rester en Mode Modificateur, d’utiliser un cube comme point de départ. Reproduire ensuite le schéma ci-dessous sur le cube.
Il est important de relier de droite à gauche des entrées de paramètres aux sorties libres du node Entrée du Groupe. On dit qu’on Expose des valeurs. Cela permettra de pouvoir personnaliser ces valeurs à chaque utilisation de l’outil.
Copier la totalité des nodes de ce schéma puis passer en Mode Outil. Copier tous les nodes et nommer cet outil.

Il faut rajouter l’outil dans ses Assets.
« Partie à terminer »

Un exercice de synthèse

Voici pour terminer la transcription d’un tuto visible sur Youtube pour créer une fleur, en 4 parties dont nous ne verrons que les deux premières. Il reprend pas mal des éléments vus précédemment.
Première partie, création d’un pétale
Deuxième partie, assemblage des pétales en fleur
Troisième partie, cœur de la fleur et paramètres
Quatrième partie, tige et texturing de la fleur
Cinquième partie, feuilles

Création d’un pétale

Partir d’un cube pour modéliser un pétale. Créer un nouveau GN et désactiver l’entrée du Groupe.
Le remplacer par un Node Courbe > Primitives > Bézier Quadratique ().

La forme du pétale est déterminée par une Bezier Quadratique convertie en Maillage avec une Courbe Ligne comme Profil.

Ajouter donc un Node Courbe > Opérations > Courbe vers Maillage () et un Node Courbe > Primitives > Courbe Ligne (). Relier la Courbe Bézier à l’entrée Courbe du Node Courbe vers Maillage et la Courbe Ligne à l’entrée Courbe de Profil.
Pour pouvoir contrôler ces deux courbes, intercaler après chacune un Node Géométrie > Écriture > Définir la Position ().

D’une forme rectangulaire, nous allons faire une forme de pétale. Il faut pour cela intercaler après le node Définir la Position un Node Courbe > Écriture > Définir le Rayon de la Courbe (). Tout disparait en attente d’une valeur en entrée Rayon. Y placer un Node Courbe > Lecture > Paramètre de la Spline () qui va convertir le Rayon en une progression de 0 à 1, ce qui produire une forme triangulaire. Il reste à contrôler la forme obtenue en modifiant la progression du Rayon par une courbe, soit un Node Utilitaires > Maths > Courbe de Nombre Flottant (), comme dans le schéma ci-dessous. Modifier la courbe jusqu’à obtenir une forme intéressante.

Reproduire ce principe vers l’entrée Décalage du node Définir la position, avec le couple de nodes Paramètre de la Spline et Courbe de Nombre Flottant. Cela donne une courbe moins régulière du pétale.

Il faut cependant inverser cette courbure afin que ce soit plus naturel, en ajoutant un Node Maths > Maths > Soustraire () et un Node Utilitaires > Vecteur > Combiner XYZ () afin de n’agir que sur l’axe Z.

Le pétale présente une courbure intéressante, mais dans un sens seulement. Donc, pour donner une courbure dans l’autre sens, il faut modifier la Ligne de Profil qui est toujours droite.

Il faut l’incurver et pour cela il faut rajouter des points sur cette ligne. Ajouter un Node Courbe > Opérations > Rééchantillonner la Courbe () avec une valeur de 10, justa après le node de la Courbe Ligne.
Enfin, il faut reproduire le processus précédent. Ajouter dans un premier temps un node Paramètre de la Spline et Courbe de Nombre Flottant sur l’entrée Décalage du node Définir la Position.
Puis intercaler les nodes Soustraire et Combiner XYZ, à brancher cette fois sur l’axe Y.

Étant donné que la création du pétale comprend un grand nombre de nodes, on pourrait tout placer dans un cadre. Cela prendrait cependant autant de place et ne simplifierait pas la lecture pour la suite.
On peut donc créer un groupe. Sélectionner tous les nodes avec la touche A. Puis taper le raccourci CTRL (ou ) G. On peut aussi faire un Clic Droit > Créer un Groupe.

Pour afficher le contenu du groupe, cliquer sur l’icône à droite de la bande verte du node NodeGroup, ci-contre.

Quand vous affichez le contenu d’un Groupe, pour revenir à la réduction au Node NodeGroup, faire un Clic Droit > Sortir du Groupe.

Création du cœur de la Fleur la Fleur en multipliant les pétales

Intercaler un Node Courbe > Opérations > Courbe vers Maillage () et brancher sur l’entrée Courbe de Profil un Node Courbe > Primitives > Courbe Cercle (). Régler les dimensions de la ligne et du cercle afin d’être en harmonie avec le pétale.

Dans le schéma complet ci-dessus, le pétale est le Node presque complètement à gauche.
Dans un premier temps, ajouter un Node Géométrie > Fusionner les Géométries () et y connecter le pétale.
Ajouter un Node Courbe > Primitives > Courbe Ligne () et le relier également au Node Fusionner.

Rajouter entre les nodes Courbe Ligne et Courbe vers Maillage un Node Courbe > Écriture > Définir le Rayon de la Courbe () et brancher sur l’entrée Rayon un Node Courbe > Lecture > Paramètre de la Spline ().

Ajouter un Node Courbe > Opérations > Rééchantillonner la Courbe () juste après le node Courbe Ligne afin de rajouter des points à la Ligne.
Intercaler ensuite un Node Utilitaires > Maths > Courbe de Nombre Flottant () et régler la courbe pour obtenir la bonne forme, comme ci-dessus.

Pour terminer, il faut rajouter juste après le node Courbe vers Maillage, un Node Maillage > Opérations > Surface de Subdivision () pour créer du maillage sur le cœur de la fleur. Cela permettra de lui donner du relief.

Enfin, il est sage de placer tous ces nodes dans un Cadre nommé. On pourrait aussi faire un Groupe, comme pour le pétale.

Création de la Fleur la Fleur en multipliant les pétales

Intercaler entre le node Pétale et le node Fusionner les Géométries, un Node Utilitaires > Zone de Répétition (). Cela va permettre de gérér la répétition des pétales. La Pétale est normalement branché sur l’entrée Gé »ométrie du node Entrée de Répétition.
Ajouter un Node Entrée > Constante > Entier () qui va déterminer le nombre total de pétales sur la fleur et le brancher sur l’entrée Itérations. Modifiert la valeur d’Itérations à 9 par exemple. Pour l’instant cela ne produit rien.

Intercaler enter l’Entrée et la Sortie de Répétition, un node Fusionner les Géométries et rajouter un node Transformer la Géométrie, comme ci-dessous. Modifier la valeur de Rotation en Z.

On peut améliorer légèrement cette fleur en faisant tourner légèrement les pétales de sorte qu’ils se chevauchent plutôt que se rentrer dedans. Ajouter un node Transformer la Géométrie juste après le groupe Pétale et modifier la valeur X en rotation.

Il faut cependant régler un problème invisible. Le Pétale initial s’ajoute aux 9 itérations mais cela ne se voit pas car il se superpose au 9ème. Il faut donc le supprimer. Ajouter pour cela, juste avant le node Sortie de Répétition un Node Géométrie > Opérations > Fusionner selon Distance () avec une valeur de distance très faible. De fait les deux pétales superposés étant à une distance très faible ( et même nulle) l’un de l’autre, seront fusionnés.

On pourrait se contenter du résultat actuel, pour une fleur tout à fait acceptable. On va cependant apporter une amélioration en répétant les pétales obtenus vers le haut pour faire un genre de bouquet de pétales.

Sélectionner les 5 nodes du bloc de répétition et le dupliquer (SHIFT D).
Intercaler ce nouveau bloc entre le node Transformer la Géométrie et le node Entrée de Répétition du bloc initial, comme ci dessous.

Ajuster les valeurs d’itérations, à 4 par exemple, et les valeurs de rotation, sur les axes Y et Z à présent. Modifier également l’échelle afin que les duplications se réduisent au fur et à mesure.

Un autre axe d’amélioration consiste à donner un peu de relief aux pétales qui pour l’instant sont assez lisses.

Ajouter un node Géometrie > Écriture > Définir la Position () entre le dernier node Sortie de Répétition et le node Fusionner les Géométries.
Brancher un Node Texture > Texture Bruit () sur l’entrée Décalage du node Définir la Position.

Le résultat est pour le moins surprenant car l’aléatoire de la Texture Bruit s’applique pleinement. Il faut le canaliser par des calculs.

Ajouter d’abord un Node Utilitaires > Maths > Maths > Soustraire () de 0.5 pour ramener la fleur sur l’origine.

Placer à la suite un Node Multiplication Scalaire () d’échelle 0.1 pour tout rétablir et surtout atténuer l’effet de distorsion au hasard. On peut régler cette valeur pour obtenir le releif souhaité.

À présent le nombre entier initial qui détermine le nombre de répétitions initiales devrait être associé à la rotation qui permet de dupliquer initialement le pétale pour faire une fleur.
Ainsi, brancher la sortie de ce node Entier à l’entrée Rotation du node Transformation. Voir ci-dessous.

Commencer par ajouter le Node Utilitaires > Maths Maths > Diviser (), brancher le node Entier sur la seconde Entrée Valeur, en bas et régler la première valeur sur 360 pour l’angle en degrés d’un cercle.
Cela donne 360° divisé par 9, soir 40°. Cela correspond à l’angle que l’on avait saisi. Si l’on change la valeur de l’entier le résultat sera toujours un angle qui correspond à une division juste du cercle.

Intercaler ensuite un Node Utilitaires > Vecteur > Combiner XYZ () en branchant la sortie Valeur de la Division sur l’entrée Z de ce node.

Mais l’angle pour la rotation est transmis en degrés et est interprété en radians. Il faut le convertir. Intercaler donc pour cela un Node Utilitaires > Maths > Maths > En Radians () et tout rentre dans l’ordre.

Entier = 3
Entier = 8

Design collaboratif