Les geo nodes, data, sockets, fields

Banque de cours - La couleur des noeuds et le data type associé

La couleur des noeuds et le data type associé:

La forme des noeuds:

# Data et sockets (connecteurs)

Tous les nœuds dans Blender sont basés sur une construction similaire. Cela s’applique à n’importe quel type de nœud. Ces parties comprennent le titre, les connecteurs, les propriétés et plus encore.

Titre

Le titre montre le nom/type du nœud ; il peut être remplacé en modifiant le Label du nœud. Sur le côté gauche du titre se trouve le bouton réduire qui peut être utilisé pour replier le nœud. Cela peut également être fait avec H.

Comment un nœud apparaît quand il est replié.

Aperçu

Les aperçus sont une superposition qui montre une petite image au-dessus du nœud affichant le résultat du nœud. Tous les nœuds ne prennent pas en charge les aperçus, mais ceux qui le font peuvent être basculés en utilisant les icônes / dans le coin supérieur droit du nœud à côté du titre.

Les aperçus peuvent être désactivés pour tout l’arbre de nœuds en utilisant le bouton Aperçus.

Connecteurs

Les connecteurs sont des valeurs d’entrée et de sortie pour le nœud. Ils apparaissent comme de petits cercles colorés de part et d’autre du nœud. Les connecteurs inutilisés peuvent être masqués avec Ctrl-H.

Chaque connecteur est codé par couleur selon le type de données qu’il gère.

Intégrés

**Shader (vert vif)**Utilisé pour les shaders dans Cycles et EEVEE.**Géométrie (turquoise)**Utilisé dans les Geometry Nodes.**Menu (gris foncé)**Utilisé pour les entrées de type énumération qui affichent un menu déroulant ou un bouton radio dans l’interface utilisateur.

Données

**Booléen (rose clair)**Utilisé pour transmettre une valeur vrai ou faux.**Couleur (jaune)**Indique que le connecteur accepte/produit des informations de couleur. Les couleurs peuvent avoir ou non une composante alpha selon le type d’arbre de nœuds.**Nombre à virgule flottante (gris clair)**Indique que le connecteur accepte/produit des nombres à virgule flottante.**Entier (vert lime)**Utilisé pour transmettre une valeur entière (un nombre sans composante fractionnelle).**Chaîne de caractères (bleu clair)**Utilisé pour transmettre une valeur textuelle.**Vecteur (bleu foncé)**Représente des données vectorielles comme des coordonnées et des normales. Les vecteurs peuvent avoir 2, 3 ou 4 composantes :
2D : Affiche et utilise uniquement les composantes X et Y.
3D : Comprend les composantes X, Y et Z.
4D : Comprend les composantes X, Y, Z et W.**Rotation (rose)**Indique une rotation/quaternion.**Matrice (rose foncé)**Indique une matrice 4×4 de valeurs flottantes, elle est souvent utilisée pour représenter une Matrice de transformation.

  • 2D : Affiche et utilise uniquement les composantes X et Y.
  • 3D : Comprend les composantes X, Y et Z.
  • 4D : Comprend les composantes X, Y, Z et W.

Blocs de données

**Collection (blanc)**Utilisé pour transmettre un bloc de données de collection.**Objet (orange)**Utilisé pour transmettre un bloc de données d’objet.**Matériau (saumon)**Utilisé pour transmettre un bloc de données de matériau.**Texture (rose)**Utilisé pour transmettre un bloc de données de texture.**Image (abricot)**Utilisé pour transmettre un bloc de données d’image.

Structure des connecteurs

Les connecteurs de données peuvent avoir différents types de structure, indiquant comment les valeurs sont transmises et interprétées. Des structures plus complexes permettent de transmettre plusieurs valeurs à travers une seule connexion.

