Atributos

An attribute is a generic term to describe data stored per-element in a geometry data-block. For example, every vertex can have an associated number or vector. Attributes can be altered by connecting a value to the Group Output node, but also many nodes can change the values of specific attributes.

Nota

Attribute data types and domains are converted implicitly where possible, just like node sockets.

Named Attributes

In the modifier, it is possible to access attributes with names, created and used in other areas of Blender like shaders, painting, and UV mapping. The attribute can be chosen with a name, and the string input allows you to search and choose existing attributes.

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

Busca de Atributos.

A busca de atributos fornece um pouco de contexto sobre cada atributo. À esquerda do menu, o domínio do atributo é mostrado seguido pelo nome do atributo. À direita do menu, o tipo de dado do atributo é mostrado.

Anonymous Attributes

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

The Normal and Rotation outputs are examples of attribute fields, which refer to an attribute stored on a geometry.

An anonymous attribute is a set of generic data stored on a geometry that doesn’t have a name. Usually, attributes exposed in Blender’s interface all have names. However, in geometry nodes, attributes can be passed around with node sockets. In these cases, an Attribute Field output is created, which is used by nodes to find attribute data in an input geometry.

Anonymous attributes are still stored on the geometry like other attributes, and they are even automatically interpolated when the geometry changes with other nodes, except for a few cases. So generally, if the node link is still accessible, the attribute it references will be too. However, anonymous attributes cannot be connected to a completely separate geometry that was not created from their source. To transfer attributes between separate geometries, the Transfer Attribute Node can be used.

Attribute Data Types

The type of an attribute is the kind of data stored at each element.

Boolean

True or false value

Integer

32-bit integer

Float

Floating-point value

Vector

3D vector with floating-point values

Color

RGBA color with floating-point precision

The above list is in the order of least to most «complex» (An integer can contain more data than a boolean, so it is more complicated). When joining separate geometries together, the more complex data type is preferred when there are matching names. This is particularly important when joining geometry with named attributes with the Join Geometry Node

Attribute Domains

The domain of an attribute refers to what type of geometry element the attribute corresponds to. Knowing the domain of an attribute is important because it defines how it may be interpolated and used in nodes and shading. You can use the Spreadsheet Editor to determine the domains of attributes.

  • Point domain attributes are associated with single locations in space with a position:

    • Vertices of a mesh

    • Points of a point cloud

    • Curve control points

  • Edge domain attributes are associated with the edges of a mesh.

  • Face domain attributes are associated with the faces of a mesh.

  • Face Corner domain attributes are associated with the corners of the faces of the mesh. An example is a UV map attribute.

  • Spline domain attributes are associated with a group of connected curve control points.

Attributes are automatically interpolated to other domains. For example, when the Position Node is connected to the selection input of the Set Material Node node, the values are interpolated from the Point domain to the Face domain. Normally, domain conversions use simple averages for values, but Boolean data type attributes have special rules for interpolation:

Boolean Domain Interpolation

From

To

Conversão

Point

Edge

An edge is selected if both of its vertices were selected.

Point

Face

A face is selected if all of its vertices were selected too.

Point

Corner

Each corner’s value is simply a copy of the value at its vertex.

Point

Spline

A spline is selected if all of its control points were selected.

Edge

Point

A vertex is selected if any connected edge was selected.

Edge

Face

A face is selected if all of its edges are selected

Edge

Corner

A corner is selected if its two adjacent edges were selected.

Face

Point

A vertex is selected if any of the connected faces were selected.

Face

Edge

An edge is selected if any connected face was selected.

Face

Edge

Each corner’s value is simply a copy of the value at its face.

Corner

Point

A vertex is selected if all connected face corners were selected and it is not a loose vertex.

Corner

Edge

An edge is selected if all corners on adjacent faces were selected.

Corner

Face

A face is selected if all of its corners were selected.

Spline

Point

Each point’s value is simply a copy of the corresponding value of the spline.

Built-In Attributes

Built-in attributes always exist, and cannot be removed. Their data type and domain cannot be changed.

Nome

Tipo

Domínio

Notas

position

Vector

Point

Built-in attribute describing vertex or point locations, in the local space of a geometry. Any node that changes the location of points will adjust this attribute, like the Transform and Set Position nodes.

radius

Float

Point

A built-in attribute on point clouds used to set the size for the points in the viewport. Also built-in on curves, where it controls the size of each curve control point when converted to a mesh, or for other operations.

id

Integer

Point

Created by the Distribute Points on Faces to provide stability when the shape of the input mesh changes, and used on instances to create motion blur. Values are expected to be large, with no order. This attribute is used by nodes that generate randomness, like the Random Value Node. Unlike other built-in attributes, this attribute is not required, and can be removed.

material_index

Integer

Face

Usado para especificar o slot do material de cada face na malha.

crease

Float

Edge

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

shade_smooth

Boolean

Face

Attribute determining if a face should have smooth shading enabled in the viewport or a render.

``resolution`

Integer

Spline

Determines the number of evaluated points between two control points of a spline. Only NURBS and Bézier splines have this attribute, for poly splines, the value is always one.

cyclic

Boolean

Spline

Determines whether the spline has a segment that connects its first and last control points.

handle_left

Vector

Point

Describes the location of the left handle of a curve control point, on the side of the curve’s start. Only exists when the curve contains a Bézier spline.

handle_right

Vector

Point

Describes the location of the right handle of a curve control point, on the side of the curve’s end. Only exists when the curve contains a Bézier spline.

Convenções de nomenclatura

These attributes do not exist by default, but are used implicitly by certain parts of Blender. The data type of these attributes can be changed, just like any attribute besides the built-in attributes. However, the attributes might be expected by Blender to have a certain type.

Nome

Tipo

Notas

velocity

Vector

Used to create motion blur when rendering animations.

Custom Attributes

Vertex groups, mapas UV e vertex colors estão disponíveis como atributos no geometry nodes. Eles são referidos pelo seu nome. Nomear colisões (ex. um vertex group e um mapa UV com mesmo nome) deve ser evitado. Se houver uma colisão de nomes, apenas um dos atributos é acessível pela geometria.

Atributos com qualquer outro nome podem também ser criados por nos, quando o nome é usado pela primeira vez.

Note que o geometry nodes nem sempre produz ex. vertex groups se um nó tipo Join Geometry é usado. Similarmente, se o tipo de dado de um grupo de atributo é alterado do tipo «Float» inicial, o atributo não será mais um vertex group.