TreePainter V2 par Clovis Gay

By 11/11/2012Actualités, Blog, Invités

Voici un script qui m’a tapé dans l’oeil direct, TreePainter! Du coup j’ai eu envie de rentrer en contact avec son auteur, Clovis Gay, pour en savoir plus sur ce script. Malheureusement encore en beta privé j’espère bien que ces quelques lignes vont lui faire accélérer un peu la prod et déboucher sur d’une beta publique 😉

Histoire de vous mettre tout de suite dans le bain, voici une petite vidéo qui présente les fonctionnalités du script, je vous laisse imaginer le potentiel:

Introduction

Tout d’abord graphiste généraliste, Clovis s’intéresse à tout ce qui touche les personnages, modeling, rigging, fx… Il a commencé MaxScript il y a 2 ans et: « Après en avoir compris le potentiel, je n’ai jamais arrêté! » Que ce soit d’ailleurs pour du rigging ou des outils très différents. Au passage, Clovis est à la recherche d’un poste de Character TD, Rigger. Je lui laisse maintenant la parole pour vous présenter son travail.

TreePainter v2

Au travail, et aussi personnellement  je trouve bien d’utiliser des librairies d’arbres tout faits. Ils sont souvent très jolis, mais le problème c’est qu’ils ne sont pas animés. En dehors d’une image fixe, je trouve que des arbres qui bougent dans une vidéo ajoute beaucoup plus de vie.

Bon il existe des plugins de type GrowFX ou OnyxTree, mais je les trouvait peu intuitifs et surtout le problème dans ce type d’outil c’est que dès que tu veux t’éloigner des fonctions incluses tu est bloqué… Donc développer mon propre outil me permettait d’en faire ce que je souhaitait et d’ajouter autant de fonctionnalités qu’on puisse
imaginer et détourner son utilisation première quand bon me semble. J’aime aussi beaucoup les fonctions de peinture incluses dans le logiciel SpeedTree.
J’avais déjà fait plusieurs tentatives d’outils pour la création d’arbres:

Basé sur Particle Flow

Basé sur des algorithmes de type Lsystem

Le temps de travail doit être d’environ 1 semaine. C’est le résultat de plusieurs tests et scripts que j’avais déjà fait comme mes outils Spline-Tracer et Ultimate- Painter. Je développe uniquement en Maxscript (en Python bientôt). Mes outils sont donc surtout le Maxscript Listener, l’aide Maxscript de 3dsmax, scriptspot et divers forums. En général je commence d’une simple idée, dérive et trouve une autre utilité et de nouvelles options à ajouter.L’idée de base c’est un cylindre avec un taper puis un path deform sur une spline. Suite à ça, je savais comment dessiner une spline, le reste est venu au fur et à mesure.
Dessiner une spline dans le plan de la vue avec un cylindre déformé le long. Un très grand nombre d’actions sont réalisées à chaque mouvement de souris.
Il serait extrêmement long d’essayer de créer un arbre de ce type à la main dans 3dsMax, même si c’est tout à fait possible. Le Maxscript ne fait que reproduire des actions faisables à la main (ou presque) mais vous métriez réellement des jours à faire ce que cet outil fait en quelques minutes.
Une fois le tronc dessiné, il faut dessiner des branches, donc le script détecte selon l’endroit ou vous cliquez la position sur la spline la plus proche, ou si vous ne cliquez pas sur le tronc, il détecte que vous créez un nouveau tronc. Et ainsi de suite vous pouvez peindre des branches sur des branches sur des branches à l’infini. Je me suis dit c’était bien de peindre un tronc et des branches mais il faudrait pouvoir les déformer et les animer à la main, ou ajouter du vent. Donc chaque branche dès qu’elle est dessinée se rig toute seule et l’anim de pousse est générée automatiquement, indépendamment du vent ou de l’anim keyframe que vous pouvez faire sur chaque branche.

Créations des branches

Le diamètre de la branche est calculé selon le diamètre de la branche parent à l’endroit cliqué. Vous avez ensuite accès à différentes options selon la hiérarchie des branches, diamètre, subdivs, épaisseur à la pointe, Uv, noise,
twist…etc.

Options et variantes