**Simple (Cercle)**Ces connecteurs attendent une seule valeur, ils sont représentés par une forme de connecteur circulaire.**Champs (Losange)**Représente une valeur qui peut varier par élément (par ex. par point, arête ou face). Vous pouvez considérer un champ comme une “carte de valeurs”, similaire à la façon dont la luminosité des pixels dans une image en niveaux de gris représente des valeurs variables à travers l’espace.
Si une valeur unique est connectée à un connecteur de champ, elle est implicitement diffusée à tous les éléments qui reçoivent la même valeur.
Les champs peuvent avoir l’apparence suivante :
Losange : Le connecteur peut accepter une entrée de champ, ou il produit un champ. Une valeur constante unique peut être connectée à ces connecteurs, mais la sortie ne variera souvent pas par élément.
Losange avec point : Le connecteur peut être un champ, mais il s’agit actuellement d’une valeur unique. Cela est utile car il permet de suivre où les valeurs uniques sont calculées, au lieu d’un champ avec de nombreux résultats différents. Cela signifie également que l’Inspection des connecteurs affichera la valeur au lieu des noms d’entrée du champ.
Voir aussi
Documentation sur les champs des Geometry Nodes

  • Losange : Le connecteur peut accepter une entrée de champ, ou il produit un champ. Une valeur constante unique peut être connectée à ces connecteurs, mais la sortie ne variera souvent pas par élément.
  • Losange avec point : Le connecteur peut être un champ, mais il s’agit actuellement d’une valeur unique. Cela est utile car il permet de suivre où les valeurs uniques sont calculées, au lieu d’un champ avec de nombreux résultats différents. Cela signifie également que l’Inspection des connecteurs affichera la valeur au lieu des noms d’entrée du champ.

Entrées

Les entrées sont situées sur le côté inférieur gauche du nœud et fournissent les données dont le nœud a besoin pour exécuter sa fonction. Chaque connecteur d’entrée, à l’exception de l’entrée de shader verte, lorsqu’il est déconnecté, a une valeur par défaut qui peut être modifiée via une interface de couleur, numérique ou vectorielle. Dans la capture d’écran du nœud ci-dessus, la deuxième option de couleur est définie par une interface d’entrée de couleur.

Certains nœuds ont des connecteurs spéciaux qui peuvent accepter plusieurs entrées. Ces connecteurs auront une forme d’ellipse plutôt qu’un cercle pour indiquer leur comportement spécial.

Sorties

Les sorties sont situées sur le côté supérieur droit du nœud et peuvent être connectées à l’entrée des nœuds plus en aval dans l’arbre de nœuds.

Conversion

Certains types de connecteurs peuvent être convertis en d’autres, soit implicitement, soit explicitement. La conversion implicite se produit automatiquement sans avoir besoin d’un nœud de conversion. Par exemple, les connecteurs Float et Color peuvent être liés les uns aux autres.

Une fois qu’une conversion de connecteur est effectuée, des données peuvent être perdues et ne peuvent pas être récupérées plus loin dans l’arbre de nœuds. La conversion implicite de connecteur peut parfois changer les unités de données également. Lorsque vous branchez un nœud d’entrée Value dans un connecteur d’angle, il utilisera par défaut les radians indépendamment des Unités de la scène. Cela se produit parce que le nœud Value n’a pas d’unité alors que l’entrée d’angle en a une.

Conversions valides :

  • Entre couleur et vecteur – correspondance entre les canaux de couleur et les composantes de vecteur.
  • Entre couleur et float – les données de couleur sont converties en leur équivalent en niveaux de gris.
  • Couleur/float/vecteur vers Shader – convertit implicitement en couleur et donne le résultat de l’utilisation d’un nœud Emission.
  • Entre float et entier – les entiers deviennent simplement des floats, les floats sont tronqués.
  • Entre float et vecteur – quand un float devient un vecteur, la valeur est utilisée pour chaque composante. Quand un vecteur devient un float, la moyenne des composantes est prise.
  • Entre float et booléen – les valeurs supérieures à 0 sont vraies, vrai correspond à 1, et faux à 0.
  • Entre rotations et matrices.

La conversion explicite nécessite l’utilisation d’un nœud de conversion tel que le nœud Shader To RGB ou le nœud RGB to BW. Le nœud Math contient également certaines fonctions pour convertir entre degrés et radians.

Propriétés

De nombreux nœuds ont des paramètres qui peuvent affecter la façon dont ils interagissent avec les entrées et les sorties. Les paramètres des nœuds sont situés sous les sorties et au-dessus des entrées.

Un exemple des contrôles sur le nœud Chroma Key.

# Fields (Champs)

Fondamentalement, un field (champ) est une fonction : un ensemble d’instructions qui peut transformer un nombre arbitraire d’entrées en une seule sortie. Le résultat d’un champ peut ensuite être calculé plusieurs fois avec différentes données d’entrée. Ils sont utilisés dans tous les geometry nodes pour permettre des calculs qui produisent des résultats différents pour chaque élément (sommets de maillage, faces, etc.).

Un champ en entrée d’un nœud.

Par exemple, dans la figure ci-dessus, le champ connecté au nœud “Set Position” dépend de deux entrées, Position et Index, et les transforme en un vecteur en utilisant une seule instruction.

Visualisation des champs

