Table des matières
Recherche et découverte Blender
Pour mon projet, je voulais expérimenter sur le logiciel Blender, un outil gratuit et open-source qui permet, entre autres, la réalisation 3-dimensionnelle.
Première étape de recherche: Manipulation de géométrie avec un controlleur MIDI
Au début j’avais l’idée d’avoir un controlleur MIDI qui gère quelques paramètres d’une géométrie pour la déformer en temps réel.
En suivant ce tutoriel, j’ai installé l’outil MidiView, qui permet à identifier le nom de chaque entrée sur le controlleur. Ensuite, à l’aide d’un add-on nommé AddRoutes de JPfeP, je peux patcher ces entrées MIDI dans n’importe paramètre.
https://www.youtube.com/watch?v=YLfoUGAxl5M&ab_channel=RETROMoGraph http://www.jpfep.net/pages/addroutes/
Seul problème: Je travaille sur Mac et le Add-On ne fonctionne pas. Pas de souci, j’essaye une version plus ancienne de Blender en espérant que ça résout mon problème. Non, à nouveau un échec, essayons autre chose: installer Windows sur mon Mac avec Bootcamp.
Même chose, ça ne fonctionne pas non plus. Pas d’autre choix que changer ma trajectoire de recherche.
Noeuds de texture
Diagramme de Voronoi
L’idée initiale était de controller et déformer un diagramme de Voronoi avec mon controlleur MIDI. Donc, essayons quand-même de créer ce diagramme sur Blender.
Sur Blender, la manipulation de textures et matériaux est construit sur le principe de noeuds. L'éditeur de nœuds de Blender permet d'assembler divers blocs de traitement (nœuds) en combinaisons qui transmettent des données les unes aux autres. Selon les connexions que l’on spécifie, on crée divers résultats qui nous rendent une texture.1) Un exemple d’un système de noeuds:
D’abord, je crée une surface plate pour que je puisse ajouter ma texture. Heureusement, Blender a une collection de diagrammes à disposition, y compris la Voronoi.
Ensuite, j’ajoute le noeud «Colour Ramp» que j’utilise pour resserrer le noir et blanc pour qu’il n’y a plus de nuances grises.
Et voilà notre diagramme de Voronoi! Maintenant, essayons de retirer le fond noir et ajouter une texture métallique sur la partie blanche.
«Principled BSDF» est le shader standard qui peut régler divers paramètres, comme le curseur métallique, qui change la réflectivité de l’objet. J’ai aussi ajouté un «Displacement Map» pour déformer la texture un peu plus. Ceci ajoute un petit détail qu’on voit de plus proche.
L’avantage de la texture Voronoi est qu’elle est totalement générative, donc on peut régler la taille pour changer le résultat.
Voilà comment j’ai crée une structure métallique à base de Voronoi. Essayons la même chose avec un cube.
Noeuds de géométrie
Texture Voronoi
Le système de noeuds permet aussi de créer de la géométrie entièrement générative et procédurale. L’avantage des noeuds de géométrie est que chaque étape est non-destructive, donc on peut retourner sur chaque donnée sans perdre/casser d’autres noeuds.
Les noeuds de textures peuvent aussi être utilisés en combinaison avec les noeuds de géométrie, donc ajoutons la texture Voronoi de l’étape précédente.
Déjà, on voit que la même texture donne un résultat totalement différent. Essayons de manipuler cette forme encore un peu:
Voici ma nouvelle forme basée sur la même texture Voronoi. Intéressant de voir comment le diagramme affecte la géométrie différemment dans un cube que sur un surface plate. Que se passerait-il si j’utilise une autre texture?
Texture vague
Au lieu d’une texture Voronoi, j’utilise la texture vague. Ici j’ai encore plus de paramètres à changer, mais la plus intéressante c’est l’échelle de la texture. Ici une petite animation qui montre une sorte de vague ultra abstraite qui produit des formes incroyables.
Sphère abstraite
La prochaine étape consiste à utiliser mes nouvelles connaissances de noeuds pour créer des nouvelles formes abstraites.
Le rendu
Introduction
Blender a deux moteurs de rendus principaux, Eevee et Cycles.
Eevee est le moteur de rendu en temps réel basée sur OpenGL. L’avantage d’Eevee est que c’est moins exigeant sur le processeur, donc le rendu est plus rapide.
Cycles est le moteur de rendu qui est construit sur le ray-tracing. Celui donne un résultat beaucoup plus proche à la réalité, car le traitement du rendu est basée sur la physique. Cycles est plus exigeant sur le processeur.
Eevee
Pour mon projet, Eevee parait être plus utile pour mon projet, car si je veux manipuler ma texture voronoi en temps réel, il faut aussi avoir un moteur de rendu qui fonctionne assez rapidement. Cycles est trop exigeant sur mon processeur, donc mieux de ne pas l’utiliser pour des formes complexes.
J’ai donc joué un peu avec les résultats des dernières étapes pour créer des rendus intéressants.
Cycles
Avec Cycles, le rendu est calculé avec un nombre de «samples» ou échantillons. Les Render Samples sont le «nombre de chemins à tracer pour chaque pixel dans le rendu final. Avec un nombre croissant d’échantillons, la solution devient moins bruitée et plus précise.»3)
Ainsi, plus le nombre d'échantillons est élevé, plus l'image est claire. Normalement, on travaille avec au moins une centaine d’échantillons pour avoir un rendu assez nette. Mais que se passe-t-il alors si j’utilise qu’un ou deux échantillons?
Il est vraiment fascinant de voir comment Blender tente de calculer l'image avec si peu d'informations. Ici, on peut voir que le logiciel essaie d'interpréter et de combler les lacunes qui conduisent à des artefacts flous dans le rendu. Le résultat me rappelle presque à une image générée par l'IA, les deux semblent partager cette étrange qualité floue qui ne peut être obtenue que par un ordinateur essayant de deviner ce qu'il doit remplir dans une image sans beaucoup d'informations.
En conclusion, bien que mon idée initiale n'ait pas semblé fonctionner, j'ai tout de même réussi à produire la majorité de ce que j'avais prévu, tout en apprenant beaucoup en cours de route. Les expériences sur le moteur de rendu ne sont apparues qu'à la toute fin, mais elles ajoutent beaucoup à ce projet à mon avis. Elles transforment une image parfaite en quelque chose d'étrange et d’intéressant.
Sources: https://mathworld.wolfram.com/VoronoiDiagram.html https://docs.blender.org/manual/fr/dev/index.html https://developer.nvidia.com/discover/ray-tracing











