Sélectionner une page

Itérations : dans Blender aussi…

Nous avions déjà abordé dans ce billet la problématique de la génération de fractales « 3D » dans les logiciels de 3D justement. Un processus assez complexe et grand consommateur de mémoire. Mais, plus simplement, Il existe d’autres moyens assez simples de singer les logiciels de génération de fractales à l’aide de Geometry Nodes dans Blender. Tout au moins le processus « fractal » des itérations et ce jusqu’à 4 de celles-ci (après, le logiciel explose, le plus souvent).

Dès lors, pourquoi peut-on explorer des millions de ces itérations dans les logiciels dédiés ; autre logique de programmation, autres codages ? Tout cela me dépasse… Toujours est-il qu’avec la richesse des fonctions de Blender en terme d’éclairage, de création de matériaux complexes et autres facilités il faut reconnaitre que ces « fausses fractales » peuvent faire illusion…

Ce billet faisait partie des épaves de mon dossier brouillon, presque terminé et pourtant abandonné (comme ses milliers de congénères), laissé à macérer, maturer, vieillir, pourrir ? Aussi je pense qu’en un an (et oui, le temps passe) la technique aura évolué et ce billet souffrira sans doute de l’obsolescence programmée. Las, les principes semblent toujours d’actualité…

Mandalas

Commençons avec le plus simple : itérer une courbe de points sur les points de la même courbe (relire dix fois…) On obtient ainsi à peu de frais une incroyable variété de figures qu’il suffit de tirer du néant, avec les nodes idoines, en les transformant en « meshes », les extrudant, les chanfreinant, les subdivisant, les adoucissant, les texturant et autres opérations du Saint-Esprit…

Des mandalas à la pelle : l’enchainement des nodes nécessaires…

Voici par exemple un petit florilège de figures simples ou complexes obtenues avec les différentes courbes disponibles dans GeoNodes : Star, Curve Circle, Spiral, Quadratic, Quadratic Bezier…

Il suffit juste de relier les nodes des courbes de points à un node « Instances ON points », dans les slots « points » et « instances » et de jouer des réglettes. Notons qu’on peut relier la même « courbe primitive » (deux fois) ou deux courbes différentes comme ci-contre (« Star » et 3curve Circle »).

Pour faire joli, j’ai ajouté des textures d’occlusion ambiante « bleu architecte », appliquées au modèle ET au fond (plancher) : petites subtilités pour « quand vous serez grands »…

Sachant que tout ce qui comporte des points (c’est à dire absolument tout) peut servir de racine ou « d’instances » à itérer comme bon vous semblera pour des résultats toujours divertissants, à vos risques et périls, naturellement. Ainsi il faudra apprendre comment quitter Blender « à la sauvage » lors des fréquents blocages. Selon les systèmes d’exploitation il n’y aura même parfois pas d’autres recours que d’arracher la prise… Le mieux sera alors de pratiquer une dizaine d’inspirations nasales…

Nodes à la joie

Bien sûr, au début, il n’y a que des courbes vectorielles qui apparaissent seulement en mode « filaire », des abstractions mathématiques dont on a que foutre : ce que nous voulons ce sont de vrais objets « en dur » ! Pas de problèmes, nous allons ajouter les nodes idoines pour faire jaillir la forme sous nos yeux ébahis. Et c’est là que tout se complique. Avec « l’ancienne » méthode de modélisation « destructrice », (acquise au prix de milliers de nuits blanches et d’une sévère cataracte) il suffisait d’appliquer un modificateur « Solidify » pour donner une épaisseur et donc une existence réelle à l’objet. Las. Point de ce modificateur dans Geo Nodes dont la logique est manifestement bien plus compliquée. Réfléchissons un instant à une solution en plusieurs étapes : il s’agit de transformer la courbe de points en objet (extra plat), puis de l’extruder dans la direction de l’épaisseur. Restera à appliquer un léger chanfrein sur les arêtes, à subdiviser les surfaces et à lisser le tout. Rien de sorcier, n’est ce pas ?

Sauf que… Transformer une courbe de points en « mesh » : « Fill curve » ! Et non pas « points to mesh », voir « curve to mesh » comme on serait en droit de l’attendre et qu’on a cherché des heures en vain dans les menus, les yeux injectés de sang. Ah les fourbes ! Pourquoi subitement, pour cette fonction essentielle, ce changement de terminologie ? Nul doute que cela sera changé, une fois de plus, dans les prochaines versions. Rendant obsolètes du même coup tous les tutoriaux patiemment enregistrés sur le sujet… « Remplir les courbes » : mais qu’est ce que cela veut dire ? Est-ce qu’un de ces adolescents dépressifs a seulement jamais essayé de parler le français ? Fillons donc les curves, soit. Quand on le sait…