Les formes des connecteurs (sockets) sont utilisées pour indiquer quels connecteurs sont des champs et lesquels sont des données régulières. Il existe trois formes possibles de connecteurs, chacune visualisant son “statut de champ” :

**Cercle :**Le connecteur nécessite une seule valeur réelle, il ne peut pas accepter un champ en entrée. Pour les connecteurs de sortie, cela signifie que le nœud produit toujours une seule valeur.**Losange :**Le connecteur peut accepter un champ en entrée, ou il produit un champ. Une valeur constante unique peut être connectée à ces connecteurs, mais la sortie ne variera souvent pas par élément.**Losange avec point :**Le connecteur peut être un champ, mais il s’agit actuellement d’une valeur unique. Cela est utile car il permet de suivre où les valeurs uniques sont calculées, au lieu d’un champ avec plusieurs résultats différents. Cela signifie également que l’Inspection des connecteurs affichera la valeur au lieu des noms d’entrée du champ.

La forme du connecteur est un losange avec un point, ce qui signifie que le champ a la même valeur pour chaque élément. Chaque point sera déplacé vers le haut de 5 m.

La forme du connecteur est un losange et l’entrée du champ a maintenant une entrée variable. En d’autres termes, la valeur peut être différente pour chaque élément. Dans ce cas, la position sera doublée, puisque le décalage pour chaque point est la position du point.

Astuce

Souvent, on souhaite extraire une seule valeur d’un champ. Bien qu’il ne soit pas logique conceptuellement de simplement transformer un champ en une seule valeur, le Nœud Sample Index ou le Nœud Attribute Statistic peuvent être utilisés pour récupérer une seule valeur d’un champ évalué sur une géométrie.

Lorsqu’une connexion est établie entre deux connecteurs de nœuds qui prennent en charge les champs, la connexion du nœud sera dessinée sous forme de ligne pointillée. Si vous faites l’erreur de connecter un connecteur non-champ à un connecteur de champ, la connexion sera dessinée sous forme de ligne rouge continue indiquant qu’il y a une erreur.

Types de nœuds

Les nœuds peuvent être séparés en deux catégories : les nœuds de flux de données qui transmettent généralement la géométrie, et les nœuds de champ qui opèrent sur les données par élément. Les nœuds de champ peuvent être des nœuds d’entrée qui apportent des données de géométrie dans l’arbre de nœuds, ou des nœuds de fonction qui opèrent sur ces données.

Nœuds de flux de données

Les nœuds avec une entrée de géométrie et une sortie de géométrie seront presque toujours des nœuds de flux de données. Cela signifie qu’ils modifient effectivement les données de géométrie qui seront produites par le modificateur Geometry Nodes.

Nœuds de fonction

Les nœuds avec des entrées et sorties de connecteurs en losange sont des nœuds de champ, et ressemblent aux instructions qui seront évaluées par les nœuds de flux de données. Des exemples de nœuds de fonction sont les nœuds mathématiques et aussi des nœuds plus complexes comme le Nœud Geometry Proximity.

Nœuds d’entrée

Les nœuds d’entrée fournissent des données au processus d’évaluation du champ. Par eux-mêmes, ils ne signifient rien ; ils doivent être évalués dans le contexte d’un nœud de flux de données (géométrie) pour réellement produire une valeur. Des exemples de nœuds d’entrée sont les nœuds d’entrée d’attributs intégrés comme Position et ID, mais aussi des nœuds de sélection comme Endpoint Selection.

Les entrées de champ peuvent également provenir d’autres nœuds qui traitent la géométrie comme le Distribute Points on Faces, sous la forme d’Attributs Anonymes.

Contexte de champ

Tous les nœuds de champ fonctionnent dans le contexte du nœud de flux de données auquel ils sont connectés. Le contexte consiste généralement en un type de composant de géométrie et un domaine d’attribut, donc il détermine quelles données sont récupérées à partir des nœuds d’entrée.

Un malentendu courant est que le même arbre de nœuds de champ utilisé à plusieurs endroits produira les mêmes données. Ce n’est pas nécessairement vrai, car l’arbre de nœuds de champ sera évalué pour chaque nœud de flux de données, récupérant potentiellement des données d’une géométrie différente ou modifiée.

Ici, le champ d’entrée du nœud Set Position est évalué une fois. Pour évaluer le champ, le nœud remonte en arrière pour récupérer les entrées des nœuds d’entrée de champ.

