- petitagore
Repères d'horloge en Geometry Nodes
Mer 12 Juil - 14:10
Bon, alors voilà, j'ai fait ceci avec des Geometry Nodes...
... mais j'ai surtout fait ça avec mon cerveau d'analyste-programmeur qui se prend la tête sur des structures logiques depuis (gasp) plus de trente ans, mais qui ne commence à comprendre les Geometry Nodes que depuis... très peu, disons une quinzaine de jours. Je me suis donc imposé cet exercice de débutant: disposer en cercle les repères d'un cadran d'horloge, avec trois types de repères: des parallélépipèdes bleus pour les heures banales, des jaunes pour 3, 6 et 9 heures, et un rond rouge pour midi. Evidemment, j'aurais pu faire ça à la mimine en moins de trois minutes, mais le but du jeu, c'était de le faire avec des Nodes. Un exercice de débutant, on vous dit!
Moins d'une journée de travail plus tard (oui, je débute), ça donnait ceci:
... ce qui certes fait l'effet de sortir du cerveau d'un savant fou mais a, je trouve, une certaine élégance... et en tout cas, ça marche.
Si votre seul commentaire est "tu te fais vraiment bien iéche pour pas grand-chose"... dispensez-vous en, merci... mais s'il y en a d'aussi débutants que moi qui aimeraient que je leur explique, ils n'ont qu'à demander.
... mais j'ai surtout fait ça avec mon cerveau d'analyste-programmeur qui se prend la tête sur des structures logiques depuis (gasp) plus de trente ans, mais qui ne commence à comprendre les Geometry Nodes que depuis... très peu, disons une quinzaine de jours. Je me suis donc imposé cet exercice de débutant: disposer en cercle les repères d'un cadran d'horloge, avec trois types de repères: des parallélépipèdes bleus pour les heures banales, des jaunes pour 3, 6 et 9 heures, et un rond rouge pour midi. Evidemment, j'aurais pu faire ça à la mimine en moins de trois minutes, mais le but du jeu, c'était de le faire avec des Nodes. Un exercice de débutant, on vous dit!
Moins d'une journée de travail plus tard (oui, je débute), ça donnait ceci:
... ce qui certes fait l'effet de sortir du cerveau d'un savant fou mais a, je trouve, une certaine élégance... et en tout cas, ça marche.
Si votre seul commentaire est "tu te fais vraiment bien iéche pour pas grand-chose"... dispensez-vous en, merci... mais s'il y en a d'aussi débutants que moi qui aimeraient que je leur explique, ils n'ont qu'à demander.
Corpia aime ce message
- petitagore
Re: Repères d'horloge en Geometry Nodes
Ven 14 Juil - 10:12
Je m'autorise à répondre à mon propre post parce que je viens de me rendre compte d'un truc qu'on ne m'avait jamais expliqué, et qui réjouit mon cerveau d'analyste-programmeur: l'éditeur de Geometry Nodes pratique... la coloration syntaxique !
Personne ne m'en a fait compliment, mais je l'ai fait tout seul: je me suis efforcé de rendre le tas de spaghetti de mon exemple ci-dessus aussi "propre en ordre" que possible (oui, j'ai quelques ancêtres suisses). Eh bien, si comme moi vous cherchez à vous remplir les yeux de cet admirable schéma logique pour le seul plaisir esthétique, vous allez finir par remarquer un truc qui ne saute pas aux yeux mais qui est pourtant furieusement porteur d'information: la coloration des spaghetti est homogène: quand plusieurs spaghetti sortent du même socket, ils ont toujours la même couleur, et cette couleur n'est pas la même selon les sockets. Ca rend les choses considérablement plus lisibles et, ô merveille, ça s'est fait TOUT SEUL. C'est moi qui ai bien aligné les noeuds, mis des Reroute un peu partout où c'était nécessaire pour que ce soit joli tout plein, mais la coloration des spaghetti, c'est Blender qui l'a décidée, et il a fait ça tout seul comme un grand.
Et ce que ça a de très chouette, c'est que ça permet de se rendre compte tout de suite d'une erreur éventuelle dans les connexions des sockets: ce qui est Geometry a une couleur (le blanc), ce qui est booléen a une autre couleur, ce qui est rotation a encore une autre couleur, et si, par exemple, -- parce que je suis distrait, maladroit ou que j'ai trop dézoomé pour m'en rendre compte -- je connecte sur le noeud "Instance on Points" un spaghetti provenant d'une géométrie sur "Pick Instance" au lieu de "Instance", pouf, aussitôt, ce spaghetti mal connecté prend une couleur qui pète (et que je ne vous nommerai pas parce qu'en plus d'avoir des ancêtres suisses je suis daltonien) pour signaler une très probable erreur.
C'est l'équivalent exact de ce que font les éditeurs de texte informatique quand un programmeur distrait oublie de refermer un guillemet ou une parenthèse, ou tape un point-virgule à la place d'une virgule: aussitôt, hop, une portion du texte change de couleur, façon pour l'éditeur de texte de dire poliment "tu fais bien comme tu veux mais à mon avis il y a un truc foireux".
Et ben ça, vous savez quoi? C'est rudement intelligent, rudement pratique, c'est fignolé aux petits oignons par des gens très consciencieux, ça prouve que Ton Roosendal est un génie, et accessoirement, ça prouve aussi... que tous ceux qui vous chantent les louanges des Geometry Nodes sans vous l'expliquer ne bitent rien en programmation.
Bande de nullards.
Personne ne m'en a fait compliment, mais je l'ai fait tout seul: je me suis efforcé de rendre le tas de spaghetti de mon exemple ci-dessus aussi "propre en ordre" que possible (oui, j'ai quelques ancêtres suisses). Eh bien, si comme moi vous cherchez à vous remplir les yeux de cet admirable schéma logique pour le seul plaisir esthétique, vous allez finir par remarquer un truc qui ne saute pas aux yeux mais qui est pourtant furieusement porteur d'information: la coloration des spaghetti est homogène: quand plusieurs spaghetti sortent du même socket, ils ont toujours la même couleur, et cette couleur n'est pas la même selon les sockets. Ca rend les choses considérablement plus lisibles et, ô merveille, ça s'est fait TOUT SEUL. C'est moi qui ai bien aligné les noeuds, mis des Reroute un peu partout où c'était nécessaire pour que ce soit joli tout plein, mais la coloration des spaghetti, c'est Blender qui l'a décidée, et il a fait ça tout seul comme un grand.
Et ce que ça a de très chouette, c'est que ça permet de se rendre compte tout de suite d'une erreur éventuelle dans les connexions des sockets: ce qui est Geometry a une couleur (le blanc), ce qui est booléen a une autre couleur, ce qui est rotation a encore une autre couleur, et si, par exemple, -- parce que je suis distrait, maladroit ou que j'ai trop dézoomé pour m'en rendre compte -- je connecte sur le noeud "Instance on Points" un spaghetti provenant d'une géométrie sur "Pick Instance" au lieu de "Instance", pouf, aussitôt, ce spaghetti mal connecté prend une couleur qui pète (et que je ne vous nommerai pas parce qu'en plus d'avoir des ancêtres suisses je suis daltonien) pour signaler une très probable erreur.
C'est l'équivalent exact de ce que font les éditeurs de texte informatique quand un programmeur distrait oublie de refermer un guillemet ou une parenthèse, ou tape un point-virgule à la place d'une virgule: aussitôt, hop, une portion du texte change de couleur, façon pour l'éditeur de texte de dire poliment "tu fais bien comme tu veux mais à mon avis il y a un truc foireux".
Et ben ça, vous savez quoi? C'est rudement intelligent, rudement pratique, c'est fignolé aux petits oignons par des gens très consciencieux, ça prouve que Ton Roosendal est un génie, et accessoirement, ça prouve aussi... que tous ceux qui vous chantent les louanges des Geometry Nodes sans vous l'expliquer ne bitent rien en programmation.
Bande de nullards.
Corpia aime ce message
- busanga
Re: Repères d'horloge en Geometry Nodes
Ven 14 Juil - 11:35
Ah oui tiens j'avais jamais remarqué ça. J'use et abuse des frames et des options de labels et couleurs des boîtes pour clarifier mes "codes" mais c'est vrai que ça ajoute encore en lisibilité. Note que tu peux aussi replier (H) les boîtes (un nœud Multiply, on se doute bien qu'il multiplie les deux entrées), et masquer les entrées/sorties non utilisées avec Ctrl-H. Par exemple, en alternative aux constantes placées dans un Input, parfois je replie le noeud, je masque l'entrée constante, et je mets un label explicite comme "+ 4" ou "Modulo 3" pour m'y retrouver facilement.
Petit chipotage (voire opération fastidieuse sur les diptères), la conversion du résultat (entier) du modulo en booléen fonctionne (on peut brancher du gris sur du rose), mais il serait plus logique selon moi de tester la divisibilité de x par 3 avec un x%3==0 (en équivalent Python) plutôt qu'avec un not x%3.
Petit chipotage (voire opération fastidieuse sur les diptères), la conversion du résultat (entier) du modulo en booléen fonctionne (on peut brancher du gris sur du rose), mais il serait plus logique selon moi de tester la divisibilité de x par 3 avec un x%3==0 (en équivalent Python) plutôt qu'avec un not x%3.
- petitagore
Re: Repères d'horloge en Geometry Nodes
Ven 14 Juil - 11:49
@busanga Merci, je le savais déjà (je me suis déjà tapé quelques tutos sur la lisibilité des Geometry Nodes, parce que la lisibilité, c'est bon, mangez-en) mais je suis encore trop débutant pour m'en servir (à ce stade du récit, j'aime bien que tout se passe de façon absolument standard).
Mais j'y viendrai !
Mais j'y viendrai !
- petitagore
Re: Repères d'horloge en Geometry Nodes
Ven 14 Juil - 12:02
@busanga Tu as édité ton post, moi je préfère te faire une nouvelle réponse... C'est très très bien de sodomiser les hyménoptères sur ces questions... parce que figure-toi que Ton Roosendall y a pensé et en a tenu compte! Quand un spaghetti a pour conséquence une conversion implicite, la coloration du spaghetti change à mi-chemin!
Ca ne saute pas aux yeux, mais tu peux vérifier sur le schéma ci-dessus: quand on va de "Integer" à "Modulo", on passe d'une valeur entière à une valeur à virgule, et du coup le spaghetti a la couleur des entiers côté Integer, la couleur des nombres à virgule côté Modulo. De même, quand on connecte "'Not" (qui renvoie un booléen) à "Not Equal" (qui compare des nombres à virgule), le spaghetti a la couleur des booléens côté "Not", la couleur des nombres à virgule côté "Not Equal".
Autre exemple très courant: si tu connectes un noeud "Value" (valeur unique) à une mention "Scale" (qui regroupe ScaleX, ScaleY et ScaleZ), c'est tout à fait possible, ça a seulement pour conséquence que la valeur unique est copiée trois fois à l'identique... mais on peut noter qu'alors le spaghetti a la couleur des nombres à virgule côté "Value", la valeur des vecteurs à trois éléments côté "Scale". C'est vraiment super bien pensé!
Ca ne saute pas aux yeux, mais tu peux vérifier sur le schéma ci-dessus: quand on va de "Integer" à "Modulo", on passe d'une valeur entière à une valeur à virgule, et du coup le spaghetti a la couleur des entiers côté Integer, la couleur des nombres à virgule côté Modulo. De même, quand on connecte "'Not" (qui renvoie un booléen) à "Not Equal" (qui compare des nombres à virgule), le spaghetti a la couleur des booléens côté "Not", la couleur des nombres à virgule côté "Not Equal".
Autre exemple très courant: si tu connectes un noeud "Value" (valeur unique) à une mention "Scale" (qui regroupe ScaleX, ScaleY et ScaleZ), c'est tout à fait possible, ça a seulement pour conséquence que la valeur unique est copiée trois fois à l'identique... mais on peut noter qu'alors le spaghetti a la couleur des nombres à virgule côté "Value", la valeur des vecteurs à trois éléments côté "Scale". C'est vraiment super bien pensé!
- busanga
Re: Repères d'horloge en Geometry Nodes
Ven 14 Juil - 12:10
Oui en fait tu avais répondu avant que j'aie fini d'éditer mon post.
Si ca t'intéresse, tu pourras aller lire mon tuto où je modélise et texture un jeu de dames chinoises en GN. C'est accessible via ma signature(enfin pas en ce moment, TuxFamily qui héberge mon site est temporairement out).
Si ca t'intéresse, tu pourras aller lire mon tuto où je modélise et texture un jeu de dames chinoises en GN. C'est accessible via ma signature
- petitagore
Re: Repères d'horloge en Geometry Nodes
Mar 25 Juil - 9:12
@busanga Il faut que je trouve le temps d'étudier ça, mais dans l'immédiat je te félicite d'avoir fait tes tutos en HTML plutôt qu'en vidéos YouTube comme tout le monde: c'est tellement, tellement plus facile à consulter. Bravo.
busanga aime ce message
- Blender Moonboots
Re: Repères d'horloge en Geometry Nodes
Mar 25 Juil - 10:10
Bonjour @petitagore pour ce sujet comme pour l'autre il me semble que la catégorie Questions & Réponses est plus adaptée
- petitagore
Re: Repères d'horloge en Geometry Nodes
Mar 25 Juil - 10:20
@Blender Moonboots OK, my bad. Je crois d'ailleurs que je vais désormais être assez présent (voire encombrant!) dans cette catégorie.
- Blender Moonboots
Re: Repères d'horloge en Geometry Nodes
Mar 25 Juil - 11:06
@petitagore Pas de problème, c'est une des fonctions du forum, je crois que Zeus connaît bien le sujet des geonodes
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum