Au programme du jour une review du Laubwerk Plants et de son Laubwerk Plugin de chez le jeune éditeur Laubwerk !
Il y a quelques semaines j’ai renouvelé ma souscription Forest Pack Pro et en me baladant sur le Store j’ai remarqué l’ajout de la bibliothèque Laubwerk. Forcément ça m’a intrigué alors je me suis dit que ce serait sympa de tester ce plugin et la bibliothèque qui va avec !
Laubwerk Plugin
Avant de commencer à vous parler de la bibliothèque de modèle d’arbres 3d qui va avec on va s’intéresser au plugin. Parce-que oui, avant tout c’est un plugin ! Ca me rappelle d’ailleurs ce qu’offrait XFrog avec Maya, mais cela n’a jamais vraiment été porté sur 3ds Max. Ce qui est dommage parce-que je trouve qu’il y a clairement un manque d’offre dans le domaine. Autant Forest Pack Pro est clairement devenu le leader du scattering, autant l’ancienne école Evermotion (pour ne citer qu’eux) qui consiste à faire des modèles haute-defs et vous laisser vous débrouiller avec commence à vieillir un peu… Il y a bien SpeedTree qui a fait ses preuves dans le domaine mais j’avoue que je n’ai jamais pris le temps de l’essayer. Au passage petit spotlight sur le travail d’Attlia3D sur le forum > Résidence en Corse.
Tout ca pour dire que je pense qu’il y a de la place pour une offre qui consiste à rajouter un plugin pour gérer la végétation et le chargements des modèles dans 3ds Max, Forest Pack Pro le fait d’ailleurs avec les bibliothèques de 3dMentor. On le sait tous, parcourir la bibliothèque pour choisir un modèle, l’importer dans 3ds Max et retoucher le mesh si besoin, refaire les liens avec la biblio sur le disque réseau pour que tout le monde soit content et retoucher les shaders parce que la refraction et le transluency dans un shader de feuilles c’est bien mais pas pour combler l’horizon d’une pers extérieur… Ce pipeline commence a vieillir un peu et Laubwerk cherche justement à l’optimiser avec son plugin.
L’interface est simple et efficace : vous lancez la bibliothèque, sélectionnez l’arbre qui vous intéresse et enfin le moteur de rendu avec lequel vous bossez. Une fois que c’est fait l’arbre se charge rapidement le plugin se load. Comme je vous le disais : simple et efficace ! Le modèle affiché dans le viewport est franchement plus pratique que de passer les arbres en mode Box puisqu’il permet de bien voir le volume de l’arbre et donc de le placer sans forcément lancer un rendu. Il existe deux autres modes de Preview : Geometry et Skeleton, le mode Skeleton est vraiment top pour placer l’arbre précisément sans trop plomber votre FPS.
Avant de passer aux options de l’arbre, voici un petit détail sur les options qui permettent d’optimiser votre Laubwerk Object :
Import Scale
Tout simplement pour convertir la taille de l’arbre dans une autre unité. Pas grand chose à préciser sur le sujet. Encore une fois c’est simple et ça marche.
Level of Detail
Le Cull by Thickness va vous permettre d’utiliser comme base d’optimisation la taille des branches. Ainsi vous spécifier un radius et ci une branche le dépasse elle sera masquer par le plugin. C’est vraiment pratique d’avoir le retour en temps réel du nombre de polys qui constituent l’arbre pour optimiser au maximum et conserver un aspect graphique correct.
Le Cull by Level lui il fait l’inverse et travaille sur la densité des polygones par niveaux. Les niveaux étant basé sur la géométrie du tronc, ainsi le tronc est 1, la première ramification est 1 est ainsi de suite. Le nombre de subdivisions sont également basé sur ce système ce qui fait que rajouter des subdivisions aura un maximum d’influence sur le tronc et les premières ramifications mais n’en aura que très peu sur les toutes petites branches. Du coup pour optimiser vous pouvez rajouter des subdivisions et en même temps baisser le Maximum Level pour enlever les plus petites branches.
Pour terminer le Leaf Amount qui permets simplement de baisser le nombre de feuilles tout en les agrandissant pour ne pas perdre la sensation de volume de l’arbre. Sur l’image, de gauche à droite : 100% – 50% – 25 % – 100% – 100% et 100%. A la base les modèles font 826 454 polys, le fait de réduire à 25% l’a fait descendre à 532 249. Au rendu c’est clairement visible ceci dit les versions optimisés ne me choquent pas, au contraire le fait de grossir les feuilles est vraiment top pour conserver une certaine densité. L’optimisation est à utiliser en fonction de la résolution puisque des feuilles trop grandes au rendu c’est pas vraiment pas top ^^
Le seul point négatif du plugin c’est le temps de lecture des fichiers. Certes c’est toujours plus rapide que d’aller fouiller dans un .pdf et de charger le fichier, mais malgré le fait d’avoir installer tout ça sur un SSD je trouve tout de même les temps de chargements relativement lent. Je vous rassure c’est l’affaire de 3/4 secondes par arbre mais c’est vrai que quand on copie un objet (en mode copy) le plugin recharge le fichier. Pour en avoir discuté avec le dev, le problème vient du chargement des différents modes de viewport en même temps. En fait le plugin charge les 3 versions du fichier à savoir : Convex Hull – Geometry et Skeleton, du coup le changement de mode d’affichage devient moins long mais le chargement du fichier plus long. Ceci va être corrigé dans la prochaine version du plugin et il se passera l’inverse avec par-dessus un système de cache pour minimiser les temps de chargements, que demander de plus ? 😉
Pour conclure sur la partie plugin j’avoue que l’optimisation du Viewport pourrait être amélioré. Par contre niveau optimisation au rendu j’ai trouvé ça vraiment bien, il vous faudra quelques minutes pour prendre le truc en main mais une fois que c’est fait c’est simplissime à utiliser. Je n’ai qu’un seul regret l’optimisation n’est pas automatique selon la distance de la camera. Mine de rien ce serait top d’avoir un Treshold général d’optimisation pour tous les Laubwerk Objects présent dans la scène et de les optimiser en fonction de leurs distance par rapport à la distance de la caméra.
Laubwerk Tree
La bibliothèque disponible dans le Plant Kit 01 parait maigre de premier abord, seulement 10 arbres. Mais en fait il n’en est rien puisque chaque arbre comprend 3 variantes, elles-mêmes multiplié par 3 variantes selon l’age de l’arbre et encore une fois multiplié par 4 saisons, au final chaque arbre comprend 36 versions ! Ce qui revient à dire que contrairement aux apparences le Plant Kit 1 qui parait « radin » à première vue est en fait tout ce qu’il y a de plus généreux avec 360 arbres ! Voici une petite vue de l’arbre Red Maple et toutes ces variantes.
Un dernier point sur les shaders des arbres : enfin des shaders simples !!! Quand je fais un rendu d’extérieur je passe plus de temps à nettoyer des shaders que de réellement les travailler. Ici les shaders sont on ne peut plus simple : les maps, point barre ! J’ai noter que les maps sont chargés pour toutes les variantes, cela complique le shader et force 3ds Max a charger les maps, c’est dommage de ne pas avoir utilisé une node VRayMultiSubTex pour caler les différents bitmaps et dissocier les variantes.
Je préfère toujours m’occuper moi-même des shaders et surtout j’aime le fait de ne plomber mes feuilles avec un Blend ou de la Transluency que si j’en ai vraiment besoin. Disons que pour une fois je vote pour le nivellement par le bas 😉 Après je dois reconnaître que des shaders bien fait et bien optimisé serait les bienvenus, le truc étant d’avoir le choix et ainsi répondre à tous type de besoins. Je le vois bien intégré avec la notion de distance camera : « si tu es loin je baisse tes subdivs et utilise le shader le plus simple ».
Tout ca pour dire qu’a l’inverse des autres fournisseurs de modèles d’arbres, ici vous partez d’un truc simple que vous plombez comme vous voulez alors que d’habitude il faut nettoyer pour ensuite plomber à sa façon.
Pour finir, voici un des arbres a sa pleine résolution avec le shader par defaut.
Intégration avec Forest Pack Pro
Evidemment le plugin est 100% compatible avec Forest Pack Pro. Laubwerk est jeune et plein de bonnes intentions alors je parie que les features du plugin ne vont cesser de grandir. Pour en avoir discuté rapidement avec le dev sachez qu’une intégration plus poussé dans Forest Pack Pro est au programme. Je ne sais pas exactement de quoi il en retourne mais je parierai sur une détection automatique des Laubwerk Objetcs qui déboucherait sur des paramètres de Randomness directement sur les arbres (variantes etc.) et de l’intégration des maps de Couleur de Forest Pack Pro directement dans les shaders des Laubwerk Objects et enfin l’optimisation par rapport à la distance caméra.
La seconde feature que j’aimerais vraiment voir venir c’est le vent ! Un truc ultra-simple style : Vitesse – Turbulence et Direction. Rien de plus, juste un truc qui marche sans poser de questions ! Ceci dit c’est à prendre avec des pincettes mais sur le long terme je pense que ça viendra ;)Pour terminer sur le couple Forest Pack Pro et Laubwerk je tiens à préciser que les ralentissements causés par le Laubwerk Plugin dans le viewport n’ont pas lieu avec Forest Pack Pro. Ainsi utiliser +10 Laubwerk Objects affiché en mode Convex Hull et scatterisé par milliers avec Forest Pack Pro ne pose aucun problème.
Verdict
C’est encore un peu tôt pour le dire mais j’ai clairement le sentiment que petit plugin deviendra grand ! Il y a encore un peu de travail sur la partie optimisation du plugin. Les temps de chargements avec +10 essences différentes dans la scène se font sentir mais comme je vous le disais ceci sera corrigé dans la prochaine version. Les modèles sont de qualité et pour le coup l’optimisation des arbres fonctionnent à merveille, vraiment pratique pour diminuer le nombre de polygones d’une scène simplement. Encore une fois ce plugin est jeune mais je crois qu’il mérite vraiment l’investissement vu le potentiel qui s’en dégage. Sur le moyen/long terme j’imagine assez bien une interaction hyper complète avec Forest Pack Pro ce qui devrait le rendre totalement indispensable !
Note : Avant la publication de ce test, le plugin est passé en version v.1.0.4 et est compatible avec 3dsMax 2014 et Cinema 4D.
Très intéressant en effet, de plus super bien expliqué, merci Matt.
Voilà qui va me contraindre à reprendre mon abonnement à FPP 🙂
J’aime bien le concept de « plomber » les shaders et je te rejoins particulièrement sur ce point. Nivellement par le bas!
Tu as tesé avec RT ?
Oui ca marche, le truc c’est qu’il faut charger le modele que tu veux voir au rendu. Le preview en Convex Hull dans le viewport ne marche pas, je vais faire un petit mot au dev sur le sujet d’ailleurs ^^
merci matt ,pour cette article super intéressant ,comme toujours ;),en passant je prépare un tuto speedtree d un scène éclairé sous vray ,de la création d un arbre a l animation,jusqu au rendu et compositing sous after effect ,et méthode d éclairage utilisé sur la résidence.;)
Si tu me mail avant de publier je t’en voudrais pas ^^