Lorsqu’un deuxième nœud Set Position est ajouté, le même arbre de nœuds de champ est évalué deux fois, une fois pour chaque nœud de flux de données. Au deuxième nœud Set Position, les résultats seront différents puisque son entrée de géométrie aura déjà la position modifiée du premier nœud.

Cependant, il est souvent nécessaire d’utiliser les mêmes valeurs de champ même après avoir modifié la géométrie. Le Nœud Capture Attribute évalue un champ, en copiant le résultat dans un attribut anonyme sur la géométrie.

Ici, un nœud Capture Attribute stocke une copie de la position initiale. Notez que l’évaluation du champ d’entrée du nœud Capture Attribute est une étape entièrement différente. Par la suite, les champs d’entrée des nœuds Set Position n’utilisent pas la position réelle, mais la copie d’attribut anonyme de celle-ci.

Nouvelles formes de sockets dans Blender

Traduction de l’article de Jacques Lucke publié le 8 août 2025 sur code.blender.org


Solution

Le principe directeur de cette refonte est le suivant : les formes de sockets communiquent le type de données qu’un nœud attend ou génère, indépendamment de la façon dont il est utilisé.

Signification des nouvelles formes

  • Barre verticale — Entrée/sortie de valeur unique
  • Losange (diamant) — Entrée/sortie de type champ (field)
  • Cercle — Types de données dynamiques (entrées/sorties flexibles)
  • Formes grille/liste — Fonctionnalités en cours de développement, sémantique similaire aux losanges

La forme losange-avec-point a été abandonnée.

Anciennes formes de sockets sur le nœud Set Position

Exemples

Quatre nœuds clés illustrent cette refonte :

  1. Nœud Math — Les sockets circulaires indiquent une compatibilité dynamique avec les valeurs uniques, les champs, les listes, etc.
  2. Nœud Triangulate — Entrées à valeur unique avec une sélection évaluée en tant que champ
  3. Nœud Set Position — Une entrée géométrie unique plus plusieurs entrées de type champ (toutes de forme identique)
  4. Nœud Cube — Entrées à valeur unique générant une sortie de type champ

Exemples d’utilisation des nouvelles formes de sockets

Point essentiel : les formes de sockets restent statiques, quelle que soit la connexion établie (à l’exception des nœuds de groupe).

Groupes de nœuds

Les nœuds d’entrée/sortie de groupe peuvent ajuster automatiquement leurs formes en fonction des connexions. Les auteurs peuvent remplacer la détection automatique lorsque la forme inférée ne correspond pas à la fonctionnalité souhaitée.

Comment remplacer la forme d’une entrée de groupe

Liens

Les connexions en pointillés indiquent toujours un passage potentiel de champ nécessitant un contexte d’évaluation. Elles complètent désormais l’information des formes de sockets au lieu de la dupliquer.

Liens de nœuds en pointillés

Nouvelles formes expérimentales

Les nœuds Sample Grid et Get List Item utilisent de nouvelles formes de sockets encore en développement, conçues pour les structures de données de type grille et liste.

Formes de sockets expérimentales pour les grilles et les listes

Informations perdues

Trois catégories d’informations précédemment communiquées ne sont plus visibles dans les formes de sockets :

  • Propagation de droite à gauche des exigences de valeur unique — toujours active en interne ; les avertissements sur les liens sont conservés
  • Propagation de gauche à droite de l’information de contenu de champ — préservée via les liens en pointillés
  • Distinction visuelle des valeurs de champ par défaut — accessible via les infobulles (tooltips)

Nœud Set Position avec une infobulle


Au-delà des Geometry Nodes

Ces nouvelles formes s’étendent aux nœuds du Compositeur, marquant les entrées acceptant uniquement des valeurs uniques et permettant potentiellement de distinguer les sockets d’image des sockets dynamiques. Le support futur des champs dans le compositing est en discussion.

Le nœud Glare utilise les nouvelles formes de sockets

Les nœuds de shaders ne sont pas concernés pour l’instant.

Débloquer de nouvelles fonctionnalités

Cette refonte élimine les barrières architecturales qui freinaient le développement des grilles volumétriques et des listes, accélérant ainsi la réalisation de fonctionnalités auparavant retardées par les contraintes liées aux formes de sockets.

Conclusion

Les auteurs reconnaissent que modifier la signification des formes de sockets affecte tous les utilisateurs des Geometry Nodes. Malgré la perte de certaines informations visuelles, les capacités acquises pour les nouvelles structures de données justifient ce compromis et évitent la stagnation du développement.


Source : code.blender.org/2025/08/new-socket-shapes — Jacques Lucke, 8 août 2025

Lien vers l'original