Vous pouvez ensuite créer vos mesh de feuillage, ou purement du mesh ou alors des plans avec de l’alpha. Tout dépends de l’utilisation finale, pour du rendu il me semble que du pur mesh rends tout de même plus vite que de tenter de projeter des ombres au travers d’une map alpha. La première version de l’outil créait toute seule l’animation de pousse (un scale et des rotations). Dans la V2, je voulais donner la possibilité de créer des animations plus complexes. Donc maintenant c’est à l’utilisateur de créer une animation sur chaque mesh de feuille qu’il souhaite utiliser. On peut vite arriver à des résultats assez fun et utiliser les modifiers de max, bend twists…etc, pour créer des animations avec une l’inertie réaliste ou des choses plus motion graphics ou cartoon. Une fois cette animation de pousse crée, il suffit de picker les meshs de feuilles créés et de les répartir sur les branches à l’aide du script. Vous pouvez au choix activer leur répartition sur le tronc ou les divers ages de branches. Les animations de pousse que vous avez crées seront décalées automatiquement pour suivre l’animation de pousse des branches. Une fois votre arbre créé vous pouvez changer le scale de l’arbre et sa vitesse de pousse, puis baker son animation en point cache ou en mesh fixe.

Répartitions des feuilles

[dropcap2]3 [/dropcap2]A venir

 Les dernières options ajoutées furent la détection de surfaces, le vent, et l’animation de feuillage custom. Ce qui est intéressant avec la détection de surfaces c’est que vous pouvez l’activer quand vous le souhaitez et surtout cela vous permet de peindre non seulement par dessus un sol, mur…etc, mais aussi sur la surface des branches déjà dessinées. Le plus compliqué à été de trouvé la manière la plus légère de simuler une sorte de vent, tout en gardant dans le viewport un arbre suffisamment fluide à animer (utiliser des springs controllers ou du flex était donc exclu, j’ai du développer un méthode perso). Pour l’instant il n’y a pas de Beta prévue, j’espère pouvoir vendre mes scripts bientôt, il y en aura peut-être une avant. Pour le moment, j’ai commencé à tester des options de pousse automatique du type Ivy generator.

 

En espérant pouvoir tester son script et le voir rapidement sur le marché, je vous invite à découvrir tout le travail de Clovis Gay sur son portfolio et à regarder ses differentes démo: Rigging // Tools // Fstretch pour Softimage // OverMorpher

Join the discussion 7 Comments

  • Pierre O dit :

    Impressionnant, vivement que ce script soit accessible car c’est vrai que des arbres qui bougent, on en veut tous. 🙂
    Beau travail!

  • bakho dit :

    Ça défonce ! Perso je suis fan de Grow fx mais cette méthode de dessiner les branches est géniale !
    Le top serait de générer automatiquement les plus petites branches une fois qu’on est content avec le tronc et les branches principales, sinon ça peut devenir vite très long si on veut un arbre vraiment réaliste.

  • PIRAS Oswald dit :

    Joli petit script Clovis. J’en avais déjà entendu parler par un pote que tu dois connaitre aussi qui est patron d’une boite sur angoulême ou j’ai travaillé. Si j’entends parler d’un poste de rigger, au passage, laisse moi tes coordonnées.
    Oswald.

  • Roland "B" dit :

    Très beau script en effet, félicitations à l’auteur et merci à Matt de le nous faire partager.
    Reste plus qu’à l’attendre avec impatience !

  • Clovis dit :

    Super Oswald,
    mon contact : rauquenrol@yahoo.fr

    merci pour les remarques les gars

  • AXYZ dit :

    Ceci est bien alléchant ! Merci pour le partage ! Sur le même sujet il y avait un script qui se nommait « ARBORETUM » qui lui aussi était sympa et dans le même esprit que celui-ci et fonctionnant pas mal. Je l’avais acheté il y a au moins 3/4 ans. L’auteur était Gaël le Golvan, si mes souvenirs sont exacts, mais plus vu depuis un bon moment…

  • Raistlin dit :

    Absolument géant Clovis, et encore un français talentueux 🙂 Franchement c’est superbe, et si tu sors ton script avec suffisamment de réglages pour générer des structures naturelles complexes, des feuilles précises je peux t’assurer faire parti des premiers acheteurs!