Autre diablerie : tout ceci ne fonctionnera que si on insère d’un geste souple le node « Realize Instances », dans le sandwich. Pourquoi ? Mystère et boule de gomme. Ensuite seulement nous pouvons appliquer « Extrude Mesh ». Miracle : la forme jaillit ! Brute de fonderie, les arêtes aigües et tranchantes comme un rasoir, bien peu réalistes. Qu’à cela ne tienne, il suffit d’ajouter un « Bevel », un léger chanfrein qui accrochera à merveille quelques hautes lumières de « l’illumination globale » que vous aurez installé, l’air de rien.

Il faut chanfreiner les arêtes ! N’espérez pas ajouter un modificateur « Bevel », sous le modificateur « GeoNodes » : ça ne fonctionnera pas ! Pourquoi ? Une autre histoire de boules de gommes…

La solution consiste à rajouter 3 nodes : « Subdivise Mesh » (level de 0 à 4/5…) c’est là que tout se passe. A chaque fois le nombre de polygones du modèle est doublé. Attention à ne pas aller au dessus au risque de bloquer la machine. Et tout le monde n’a pas un pied de biche à côté du moniteur… On applique ensuite une bête « Surface subdivision » de niveau 1 (double emploi ? Oui. Mais non.) Et ensuite un lissage « Shade Smooth » (même chanson). Simple…

Une forme, un sol, réunis par la magie de « Join Geometry », une texture et « en voiture Simone » ! Voici un nouvel aperçu de l’enchainement des nodes, bien propre, avec ses séparations et légendes (appliquées avec les nodes « Layout »)…

Pour plus de clarté, j’ai changé la texture des objets en métal réfléchissant avec une occlusion ambiante rouge sang (attention au premier rendu : ça coupe !)…

Avec la subdivision à 0, on obtient un jet de vomi peu ragoutant. Avançons ! Cette fois, avec la subdivision réglée à 1 le calissonage d’Aix est en route. A subdivision 2 (de plou en plou de polygones) le lissage « boîte de chocolats » apparait.

Avec les subdivisions 3 et 4, les arêtes deviennent de plus en plus acérées et réalistes (petits reflets sur les arêtes contrairement au modèle sans subdivisions) mais au risque de geler la machine : il vous faudra sans doute essayer d’éteindre l’ordinateur en train de fondre à coups de démonte-pneu ! Ainsi s’achève nos palpitantes aventures au pays des mandalas.

Icosphères

Voici une autre méthode d’itérations, un peu plus élaborée mais toujours basée sur « Iterations on points ». En voici les rudiments : j’ai testé avec des primitives « Isocaèdres »…

Bon, en fait, je réalise qu’il ne s’agit pas d’icosaèdres mais de dodécaèdres. Issus d’une icosphère, en fait. Mais vous ne croyez tout de même pas que je vais me recogner les titres et les exports par une chaleur pareille ?

Appliquons au final un modificateur « Wireframe » : voici un solide creux en « fil de fer » ! Un peu d’occlusion ambiante et de dispersion sous surfacique et voilà. On en mangerait…

Jouons aux cubes

Même opération mais en utilisant cette fois comme primitive initiale un simple cube. Fractalisation, mode filaire, texturation, éclairage, cadrage…

Et la forêt géométrique devient rapidement inextricable alors ne venez pas pleurer si vous vous y perdez !

 

 

 

 

Et bien évidemment rien n’empêche (avec la magique technique « Join Geometry ») de combiner ce procédé : des « pseudo cubes de Menger » en filaire, ordonnancés sur une icosphère également en filaire mais d’un diamètre plus grand.

C’est extra !

Notons au passage la possibilité, nous l’avons dit, d’appliquer cette technique à n’importe quelle forme initiale (et secondaires), en particulier à toutes sortes de primitives. Et c’est là qu’interviennent les « add-ons », véritable caverne d’Ali Baba des préférences de Blender.

En effet, ce logiciel décidément bien complet, embarque en standard des centaines « d’ajouts » désactivés par défaut pour ne pas alourdir le système. Mais on peut les activer d’un clic. Avec les milliers d’autres plugins libres disponibles sur Github et autres boîtes à bits développés en permanence par la prolifique communauté il y a de quoi tester et jouer…

 

Par exemple, dans le menu « Blender Preferences » / Add-ons, activez les Extras Objects : vous voilà pourvus de nouvelles primitives exotiques (dans le menu Add / Mesh), paramétrables à l’envi.

De quoi faire naître, entre autres, des pierres précieuses, des pierres pas précieuses, des pyramides à degrés, des roues dentées, des éponges de Menger et même une théière. Que serait en effet la 3D sans sa théière ?…

 

 

Appliquons donc la recette à quelques unes des ces primitives :

Ainsi s’achève ce palpitant article au pays du monde nodal. Des fractales, mais pas que… 😉

 

Publié le Juil 13, 2023

Voir le site pro ?

Tous les tableaux

Tous les articles

0 commentaires