Vox populi

Etape suivante dans la reconquête d’un savoir-faire graphique perdu, l’animal décide de se frotter au néo-cubisme analytique. Historiquement peu enclin à voir la vie sans anti-aliasing, c’est d’une taquine et classique contradiction qu’il va se foutre un coup de tatane pointue au confort. Petit compte-rendu de l’aventure en zig-zag où il est préférable de ne pas marcher pieds-nus.

Il y a des millions d’années De tout temps Sans connaître vraiment l’origine de ce choix, le nouveau souffre-douleur désigné par ma curiosité est MagicaVoxel. Et après avoir suivi le tuto officiel, aucune explication non plus quand à la décision très rapide de vouloir modéliser la statue centrale de ma ville-berceau (Fig. 1). Voilà hein, alea jacta est, al hamdu lillah, on va pas passer trois plombes là-dessus.

Fig. 1 : La place Stanislas, last update de 2005

Un des axiomes d’internet appliqué à ma personne, je le rappelle souvent, est que l’idée tout juste germée dans ma tête a déjà été réalisée par quelqu’un. En l’occurrence il est évident que nombre d’apprentis sculpteurs numériques 3D de la région ont dû déjà tenter se casser les chicos sur la Place, ne serait-ce que sans doute quelques élèves architectes de la zone Meurthe-et-Canal.

Curieusement, après de longues 10 secondes de recherche, si l’outsider est bien un étudiant (un point pour Patrik), il est/était en revanche en D.U.T. Info-Comm (je suppose) et en stage à la mairie. Sa réalisation a été assemblée – sans réelle surprise ni moquerie – sur Minecraft.

Un salut pour l’artiste et le temps passé, car c’est un énorme boulot pour seulement… 4 jours ?? Impressionnant. Vu le soin apporté aux altitudes du terrain, je soupçonne même qu’il ait eu accès à une base topo. Mais si le visuel me donne une première idée sur les proportions et le rendu, les cubes texturés du jeu ou certaines libertés prises sur les modèles des bâtiments ne sont pas ce que je vise.

Au jeune qui tomberait sur ce post en retour, et qu’une fougue cynique commencerait à envahir : avant Minecraft, en 1992, on jouait à Comanche: Maximum Overkill, et on connaissait déjà le mot voxel. Je bavais sur la fluidité de ces modèles numériques de terrain très détaillés à l’heure des simulateurs en faibles faces 3D. Egalement au siècle dernier, les tableaux des Allemands d’eBoy commençaient à sortir dans les présentoirs à poster (ceux qui faisaient claclaclac quand on tournait les pages). Les gens commençaient à avoir du pixel art chez eux, c’était inimaginable pour notre sous-culture informatique.

Certes, le travail des autres ne fait pas de moi un expert, mais je bouffe de l’isométrie pixelisée depuis suffisamment de temps pour savoir ce que j’attends de mon rendu.

 

Fig. 2 : La palette des couleurs, 255 choix que l’on va regretter par la suite

Je ne suis pas un défenseur absolu de l’open-source, mais Qubicle ne m’a pas convaincu. MagicaVoxel (MV pour la suite), lui, est bien fichu au premier contact. Sa prise en main m’a rappelé un peu les débuts de Sketchup, soit une vulgarisation de la conception 3D à outrance, une masse de raccourcis clavier rapidement assimilés pour une fluidité de sculpture. Cela, avec l’impression qu’il y a toujours moyen d’améliorer et d’optimiser son workflow en se donnant la peine d’explorer les outils délaissés par l’habitude.

Pour commencer par un truc pénible mais nécessaire, il faut se décider sur la palette des couleurs à utiliser (Fig. 2). La compréhension du principe en lui-même n’est par difficile, et le choix est d’autant plus aisé si on dispose d’une image source. Mais n’étant pas un professionnel de l’imagerie (ni même un amateur, inutile de faire semblant), il va falloir jouer réellement avec un éditeur de palette, importer ou trier des couleurs suivant les teintes, la saturation, etc.

 

Fig. 3 : Palette indexée et moulinée par Gimp depuis l’image originale. Le script de filtrage est un enfer.

 

Je suppose que concevoir le format de fichier des palettes de MV en une image png de taille 256*1 px signifie quelque chose pour le concepteur @ephtracy. J’ai pour ma part du mal à y adhérer, en grande partie du fait d’un import/export rapide impossible dans un format de palette déjà existant. Maintenant, l’indexation des couleurs n’est pas apparue hier, et chacun y va de sa sauce, MV ne diffère en rien de PhotoShop (.aco), Gimp (.gpl), IrfanView (.pal), et la liste des formats incompatibles entre eux continue.

Bien que l’opération soit laborieuse, j’ai récupéré chaque valeur de la palette 8BPP d’une image étalon de la statue, puis j’en ai construit ce fameux png. Afin d’éviter tout interpolation arbitraire entre les softs, cette image est déjà aux dimensions d’un espace MV, soir 126² px maximum. Pour tester la cohérence de la palette, il suffit d’importer cette image, et de comparer les rendus. Ah, oui, dans la version Windows de MV il n’y a pas de menu importer, il faut glisser-déposer le fichier dans le modèle (Fig. 4).

 

