Attributes#

Un attribut est un terme générique pour décrire les données stockées par-élément dans un bloc de données de géométrie. Par exemple, chaque sommet peut avoir un nombre ou un vecteur associé. Les attributs peuvent être modifiés par les nœuds de la catégorie Group Output (Groupe de sortie), mais certains autres nœuds peuvent également modifier les valeurs d’attributs spécifiques.

Note

Les types de données d’attribut et de domaines sont convertis implicitement lorsque cela est possible, tout comme les sockets de nœuds.

Attributs nommés#

Les attributs nommés sont créés et utilisés dans d’autres domaines de Blender comme les shaders, la peinture et le mappage UV. Dans le modifier panel, un attribut nommé peut être utilisé comme entrée en cliquant sur l’icône à gauche du bouton de valeur. La chaîne en entrée vous permet de rechercher et de choisir des attributs existants à partir de l’entrée géométrie du modificateur.

../../_images/modeling_geometry-nodes_attribute-reference_search.png

Recherche d’Attribut.#

La recherche d’attribut donne un peu de contexte sur chaque attribut. À gauche du menu, le domaine d’attribut est affiché suivi du nom de l’attribut. À droite du menu, le type de données d’attribut est affiché.

Attributs anonymes#

../../_images/modeling_geometry-nodes_attribute-reference_attribute-field.png

Les sorties Normal et Rotation sont des exemples de champs d’attribut, qui font référence à un attribut stocké sur une géométrie.#

Un attribut anonyme est un ensemble de données génériques stockées sur une géométrie qui n’a pas de nom. Habituellement, les attributs exposés dans l’interface de Blender ont tous des noms. Cependant, dans les nœuds de géométrie, les attributs peuvent être transmis avec des sockets de nœud. Dans ces cas, une sortie Attribute Field est créée, qui est utilisée par les nœuds pour rechercher des données d’attribut dans une géométrie d’entrée.

Les attributs anonymes sont toujours stockés sur la géométrie comme les autres attributs et ils sont même automatiquement interpolés lorsque la géométrie change avec d’autres nœuds, sauf dans quelques cas. Donc généralement, si le lien du nœud est toujours accessible, l’attribut qu’il référence le sera aussi. Cependant, les attributs anonymes ne peuvent pas être connectés à une géométrie complètement séparée qui n’a pas été créée à partir de leur source. Pour transférer des attributs entre des pièces de géométrie distinctes, le Nœud Sample Index peut être utilisé ou d’autres nœuds similaires comme le Nœud Sample Nearest Surface.

Les types de données d’attribut#

Le type d’un attribut est le type des données stockées dans chaque élément.

Boolean:

Valeur vraie ou fausse (true or false).

Integer:

Entier - 32 bits.

8-Bit Integer:

Entier plus petit compris entre -128 et 127.

Float:

Valeur à virgule flottante.

Vecteur:

Vecteur 3D avec des valeurs à virgule flottante.

2D Vector:

Vecteur 2D avec des valeurs à virgule flottante.

Color:

Couleur RGBA avec valeurs à virgule flottante 32 bits.

Byte Color:

Couleur RGBA avec des valeurs entières positives de 8 bits.

Quaternion:

Virgule flottante Rotation de Quaternion.

La liste ci-dessus est dans l’ordre du moins au plus “complexe” (Un entier peut contenir plus de données qu’un booléen, c’est donc plus compliqué). Lorsque vous joignez des géométries distinctes, le type de données le plus complexe est préféré lorsqu’il existe des noms correspondants. C’est particulièrement important lors de la jointure d’une géométrie avec des attributs nommés avec le Nœud Join Geometry

Pour stocker des vecteurs 2D (cartes UV) et des Byte Colors, le Nœud Nœud Store Named Attribute doit être utilisé car il n’y a pas de sockets pour ces types.

Conversions de données#

Grâce à l’utilisation de nœuds géométriques, les données peuvent être converties entre les types.

Conversions valides :

  • Entre couleur et vecteur - mappage entre les canaux de couleur et les composants vectoriels.

  • Entre color et float – Les données de couleur sont converties en leur équivalent en niveaux de gris.

  • Entre float et entier –- les entiers deviennent simplement des floats, les floats sont tronqués.

  • Entre float et vecteur –- lorsqu’un float devient un vecteur, la valeur est utilisée pour chaque composant. Lorsqu’un vecteur devient float, la moyenne des composantes est utilisée.

  • Entre float et booléen – les valeurs supérieures à 0 sont vraies, vraies mappées à 1 et fausses mappées à 0.

