Bundles de nœuds

Un bundle est un conteneur qui regroupe plusieurs valeurs dans un seul socket. Cela permet de passer de nombreuses valeurs via un seul lien, semblable à une structure (struct) en programmation.

Les bundles réduisent le nombre d’entrées et de sorties exposées dans un groupe de nœuds et peuvent contenir des types de données mixtes tels que de la géométrie, des champs, des valeurs, des objets ou même des bundles imbriqués.

../../../../_images/interface-nodes-bundle-example.png

Un cube et un cylindre combinés en un bundle, puis séparés à nouveau

Nœuds (Nodes)

Les nœuds suivants sont fournis pour travailler avec les bundles :

Bundle nodes allow adding or removing an arbitrary number of sockets, with flexible type support.

Bundles can be attached to geometry using get/set geometry bundle nodes. These can be used to pass bundled data between modifiers and objects.

Typed Bundles

A typed bundle is a bundle that contains a special Type item identifying its purpose. The type is stored as a string and allows node groups to recognize bundles without relying on their internal structure.

Using types makes bundles easier to exchange between node groups and different Geometry Nodes modifiers, since a node group can search for a specific type rather than assuming a particular bundle layout.

Bundles can also contain other bundles, allowing complex data to be organized hierarchically.

Creating Typed Bundles

The Add Typed Bundle operator creates a typed bundle by constructing a bundle containing the required Type item.

Important

The string item named Type is reserved for identifying typed bundles. It should not be used for any other purpose within a bundle.

Searching Typed Bundles

The Get Nested Bundle Paths node searches a bundle hierarchy for bundles with a matching type.

This allows node groups to locate typed bundles even when they are nested inside other bundles.

For example, a geometry may contain multiple bundles describing different components. A node group can search for all bundles of a particular type without requiring them to exist at a fixed location.

Utilisation

Les Bundles sont utiles dans de nombreux flux de travail :

  • Interfaces simplifiées – regrouper les entrées dans un seul socket pour plus de clarté.

  • Simulations physiques –- regrouper toutes les entités et contraintes pour un solveur.

  • Systèmes déclaratifs – stocker des données structurées complexes pour une évaluation ultérieure.

  • Jeux de textures – combiner les cartes PBR (Couleur de base, Rugosité, Normal) en une seule prise.

Synchronisation des sockets

Les bundles utilisent des noms de socket pour correspondre à leurs entrées et sorties. Si deux nœuds de bundle sont connectés mais ont des signatures incompatibles, Blender peut proposer de les synchroniser automatiquement.

  • La synchronisation se produit automatiquement lorsqu’un nœud est connecté pour la première fois.

  • Les sockets existants ne sont jamais mis à jour automatiquement pour éviter d’écraser les données.

  • Un bouton (Sync Sockets) apparaît sur le nœud lorsqu’une incompatibilité est détectée, ce qui permet une synchronisation manuelle.