Fig. 4 : A gauche Gimp 2.10, à droite MagikaVoxel 0.99.1a. L’importation MV n’est pas vraiment un modèle de fidélité.

 

Il est étrange de constater que l’import tire clairement sur le rouge, pour deux environnement utilisant la même palette. Et ce n’est pas l’inversion de séquence qui change quoi que ce soit, j’ai vérifié. Ok, passons.

 

Cette branche sortie du pied, je vais attaquer la sculpture en elle-même, ce pourquoi, tout joyeux, j’ai a lancé le soft au départ. Mais quel niveau de détail m’intéresse ?

Comme MV offre la possibilité de doubler le nombre de voxel dans un modèle d’un seul bouton (du moment qu’on reste dans l’espace limite), il n’est pas nécessaire de commencer fin. Je pense donc d’abord bosser sur les proportion à petite échelle. Oué je parle comme un topographe, c’est à dire dire sur un plus grand territoire, donc moins détaillé. L’échelle est une fraction ; pour une même taille de rendu, un plan au 1/500è (petite échelle) est moins précis qu’au 1/20è (grande échelle). Quelle condescendance dans ce paragraphe.

Fig. 5 : Bien sûr, il a fallait qu’il y ait un concert le jour du passage satellite

Arbitrairement, je décide de faire occuper au monument central la totalité d’un espace de référence, centré dans ce carré de 126 voxel. Un début en douceur, le dessin des pavés de la place est un octogone quasi-régulier ; j’ajuste les proportions du caniveau périphérique de visu, à l’aide d’une vue aérienne issue d’un maps.*.com quelconque. Une volée de 3 marches concentriques d’1 voxel de haut, rien de violent pour l’instant (fig. 5).

Fig. 6 : Une première version du piédestal

Pour monter le piédestal, je continue à travailler sans filet en estimant les tailles d’après des photos bien orthogonales. Ce qui est chouette avec un monument historique, c’est que le choix disponible ne manque pas (Fig. 6). Je souligne tout de même le travail de Bruno Denise et son vieux site Orange de 2004 (une année avant la restauration de la place). Ses plans rapprochés de la statue me sont d’une grand utilité pour ce qui suit.

 

 

Fig. 7 : L’angoisse de la pierre blanche

Rodin, si tu me lis, tu peux te marrer sans gêne, car la sculpture depuis un bloc vierge n’est pas mon fort. Je m’en suis rapidement rendu compte après l’extrusion de la figure 7, où après quelques coups de burin ridicules, j’ai choisi de procéder différemment.

Au final, ce qui a fonctionné au mieux (attends de voir le résultat, tu vas encore rire) est de tracer le contour 2D de la statue de face et de côté, pour ensuite remplir les volumes par couche imaginaire progressive. C’est clair ? Non.

Fig. 8 : Il paraît si vivant qu’il surgirait presque du socle… AHEM

D’après photos, j’ai « digitalisé » mentalement le volume par tranches, comme s’il était découpé par une lame verticale. Par exemple, si regarde le gros Stan’ de face, ce qui vient en premier est son doigt pointé. Hop je reporte la zone. Puis vient son pied droit. Je reporte. Sa jambe droite, son bide, etc. Puis j’effectue le même travail d’une autre face, pour vérifier la cohérence et combler les angles morts.

Le résultat est vite réaliste (Fig. 8 mpfrrr), mais il est très délicat de faire des choix pour les détails complexes. J’aurais tellement voulu que l’observateur comprenne un sabre à cet endroit, imagine une couronne à cet emplacement. Les machines, qui font d’habitude ce travail de moyenne, n’ont pas ces problèmes de décisions binaires. Il y a si peu de place pour le ressenti dans ces tas de bits.

 

C’est à peu près à ce moment de mon travail que la totalité du paragraphe sur les palettes a volé en éclat. La recherche est intéressante, hein, mais complètement inutile dans la pratique. Comme tout vrai voxeliste, sans doute, j’ai décidé de réduire ma palette à la stricte nécessité, et surtout de l’organiser par zone.

Fig. 9 : La palette de la honte.

La totalité des couleurs que j’ai utilisée, c’est tout ce qui n’est pas orange sur la figure 9 ci-contre. Ouch. Et le plus drôle, c’est que certaines couleurs se répètent entre lignes, car chaque correspond à un sous-élément de mon modèle. Ainsi, même si le bronze de la statue est le même que celui du lettrage frontal, en séparant son affectation, je peux décider plus tard de modifier sa valeur. Je peux également lui attribuer un comportement différent à la lumière, très pratique lors du rendu.

Il est ainsi bien plus facile de corriger entièrement la teinte d’un zone composée de plusieurs couleurs, sans affecter le reste du modèle. Hey ça tombe bien, c’est exactement ce que j’ai dû entreprendre pour coller au micro-pavage de la place. Une belle chienlit si tu veux mon avis, mais sa vraie couleur retrouvée, Pierre-Yves Caillault serait fier de moi.

Avec ces palettes issues d’images, je faisais fausse route. Tu m’as montré le chemin de ton doigt de métal. Toi, Stanislas, j’entends clairement ton message : « Dégage avec tes tutos qui tombent à l’eau, et de ces howto dont tout le monde se fout. Tu n’es pas digne d’un Sir Carma ou d’un RGZNSK. »

 

Poing dans ma Fig. : Le rendu final

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.