Blender: guide complet de l'add-on Ivy Generator
Dans ce guide complet de l'add-on (module complémentaire) Ivy Generator pour Blender nous allons voir comment l'utiliser pour ajouter facilement du lierre à un objet, nous analyserons ses paramètres en présentant divers exemples, et enfin, puisque ce tutoriel fait partie du cours "Cours Blender: d'une photo à un mur 3D", nous l'utiliserons pour ajouter du lierre au "mur" que nous avons mis à jour dans le tutoriel précédent (Blender : comment ajouter du graffiti sur un mur).
Même s'il y a maintenant des nombreuses alternatives intéressantes (comme l'add-on Ivypen, ou des plantes générées avec des nœuds de géométrie), l'add-on Ivy Generator est toujours un outil précieux et est donc livré en standard dans Blender, donc pour le rendre disponible il suffit de l'activer .
Lançons Blender, supprimons le cube et créons un plan de 1,5 mètre de large et 1 mètre de haut (appuyez sur les touches "Ctrl+A" pour confirmer le redimensionnement). On appuie sur la touche "1" du pavé numérique pour regarder le plan de face
pour mieux visualiser les résultats de nos tests dans la "3D View", ajoutez un matériau générique au plan (sélectionnez le plan et cliquez sur le bouton "New" relatif dans les "Material Properties") et définissez une couleur rouge dans le onglet "Viewport Display"
Comment activer et utiliser le module complémentaire Ivy Generator:
Dans le menu, cliquez sur "Edit > Preferences" et dans la fenêtre contextuelle "Blender Preferences", cliquez sur l'onglet "Add-ons".
Recherchez "ivy" et cochez l'add-on "Add Curve:IvyGen"
par conséquent dans le panneau de droite dans la "3D View" (celle que nous pouvons visualiser en appuyant sur la touche "N") nous trouvons maintenant l'onglet "Create" avec l'onglet "Ivy generator" (que nous pouvons développer en cliquant sur le petit triangle à gauche)
Pour utiliser le générateur de lierre, nous devons sélectionner un objet, sur lequel le lierre va "grimper", et un point de départ qui est représenté par le "3D Cursor".
Étant donné que le point de départ doit généralement être sur ou près de l'objet, nous placerons le "3D Cursor" dessus; nous pouvons le faire de différentes manières, soit en le positionnant à la main (avec Shift+bouton droit de la souris), soit en le déplaçant de manière à chevaucher un sommet de l'objet (en entrant dans le "Edit Mode", en sélectionnant le sommet et en appuyant sur "Shift+S", puis en sélectionnant l'option "Cursor to Selected"). Dans notre cas, il suffit de le positionner à la base du rectangle donc, connaissant ses mesures, il suffit de mettre la valeur Z=-0.5 au "3D Cursor" dans l'onglet "View" du panneau sur le droite
Nous sélectionnons le plan, cliquez sur le panneau de droite sur le bouton "Add New Ivy", dans l'onglet de l'add-on que nous venons de voir
et le lierre apparaîtra, grimpant au niveau que nous avions créé,
composé d'un ensemble de branches et d'un groupe de plans dans lesquels nous devrons plus tard insérer les feuilles comme textures.
Si nous regardons en bas à gauche, nous remarquons qu'une fenêtre contextuelle est apparue, avec un bouton "Update Ivy" à l'intérieur
celui-ci est utilisé par l'utilisateur pour modifier/mettre à jour l'installation à chaque fois qu'il modifiera une valeur dans les paramètres de la fenêtre de droite.
Attention! La structure créée par l'add-on Ivy Generator est considérée comme n'importe quelle autre primitive créée dans Blender (cube, cylindre, etc.) donc lorsque vous sélectionnez un autre objet, ou effectuez une autre opération, cela ne sera plus possible pour modifier ses paramètres. Par conséquent, il est toujours préférable de passer à un autre travail uniquement lorsque vous avez définitivement terminé la configuration de la plante de lierre.
Configurer les paramètres du générateur Ivy:
Comme nous l'avons déjà vu précédemment, la plante générée par l'add-on est régulée par plusieurs paramètres que vous retrouvez dans le panneau de droite, que nous passons en revue en détail ici
Notons tout d'abord deux boutons pour générer la plante de lierre: "Add New Ivy" permet de créer une plante en traitant les paramètres que nous avons modifiés, tandis que "Add New Default Ivy" crée à la place une plante avec les paramètres par défaut du add-on, avec les valeurs présentes avant que nous les changions.
Voyons les autres variables, qui sont regroupées en sections
Generation Settings:
Contient les paramètres généraux pour la génération de l'installation
- "Random Seed": les branches sont générées aléatoirement et chaque génération aléatoire dépend d'un paramètre appelé "graine", dont dépend l'ensemble des valeurs générées. Donc pour une graine "Random Seed:0" une plante d'une certaine forme sera générée
pour "Random Seed:1" un autre d'une autre forme
pour "Random Seed:2" un autre
etc
- "Maximum Time": indique le temps maximal disponible pour la génération de la plante de lierre (mesuré en secondes). En fait lorsque, pour diverses raisons, nous augmentons le nombre de branches et de feuilles, le nombre de sommets augmente également et le système peut prendre beaucoup de temps pour terminer l'opération, donc fixer une limite de temps maximale pourrait éviter les blocages et les ralentissements indésirables.
Si nous laissons la valeur 0.00. aucune limitation ne sera appliquée et l'opération ne se terminera que lorsqu'elle sera terminée.
Size Settings:
- "Max ivy length": ce paramètre indique la longueur (en mètres) maximum du plant de lierre. Dans notre cas, par exemple, le plan mesure 1 mètre de haut, donc si nous définissons "Max Ivy Length: 0.5m", le lierre atteindra la moitié du plan
tandis que si nous utilisons 1 mètre comme valeur avec "Max Ivy Length: 1m", le lierre atteindra presque le bout du plan
cependant, le lierre généré par le Ivy Generator essaiera de toujours adhérer à la géométrie de l'objet auquel il a été appliqué, donc si nous donnons une valeur supérieure à la hauteur du plan, par exemple "Max ivy length:2m", le lierre ne continuera pas au sommet, mais s'arrêtera au bord supérieur du rectangle puis retombera (comme il le ferait aussi dans la réalité)
- "Ivy Size": chaque branche générée par l'add-on est composée de plusieurs segments, dont ce paramètre représente la longueur
si on double la valeur (de 0.02 à 0.04) la longueur du segment doublera et aussi la ramification sera moins intense pour la même longueur de la plante
- "Max Float Length": représente la distance maximale de flottement qu'une branche peut avoir, plus elle est grande plus les branches de lierre seront libres dans l'air.
- "Max Adhesion Length": indique dans quelle mesure les branches du lierre, qui grimpe sur l'objet, seront affectées par les effets de l'adhérence à l'objet de référence.
Pour mieux expliquer la signification de ces deux paramètres, créons un exemple simple avec un cube, avec le même matériau que le plan, appuyons sur la touche "TAB" pour entrer en "Edit Mode" et sélectionnons les deux sommets du bord sur le devant, en bas
Nous appuyons sur les touches "Shift+S" en sélectionnant l'option "Cursor to Selected"
déplaçant ainsi le "3D Cursor" au centre de gravité de la sélection, c'est-à-dire au milieu du bord sélectionné
Appuyez sur la touche "TAB" pour revenir au "Object Mode" et créez un lierre en appuyant sur la touche "Add New Ivy". Nous définissons "Max Ivy Length:2m" pour que le lierre "grimpe" également sur la face supérieure. Appuyez sur le bouton "Update Ivy" en bas à gauche pour appliquer le changement
Appuyons maintenant sur la touche "3" du pavé numérique pour regarder le cube de côté
on remarque que le lierre remonte la face verticale du cube, avec des vrilles flottant dans l'air, puis remonte la face supérieure en y adhérant de plus en plus.
Si nous augmentons maintenant le paramètre "Max Float Length" de 0.5 à 1, les vrilles flotteront encore plus dans les airs avant de s'étaler sur la face supérieure
et le maximum de "chaos" sera atteint en fixant des valeurs même faibles pour "Max Adhesion Length", par exemple 0.1, diminuant la capacité "d'ancrage" de la plante
au contraire, pour des valeurs faibles de "Max Float Length" (0.1) et des valeurs élevées de "Max Adhesion Length" (2.0) le lierre va "s'aplatir" à la surface du cube.
Weight Settings:
Comme nous l'avons vu dans les exemples précédents, le lierre pousse dans une certaine direction, selon un certain aléa (nous avons vu précédemment comment fixer la graine pour la génération aléatoire des branches), tient compte de la force de gravité et essaie d'adhérer à l'objet que nous avons sélectionné.
Pour mieux voir les branches, décochez l'option "Grow Leaves" (ne nous faisons pas grandir les feuilles sur la plante) en bas
Voyons maintenant les paramètres:
- "Primary Weight": c'est un poids qui influence la croissance selon la direction dominante; s'il a une valeur faible (0.1) les branches ne s'étireront pas pour grimper
s'il a une valeur intermédiaire (0.5) certaines branches s'allongeront complètement, mais certaines garderont une attitude intermédiaire,
pour les valeurs élevées toutes les branches s'étendront autant que possible
- "Random Weight": indique dans quelle mesure le caractère aléatoire affecte la croissance. Si la valeur est élevée le lierre poussera au hasard, dans toutes les directions au hasard, si elle est faible le lierre poussera plus droit.
La valeur par défaut est de 0.2 pour laquelle la plaine se développera comme ceci
pour les valeurs faibles (par exemple 0.01) les branches pousseront droites, car la direction primaire prévaudra
tandis que pour des valeurs élevées (ex: 1) le développement des branches sera plus chaotique
- "Gravity Weight": représente l'influence de la gravité sur la croissance des plantes.
- "Adhesion Weight": représente l'influence de l'adhésion à l'objet de référence sur la croissance de la plante.
Plus la valeur représentant l'adhérence est élevée, plus le lierre sera "collé" à la plante, tandis que si l'adhérence est faible et que le poids de la gravité est assez élevé, la plante "tombera au plan".
Avec les valeurs par défaut (Gravity Weight=1, Adhesion Weight=0.1) le lierre adhère au mur mais les branches peuvent flotter avec une certaine liberté, s'écartant légèrement du mur.
si nous augmentons le poids d'adhérence (Adhesion Weight=0.5) les vrilles seront plus concentrées sur la surface de l'objet de référence.
Si au contraire nous augmentons la gravité et diminuons l'adhérence du lierre au mur (Gravity Weight=3, Adhesion Weight=0.01), la plante sera arrachée par le poids et tombera
Branch Settings:
- "Branching Probability": indique la probabilité de ramification de la plante. La valeur par défaut est 0.05, pour laquelle nous avons plus de branchement à droite et moins de branchement à gauche.
Avec une valeur faible (0.01), seules quelques branches se formeront
tandis que pour une valeur dix fois supérieure (0.5) la ramification initiale sera très intense
- "Ivy Branch Size": représente le rayon du "cylindre" qui représente chaque segment d'une branche. La valeur par défaut est 0.001, mais nous pouvons l'augmenter à volonté. Par exemple avec 0.004 nous aurons
Grow Leaves:
En cochant cette option, les feuilles et leurs options apparaissent (grandissent). Il peut être utile de générer un lierre sans feuilles, à la fois pour faire des tests plus légers avec moins de sommets, et parce qu'on peut utiliser ce générateur pour créer d'autres types d'objets, comme un système veineux d'un corps humain ou des compositions abstraites complexes par exemple.
En cochant l'option "Grow Leaves", les deux derniers paramètres de cet add-on apparaîtront également.
Leaf Settings:
- "Ivy Leaf Size": indique la largeur que doivent avoir les feuilles, en particulier il indique la largeur d'une demi-feuille ; en fait avec la valeur par défaut 0.02 on crée une plante avec des feuilles de cette taille
- "Leaf Probability": représente la probabilité que des feuilles se forment sur la plante. Avec la valeur par défaut de 0.35, la couverture est partielle et concentrée vers les parties des branches les plus éloignées des racines
en fait, si nous diminuons la valeur à 0.05, quelques feuilles ne pousseront que sur l'extrémité extrême des vrilles
tandis que si nous augmentons la valeur, de plus en plus de feuilles pousseront vers la racine de la plante, jusqu'à ce qu'elles la recouvrent entièrement; en fait, si nous définissons "Leaf Probability" sur 1, il en résultera
Comment enduire la surface d'un objet à l'aide du Ivy Generator:
Voyons maintenant comment nous pouvons utiliser le lierre pour couvrir toute la partie supérieure d'un objet, par exemple le cube (de taille 1x1) que nous avons utilisé plus tôt dans les exemples.
Comme dans les exemples précédents, nous créons le lierre dans la même position, en plaçant le "3D Cursor" au milieu du segment inférieur du cube (en sélectionnant les points extrêmes comme précédemment et en appuyant sur les touches "Shift+S")
Créons notre plante de lierre en "Object Mode", en sélectionnant le cube et en cliquant sur le bouton "Add New Ivy"
Pour couvrir toute la surface supérieure et créer plus de vrilles pendantes, nous attribuons la valeur "Max Ivy Length: 7m", ce qui est bien supérieur aux 2,5 mètres nécessaires, car nous devons nous assurer que presque toutes les branches atteignent une longueur suffisante. Cliquons donc sur le bouton "Update Ivy", en bas à gauche, pour reconstruire la plante en fonction des valeurs modifiées.
(Si votre ordinateur est lent, plus de trois millions de sommets seront créés, vous pouvez définir une limite de temps dans "Maximum Time")
On obtient alors
La surface supérieure a été recouverte, cependant les vrilles ne descendent pas bien vers le bas, on augmente donc l'influence de la gravité avec "Gravity Weight: 2"
Eventuellement vous pouvez diminuer "Branch Probability" ou "Leaf Probability" si votre ordinateur est lent à calculer, car plus on augmente la longueur des branches, plus les bifurcations se forment avec une probabilité égale, ou légèrement diminuer "Gravity Weight" si vous veulent montrer les branches moins droites et augmenter leur fluctuation au-dessus du cube. A vous de modifier selon vos préférences.
Matériaux des branches et des feuilles dans le Ivy Generator:
Pour attribuer un matériau aux branches il suffit de sélectionner le "IVY_Curve", présent dans le "Outliner" en haut à droite
et dans l'onglet "Material Properties", cliquez sur le bouton "New" pour créer un matériau comme d'habitude.
Pour attribuer un matériau aux feuilles, sélectionnez "IvyLeaf" à la place
et créez à nouveau un nouveau matériau. Lorsque l'on va attribuer la texture aux feuilles, dans l'"UV Editor" on constate que les projections des feuilles sont toutes superposées, on verra dans le prochain exemple pratique comment gérer cette situation.
Exemple pratique, ajoutons du lierre au mur:
Pour expliquer comment ajouter un matériau aux feuilles, prenons l'exemple blender_add_graffiti_wall_display_modificator.blend du tutoriel (Blender: comment ajouter du graffiti sur un mur) pour terminer le travail en ajoutant un lierre.
Nous pourrions utiliser l'un des sommets de la grille de subdivision pour placer le "3D Cursor"
mais comme le plan est sur l'axe X et qu'on connaît ses dimensions, on positionne le "3D Cursor" à la main au point (x: 0.66 mètres, y: 0 m, z: -0.6m) dans l'onglet "View" du panneau de droite, celui qui apparaît en appuyant sur la touche "N".
On sélectionne le plan représentant le mur puis, toujours dans le panneau de droite, on clique sur l'onglet "Create" et dans l'onglet "Ivy Generator" on clique sur le bouton "Add New Ivy".
Pour que le lierre atteigne le haut du mur, on attribue la valeur "Max Ivy Length: 1.7m", puis on clique sur le bouton "Update Ivy" en bas à gauche et on obtient
Comme nous l'avons vu précédemment, pour attribuer un matériau aux branches, nous devons sélectionner "IVY_Curve" dans le "Outliner", puis dans l'onglet "Material Properties", puisque l'image est petite et que les vrilles de lierre sont à peine visibles, nous créons un matériau simple composé d'un seul shader node "Principled", avec "Base Color:#463526" (les autres paramètres ont les valeurs par défaut).
(Si les branches de lierre avaient été plus proches de notre point de vue, nous aurions pu créer une texture en mélangeant deux variétés de brun, en insérant une "Noise Texture" ou une "Voronoi Texture" dans le port "Fac" du "Mix Color")
Téléchargeons les textures pour les feuilles de la plante depuis https://ambientcg.com/view?id=LeafSet017; l'archive zippée (pour télécharger au moins la version 4K car on ne s'intéresse qu'à une partie de chaque image) contient plusieurs fichiers, notamment une version "Color" (c'est à dire la "photo" des feuilles), "Opacity" (qui est un masque qui définit le profil des feuilles, car une version png transparente n'est pas disponible), "Displacement", "Roughness" et le normal "NormalDX" (pour les logiciels qui supportent les bibliothèques DirectX) et "NormalGL" (pour les logiciels qui utilise les bibliothèques OpenGL). Pour les formats normaux et les matériaux PBR voir aussi le tutoriel "Tutoriel Blender: matériau PBR pour un mur de briques".
On découpe (avec un logiciel de graphisme 2D) de LeafSet017_4K_Color la feuille qui nous intéresse (qui heureusement se positionne en haut à gauche)
et nous utilisons sa sélection pour obtenir également les autres cartes (dans Blender, nous n'utiliserons que celle normale pour les bibliothèques OpenGL)
Sélectionnez "IvyLeaf" (le plan représentant les instances de toutes les feuilles) dans le "Outliner"
et comme pour les branches on crée un nouveau matériau "Leaf" dans l'onglet "Material Properties", en cliquant sur le bouton "New".
Cliquez maintenant sur l'onglet "UV Editing" pour accéder à l'espace de travail associé.
Dans "UV Editor" à gauche, nous chargeons l'image de la feuille de lierre, en cliquant sur le bouton "Open Image"
Il faut maintenant bien positionner la "UV Map" pour que le plan coïncide bien avec le début de la feuille (sinon les feuilles se détacheraient des branches ; même si dans certains cas les feuilles sont pénétrées par les branches, on aurait donc chercher l'image d'une feuille avec tige, pour pouvoir gérer une certaine marge d'erreur). Dans la "3D View" à droite, appuyez sur la touche "TAB" pour entrer dans le "Edit Mode""
mais on remarque qu'à gauche, dans l'"UV Editor", un plan blanc est apparu qui nous empêche de voir l'image sous-jacente.
Qu'est-il arrivé? Il n'y a pas d'erreur, ce sont simplement tous les plans des instances de feuilles qui se sont superposés, additionnant ainsi les nombreuses transparences pour former une couleur opaque. En fait, si nous essayons de déplacer un sommet, nous découvrons qu'il y en a d'autres en dessous
modifions ensuite les valeurs de transparence dans l'éditeur: sélectionnez "Edit > Preferences" dans le menu principal et dans la fenêtre des préférences sélectionnez l'onglet "Themes", dans "UV/Image Editor" modifiez les valeurs de transparence de "Face" (0.004) et "Face Selected" (0.008)
Nous pouvons maintenant (en sélectionnant et en appuyant sur les touches "G" et "R" selon les directions X et Y) redimensionner la carte de maillage plus confortablement
On accède à l'espace de travail "Shading" en cliquant sur l'onglet relatif en haut, puis dans le "Shader Editor" on connecte la texture de couleur ("Add > Texture > Image Texture" et chargement de l'image relative) à la "Base Color" port du noeud "Principled", la texture de rugosité vers le port "Roughness", la texture "NormalGL" vers le port "Normal" en utilisant le noeud "Normal Map" ("Add > Vector > Normal Map").
A part la texture qui représente la couleur (la photo de la feuille), les autres doivent toutes avoir défini "Color Space: Non-Color".
Connecter les textures au port "UV" d'un node "Texture Coordinate" ("Add > Input > Texture Coordinate") indique qu'on va utiliser la "UV Map", préalablement visualisée et redimensionnée, pour afficher correctement les textures.
La texture "Opacity" sert à donner des indications sur quelles parties sont visibles et lesquelles sont transparentes, nous la connectons donc au port "Alpha" du shader.
Alternativement, si par exemple on a besoin d'ajouter un effet de translucidité à la feuille, on peut utiliser la texture "Opacity" pour mixer en aval le résultat obtenu avec un shader "Transparent" ("Add > Shader > Transparent").
Si nous rendons, en appuyant sur F12,
on remarque que quelques feuilles et branches pénètrent dans le mur de briques
ou des feuilles qui parfois ne partent pas de la vrille mais que la branche les traverse. Dans ce cas, vous pouvez agir en "Object Mode" en déplaçant toute la plante de quelques centimètres, ou en activant "Proportional Editing" en "Edit Mode" pour ne déplacer qu'une partie d'une branche (les feuilles relatives devront également être déplacées ensuite)
Ou, pour alléger la scène en éliminant certains sommets, on peut éliminer les feuilles et les branches qui ne sont pas visibles et qui ne nous intéressent pas en "Edit Mode": se placer en vue de côté (en appuyant sur la touche "3" du pavé numérique) à l'aide de la sélection rectangulaire on peut sélectionner les sommets des feuilles qui sont invisibles, ou peu visibles car derrière le mur, en mode "wireframe"
puis en appuyant sur les touches "Ctrl+L" nous sélectionnons automatiquement les parties restantes des feuilles
que nous pouvons supprimer en appuyant sur la touche "X".
Voici le résultat après un premier traitement, après avoir repositionné/tourné certaines feuilles, déplacé certaines branches etc. en "Edit Mode"
Pour ce tutoriel sur l’add-on Ivy Generator est tout. C'est un outil précieux surtout lorsque nous devons modéliser la végétation qui recouvre des maisons abandonnées, des châteaux, des monuments anciens ou autres, pour lesquels nous pourrons créer encore plus de plantes de lierre, en faisant très attention à une augmentation exponentielle des sommets de la scène. Happy blending!
Retour au cours "Cours Blender: d'une photo à un mur 3D"