Domaines d’attribut#

Le domaine d’un attribut fait référence au type d’élément géométrique auquel l’attribut correspond. Connaître le domaine d’un attribut est important car il définit comment il peut être interpolé et utilisé dans les nœuds et l’ombrage. Vous pouvez utiliser Spreadsheet Editor pour déterminer les domaines d’attributs.

  • Les attributs de domaine Point sont associés à des emplacements uniques dans l’espace avec une position :

    • Les sommets d’un maillage

    • Les points d’un nuage de points

    • Les points de contrôle d’une courbe

  • Les attributs du domaine Edge sont associés aux arêtes d’un maillage.

  • Les attributs du domaine Face sont associés aux faces d’un maillage.

  • Les attributs du domaine Face Corner sont associés aux coins des faces du maillage. Un exemple est un attribut UVMap.

  • Les Edge domain attributes sont associés aux arêtes du maillage.Les attributs de domaine Spline sont associés à un groupe de points de contrôle de courbe connectés.

  • Les attributs de domaine Instance existent sur les Instances d’une géométrie. Ils peuvent être utilisés pour stocker différentes valeurs sur des copies de données géométriques. Les attributs de domaine d’instance sont uniquement pris en charge dans les nœuds de géométrie.

Les attributs sont automatiquement interpolés vers d’autres domaines. Par exemple, lorsque le Nœud Position est connecté à l’entrée de sélection du Nœud Set Material, les valeurs sont interpolées du domaine Point vers le domaine Face. Normalement, les conversions de domaine utilisent des moyennes simples pour les valeurs, mais les attributs de type de données Boolean ont des règles spéciales pour l’interpolation :

Interpolation de domaine booléen#

Depuis

Vers

Conversion

Point

Edge

Une arête est sélectionnée si ses deux sommets ont été sélectionnés.

Point

Face

Une face est sélectionnée si tous ses sommets ont également été sélectionnés.

Point

Corner

La valeur de chaque coin est simplement une copie de la valeur à son sommet.

Point

Spline

Une spline est sélectionnée si tous ses points de contrôle ont été sélectionnés.

Edge

Point

Un sommet est sélectionné si une arête connectée a été sélectionnée.

Edge

Face

Une face est sélectionnée si toutes ses arêtes sont sélectionnées

Edge

Corner

Un coin est sélectionné si ses deux arêtes adjacentes ont été sélectionnées.

Face

Point

Un sommet est sélectionné si l’une des faces connectées a été sélectionnée.

Face

Edge

Une arête est sélectionnée si une face connectée a été sélectionnée.

Face

Corner

La valeur de chaque coin est simplement une copie de la valeur à sa face.

Corner

Point

Un sommet est sélectionné si tous les coins de face connectés ont été sélectionnés et qu’il ne s’agit pas d’un sommet isolé.

Corner

Edge

Une arête est sélectionnée si tous les coins des faces adjacentes ont été sélectionnés.

Corner

Face

Une face est sélectionnée si tous ses coins ont été sélectionnés.

Spline

Point

La valeur de chaque point est simplement une copie de la valeur correspondante de la spline.

Attributs intégrés#

Les attributs intégrés (built-in attributes) existent toujours et ne peuvent pas être supprimés. Leur type de données et leur domaine ne peuvent pas être modifiés.

Name

Type

Domaine

Notes

position

Vector

Point

Attribut intégré décrivant les emplacements des sommets ou des points, dans l’espace local d’une géométrie. Tout nœud qui modifie l’emplacement des points ajustera cet attribut, comme le Nœud Transform Geometry et le Nœud Set Position.

radius

Float

Point

Un attribut intégré sur les nuages de points utilisé pour définir la taille des points dans la fenêtre. Également intégré sur les courbes, où il contrôle la taille de chaque point de contrôle de la courbe lorsqu’elle est convertie en maillage ou pour d’autres opérations.

id

Integer

Point

Créé par le Nœud Distribute Points on Faces pour assurer la stabilité lorsque la forme du maillage d’entrée change, et utilisé sur les instances pour créer un flou de mouvement. Les valeurs sont censées être importantes, sans ordre. Cet attribut est utilisé par les nœuds qui génèrent de l’aléatoire, comme le Nœud Random Value. Contrairement à d’autres attributs intégrés, cet attribut n’est pas obligatoire et peut être supprimé si nécessaire.

