Tutoriel : Faire un arbre avec ngPlant

SOMMAIRE :
  • 1 - Les bases
  • 2 – Conception de l'arbre : problèmes et solutions proposées
  • 3 – Réalisation de l'arbre dans NgPlant
  • 3 – Finitions de l'arbre dans Blender


  • Le but de ce tutoriel est de concevoir un arbre réaliste par sa forme et la disposition des branches.
    Ne seront pas abordées les feuilles ni les matériaux (je vous renvoie pour cela au tutoriel de Yorik van Havre : http://yorik.orgfree.com/tutorials/treemaking.html)
    Pour ce qui est des matériaux,  j'ai choisi d'utiliser ceux de Blender, donc il se peut que les méthodes expliquées ici ne soient pas tout à fait adaptées aux matériaux de ngPlant...

    1 – Les bases

    a) le tronc
    Pour commencer, cliquer sur Branch1 en bas à droite. Les réglages se font dans l'onglet Stem.
    -pour changer une valeur, cliquer sur le nombre et déplacer la souris
    -pour entrer une valeur exacte, double-cliquer sur le nombre.

    Par exemple, avec les valeurs choisies ici, on obtient ça :

    a) les branches

    Clic droit sur Branch1 et choisir Append branch – New branch
    Et on obtient.... ça :

    C'est moche, non?

    Pas de problème, ça va vite s'arranger.

    Pour les branches, il y a encore plus de réglages possibles que pour le tronc :-)


    ONGLET Branching

    ONGLET Stem : réglages différents ou supplémentaires Par exemple, avec ces valeurs, on obtient ça :


    2 – Conception de l'arbre : problèmes et solutions proposées

    a) premier problème : la répartition des brindilles

    On pourrait faire un arbre simplement, en ajoutant à chaque fois une nouvelle ramification. Cependant, on rencontre très vite un premier problème :
    Comme toutes les branches auraient alors le même nombre de ramifications, et que les branches du haut sont beaucoup plus petites que celles du bas, on voit bien qu'il y aurait alors un excès de brindilles en haut, alors qu'il n'y en aurait pas assez en bas.  

    b) première solution : Faire plusieurs groupes de branches sur le tronc, en jouant sur le Min. offset et le Max. offset

    Exemple :


    Réglages:
      - pour les branches basses:
              Min.offset à 0.10
              Max.offset à 0.60
              Density à 0.50
      - pour les branches hautes :
              Min.offset à 0.50
              Max.offset à 0.90
              Density à 0.70
    ATTENTION : il va falloir maintenant veiller à renommer vos groupes de branches, pour pouvoir vous y retrouver facilement : Clic droit et Rename

    On peut donc ainsi ramifier davantage le bas que le haut.

    c) deuxième problème : l'alignement des branches

    Si on veut faire 3 niveaux ou plus, pour affiner la silhouette de l'arbre et ne pas avoir de branches trop identiques, on se heurte à un nouveau problème: les premières branches de chaque groupe sont alignées, exactement du même côté de l'arbre :
    en vert :
          Min.offset à 0.10
          Max.offset à 0.20

    en bleu :
          Min.offset à 0.20
          Max. offset à 0.40

    en rouge :
          Min.offset à 0.40
          Max.offset à 0.60

    On voit bien3 branches, bleue, verte et rouge, parfaitement alignées... :-(


    d) deuxième solution : découper le tronc en plusieurs morceaux

    Le seul moyen que j'ai trouvé pour tourner ces premières branches, c'est de tourner le tronc. Donc pour avoir des rotations différentes, il faut des morceaux de tronc séparés...

    Comment avoir un tronc en plusieurs morceaux? exemple avec un tronc coupé en 3 :

    1
    2
    3

    Avec des rotations (ONGLET Branching, RotAngle) des différentes parties du tronc, on peut maintenant disposer les branches comme on le souhaite :-)

    exemple :

    e) conception de l'arbre à partir d'une branche

    Pour être réaliste, l'arbre va être complexe, avec beaucoup de groupes de branches...
    Pour simplifier le travail, on va le construire du tronc jusqu'à une unique branche, terminée jusqu'aux brindilles.
    On pourra ensuite rapidement ajouter les autres branches en RECOPIANT nos premiers groupes de branches.


    SCHEMA D'UNE BRANCHE
    Branche 1
    Petite branche ajoujée au bout : 1a
    Rameau ajouté au bout : 1aa
    Brindilles sur le rameau : 1aa1
    (Je fais ensuite une seconde ramification 1aa2, mais pas dessinée ici)

    le rameau 1aa est recopié, en changeant l'offset et
     l'orientation : 1ab


    les brindilles 1aa1 sont recopiées :
    1ab1 (et 1ab2)

    La petite branche 1a est recopiée
    en changeant l'offset et l'orientation : 1b
    les rameaux et brindilles de la section a sont
    recopiés : 1ba, 1ba1 (et 1ba2), 1bb, 1ba1 (et 1ba2)
    On a créé 5 branches :
    1
    1a
    1aa
    1aa1
    1aa2
    On a copié et modifié 2 groupes :
    1ab
    1b
    Pour le reste, ce n'est que des copies.
    On pourra pratiquement finir l'arbre simplement en recopiant cette branche de base.



    3 – Réalisation de l'arbre dans NgPlant

    a) branche de base

    La base fondamentale de cette réalisation est dans l'arborescence de branche expliquée ci-dessus.
    Elle doit être parfaitement finie avant de continuer, puisqu'ensuite on en fera des copies.

    On commence en laissant de côté la copie 1b de la petite branche du bout.

    La densité du groupe de branches du bas est réduite afin qu'il n'y ait qu'une seule branche pour les essais, mais vous pouvez l'augmenter si vous voulez, de toutes façons on peut tout à fait l'augmenter par la suite...


    Voilà ce qu'on obtient, avec l'arborescence :


    pourquoi ces noms? pour que l'arborescence à copier soit facile à retenir, et puis il faudra tout renommer au fur et à mesure des copies, alors, autant mettre des noms courts....

    REGLAGES CORRESPONDANTS :
    Pour le début, il est important de laisser Axis variation à 0 : en effet, les valeurs aléatoires affectent l'arbre tout entier, et rendent les réglages beaucoup plus difficiles.
    base (du tronc) - onglet STEM uniquement
    Branches du bas : 1
    Petite branche du bout : 1a
    Rameau du bout : 1aa
    Brindilles niveau 1 : 1aa1
    Brindilles niveau 2 : 1aa2
    Rameaux des côtés : 1ab - réglages modifiés de l'onglet Branching

    b) importation dans Blender

    Dès ce stade, il devient  important de tester l'arbre dans Blender, sinon, comme la visibilité dans NgPlant n'est pas terrible, on s'expose à de mauvaises surprises :-(

    2 messages s'affichent avant la sauvegarde :

    Export hidden branch groups? : comme on n'a pas caché de branches, OUI ou NON

    Export branch groups which are outside visibility range ?
    : Cela a sans doute un rapport avec le LOD (Level of Detail)  que je ne sais pas utiliser, alors OUI ou NON, ça ne change rien.

    Dans Blender : File > Import > Wavefront (.obj)...


    A ce stade, il vous faudra plusieurs aller-retours de NgPlant à Blender, vous pourrez modifier l'épaisseur des branches, changer leur inclinaison, ajouter des brindilles(Density), en retirer...
    Comme j'ai déjà fait tout ça avant d'arriver à cette image, je n'ai pas d'exemples à montrer, mais je peux vous dire que j'ai changé au moins une dizaine de fois les réglages pour arriver à ce résultat ;-)

    On remarque que même avec les précautions prises, les plus grosses branches semblent beaucoup moins ramifiées que les petites, mais bon, il faudra s'en contenter.








    c) finition de la branche de base

    Avant de recopier cette branche du bout finie sur les côtés de la branche 1, on va ajouter l'Axis variation pour la tordre.

    Branche Axis Variation
    1 0.04
    1a 0.08
    1aa 0.05
    1aa1 0.2
    1aa2 0.4
    1ab 0.05
    1ab1 0.2
    1ab2 0.4

    (Je n'en ai pas mis beaucoup, parce que ça devient vite n'importe quoi !)

    On peut maintenant recopier la branche 1a pour faire les branches 1b le long de la branche1:
    Comme ces branches vont être les plus grosses de l'arbre, on rajoute un degré de ramification en recopiant une deuxième fois les brindilles 1aa1 : aba11

    arborescence :
    dans Blender :
    J'ai fait des réjustements dans la taille et l'orientation des branches pour parvenir à ce résultat, mais une fois qu'on connaît bien l'arborescence choisie, ce n'est pas très difficile, et c'est en tout cas beaucoup plus simple que de créer les branches une à une. Si vous trouvez que les grosses sont encore trop peu ramifiées, vous pouvez doubler 2 fois les brindilles 1aa1 et 1ab1.
    POUR IDENTIFIER FACILEMENT LE GROUPE DE BRANCHES SUR LEQUEL VOUS TRAVAILLEZ, UTILISEZ LES OPTIONS Hide ET Show (clic droit sur la branche dans l'arborescence)
    A partir de maintenant, je ne mettrai plus mes réglages, ça deviendrait trop lourd. Mais si vous êtes arrivés jusqu'ici, ça ne devrait pas vous poser de problèmes... ;-)

    d) finition de l'arbre

    Il reste à faire :
    - multiplier les branches du bas (onglet Branching, Density et RevAngle)
    - ajouter sur la base le milieu du tronc (cf  §2d)
    - recopier les branches 1 sur ce milieu (1 recopié devient 2, sur 2 on va recopier 1a qui devient 2a, 1b ->2b, 1aa->2aa, 1ab->2ab.... etc.)
    c'est laborieux mais pas difficile.
    Cette fois-ci, on ne recopie pas 1ba11 (la petite branche qui avait été dupliquée pour les branches du bas)
    -Sur le milieu, on ajoute le haut du tronc (cf  §2d) qui devient la branche 3.
    Sur cette branche 3, on recopie de la même façon toutes les ramifications de 1.

    Et voilà : :-D

    Dans NgPlant...

    et dans Blender...
    Si on trouve le tronc un peu vide, on peut lui ajouter des brindilles en plus des groupes de branches existants.
    Mais bon, l'arbre tel qu'il est fait déjà 216056 vertices dans Blender... c'est beaucoup.

    4 – Finitions de l'arbre dans Blender

    Tout d'abord, clic droit sur l'arbre, et Set Smooth dans le menu Edit.
    Dans le même onglet Edit, on s'aperçoit que l'arbre importé a les matériaux de ngPlant, même si on ne les a pas utilisés : 16 matériaux.
    On va les supprimer pour n'en garder qu'un.

    Pour cet arbre, j'ai fait un matériau marron avec 3 textures :
    (+ Spec réglé à 0)



    Bon, je vous mets les réglages parce que finalement ça rend pas si mal, mais c'est un peu n'importe quoi au hasard... Vous ferez sûrement mieux ;-)

    A part ça, on peut rendre le tronc un peu moins lisse :
    En mode Edit, sans rien de sélectionner, placer la souris sur le bas du tronc et appuyer sur la touche L.

    Puis séparer la base du tronc du reste de l'arbre
    en appuyant sur la touche P

    Puis Tab - Sélectionner ce nouvel objet - Tab

    On peut maintenant remodeler le tronc, par exemple ajouter du subdivide Fractal, ou modeler des départs de racines...


    ET C'EST FINI !!!    :-D





    Tutoriel rédigé par Madeleine Crubellier - Avril 2009