Evaluate Closure

Nœud Evaluate Closure

Le nœud Evaluate Closure exécute un Closure Zone. Il agit comme le call site de la clôture, exécutant son graphe interne de nœuds et retournant les valeurs obtenues.

Les Closures permettent d’activer des groupes de nœuds dynamiques et personnalisables en permettant aux utilisateurs de transmettre une logique procédurale dans une autre arborescence de nœuds. Lorsque le nœud Evaluate Closure s’exécute, la closure connectée est évaluée dans le contexte local, en faisant correspondre ses sockets d’entrée et de sortie par nom.

Les utilisations courantes du nœud Evaluate Closure sont les suivantes :

  • Autoriser des comportements définis par l’utilisateur à l’intérieur des systèmes procéduraux (par exemple, la diffusion personnalisée, les règles de placement ou la logique d’ombrage).

  • Injection de logique dans des groupes de nœuds réutilisables pour des effets avancés.

  • Fourniture d’entrées de personnalisation facultatives pour les outils basés sur des nœuds de haut niveau.

Inputs

Closure

La closure à évaluer. Cette entrée attend une connexion à partir d’une zone de closure. Si aucune closure n’est connectée, le nœud fonctionne en mode pass-through (voir ci-dessous).

Interface

Le nœud peut définir manuellement des entrées supplémentaires, qui sont mises en correspondance par leur nom avec les entrées correspondantes de la closure. Lorsque la closure est connectée, ces prises se synchronisent automatiquement pour refléter l’interface définie de la closure.

Propriétés

Le nœud Evaluate Closure n’a pas de propriétés fonctionnelles, mais son interface d’entrée et de sortie peut être gérée dans l’onglet Node de la barre latérale.

Sync Sockets

Met à jour le nœud actuel pour qu’il corresponde à la signature de socket des nœuds connectés. À utiliser après avoir renommé, ajouté ou supprimé des sockets.

Define Signature

Marque le nœud comme définissant une signature de closure à utiliser par d’autres nœuds de closure. Garantit des définitions d’entrée et de sortie cohérentes entre les closures associées.

Éléments d’entrée

List of input sockets

Affiche une entrée par socket défini dans la closure. Double-cliquer pour renommer.

Add Item

Ajoute une nouvelle prise d’entrée à l’interface de closure.

Remove Item

Supprime le socket d’entrée sélectionné.

Type

Le type de données de la prise sélectionnée (par exemple, Float, Vector, Geometry, Object, Bundle). Pour les types de valeur, un champ de valeur par défaut apparaît et est utilisé lorsque la prise est dissociée.

Shape

Définit la structure de données prise en charge par le socket d’entrée, telle qu’une valeur Single, Field ou Grid. La forme détermine la manière dont les données sont évaluées et transmises via le réseau de nœuds. Voir Socket Shape pour plus d’informations.

Éléments de sortie

List of output sockets

Affiche une entrée par socket de sortie. Double-cliquez pour renommer.

Add Item

Ajouter un nouveau socket de sortie au nœud.

Remove Item

Supprime le socket de sortie sélectionné.

Type

Le type de données de la prise sélectionnée (par exemple, Float, Vector, Geometry, Object, Bundle). Pour les types de valeur, un champ de valeur par défaut apparaît et est utilisé lorsque la prise est dissociée.

Outputs

Les sorties du nœud Evaluate Closure dépendent de sa configuration actuelle :

  • Lorsqu’une closure est connectée –- Chaque sortie correspond à une prise de sortie de la Closure Zone du même nom.

  • Lorsqu’aucune fermeture n’est connectée – Les sorties sont définies manuellement via la section Output Items (Éléments de sortie) de la barre latérale.

Comportement

Lorsqu’il est exécuté, ce nœud évalue le graphe de nœud interne de la closure connectée. Toutes les valeurs d’entrée sont transmises par nom à la closure, et toutes les valeurs résultantes sont renvoyées via les sorties correspondantes.

Si aucune closure n’est connectée ou si le nœud est mis en sourdine, l’option Evaluate Closure passe automatiquement par nom toutes les entrées et sorties correspondantes. Ce pass-through mode rend les closures facultatives et permet aux groupes de nœuds de fonctionner même s’ils n’en ont pas.

L’évaluation s’effectue dans le contexte local de l’arborescence de nœuds où réside l’option Evaluate Closure, en héritant des champs, des attributs et des données géométriques pertinents.

Utilisation

Le nœud Evaluate Closure est généralement utilisé pour rendre un groupe de nœuds partiellement personnalisable tout en conservant une infrastructure stable et réutilisable.

Par exemple, un générateur de terrain peut utiliser l’option Evaluate Closure pour définir la répartition des arbres dans un paysage :

  1. À l’intérieur du groupe générateur, remplacer la logique de placement de l’arborescence fixe par un nœud Evaluate Closure.

  2. Exposer l’entrée de closure sur l’interface du groupe.

  3. Dans l’arborescence principale des nœuds, connecter une Closure Zone définissant le comportement souhaité de la distribution des arbres.

Chaque fois que la closure est évaluée, le graphe de nœuds connectés s’exécute dans le contexte du générateur de terrain, produisant un résultat personnalisé.

../../../../_images/nodes_closure_example.png

Exemple : distribution d’arborescence personnalisée à l’aide de l’option Evaluate Closure.

Synchronisation des sockets

Les Closures reposent sur des noms de socket correspondants pour connecter correctement les entrées et les sorties. Si les nœuds connectés Closure Zone et Evaluate Closure ont des signatures incompatibles, Blender peut les synchroniser automatiquement.

  • Une icône de synchronisation s’affiche lorsque la disposition de la prise diffère.

  • En cliquant sur l’icône, les prises sont mises à jour pour qu’elles correspondent à la closure connectée.

  • La synchronisation automatique se produit la première fois qu’une closure est connectée.

  • Les sockets existants ne sont jamais modifiés automatiquement par la suite pour éviter la perte de données.

Limitations

  • Les nœuds de visualisation et d’inspection peuvent ne pas afficher des valeurs précises lorsque les closures sont évaluées dans plusieurs contextes.

  • Les valeurs externes capturées sont en lecture seule et ne peuvent pas être modifiées dans l’évaluation.

  • Les Closures ne peuvent actuellement pas accéder aux attributs ou aux données en dehors de leur contexte d’évaluation.