material_index

Integer

Face

Utilisé pour spécifier le slot de matériau pour chaque face d’un maillage.

crease

Float

Edge

Edge attribute used by the Subdivision Surface modifier. The values are limited to a range of 0 and 1.

sharp_edge

Booléen

Edge

Attribut déterminant si un ombrage plat (plutôt que lisse) doit être activé sur une face dans la fenêtre ou dans un rendu.

sharp_face

Booléen

Face

Attribut déterminant si un ombrage plat (plutôt que lisse) doit être activé sur une face dans la fenêtre ou dans un rendu.

resolution

Integer

Spline

Détermine le nombre de points évalués entre deux points de contrôle d’une spline. Seules les splines NURBS et Bézier ont cet attribut, pour les poly splines, la valeur est toujours un.

cyclic

Booléen

Spline

Détermine si la spline a un segment qui relie son premier et son dernier points de contrôle.

handle_left

Vector

Point

Décrit l’emplacement de la poignée gauche d’un point de contrôle de courbe, du côté du début de la courbe. N’existe que lorsque la courbe contient une spline de Bézier.

handle_right

Vector

Point

Décrit l’emplacement de la poignée droite d’un point de contrôle de courbe, sur le côté de l’extrémité de la courbe. N’existe que lorsque la courbe contient une spline de Bézier.

Conventions de nommage#

Ces attributs n’existent pas par défaut, mais sont utilisés implicitement par certaines parties de Blender. Le type de données de ces attributs peut être modifié, tout comme n’importe quel attribut en plus des attributs intégrés. Cependant, Blender peut s’attendre à ce que les attributs aient un certain type.

Name

Type

Notes

velocity

Vector

Utilisé pour créer un flou de mouvement lors du rendu des animations.

rest_position

Vector

Maintient la position des points ou des sommets avant qu’une géométrie ne soit déformée de manière procédurale. Peut être créé automatiquement avant l’évaluation des Clés de forme et des Modificateurs avec l’option Add Rest Position.

surface_uv_coordinate

2D Vector

Used to describe curve attachment locations on a mesh surface, typically used for hair use cases.

sculpt_face_set

Integer

Utilisé par Sculpt Face Sets Feature.

sculpt_mask

Float

Utilisé par Sculpt Masking Feature.

Attributs personnalisés#

Les groupes de sommets, les cartes UV et les attributs de couleur sont disponibles en tant qu’attributs dans les nœuds de géométrie. Ils sont désignés par leur nom. Les collisions de noms (par exemple, un groupe de sommets et une carte UV avec le même nom) doivent être évitées. En cas de collision de noms, un seul des attributs est accessible dans les nœuds géométriques.

Des attributs avec n’importe quel autre nom peuvent également être créés par des nœuds, lorsque le nom est utilisé pour la première fois.

Notez que les nœuds géométriques ne produisent pas toujours par ex. groupes de sommets si un nœud tel que Join Geometry est utilisé. De même, si le type de données d’un attribut de groupe de sommets est modifié par rapport au type “Float” initial, l’attribut ne sera plus un groupe de sommets.

Opérateur de conversion d’attribut#

../../_images/modeling_geometry-nodes_attribute-reference_convert.png

Cet opérateur présent dans le panneau Attributes de l’éditeur de propriétés peut modifier le domaine ou le type de données d’un attribut.

En raison du développement continu dans le domaine des attributs, de nombreuses zones de Blender ne peuvent pas encore fonctionner avec des attributs génériques (identifiés par un nom, stockés sur n’importe quel domaine avec n’importe quel type de données) utilisés par les nœuds géométriques. Cela fait de cet opérateur une solution de contournement essentielle dans certains cas où des outils existants doivent être utilisés avec des données générées à partir de nœuds géométriques.

Mode
Generic:

Interpole et convertit l’attribut entre les domaines et les types de données décrits sur cette page.

Vertex Group:

Crée un Vertex Group à partir de l’attribut, qui correspond à un attribut flottant sur le domaine ponctuel.

Note

Cet opérateur ne fonctionne que sur les données de l’objet d’origine, à l’exclusion des résultats des modificateurs, de sorte que les attributs ajoutés ou modifiés par les nœuds géométriques ne seront pas affectés. Pour changer le type d’un attribut généré de manière procédurale, des modificateurs doivent être appliqués.