Atributos

Atributo es un término genérico para describir datos almacenados por cada elemento de un bloque de datos de geometría. Por ejemplo: cada vértice podría tener un número o un vector asociado. Los atributos podrán ser alterados conectando un valor al nodo Salidas de grupo, pero también muchos nodos tienen la capacidad de cambiar los valores de atributos específicos.

Nota

Los tipos de datos y dominios de los atributos serán convertidos de forma implícita cuando sea posible, como sucede con los conectores de los nodos.

Atributos nombrados

Los atributos nombrados son creados y usados en otras áreas de Blender como en sombreadores, la pintura y el mapeo UV. En el panel del modificador será posible usar un atributo nombrado como entrada, haciendo clic en el ícono a la derecha del valor. El campo de entrada permitirá buscar y elegir entre los atributos existentes de la geometría de entrada del modificador.

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

Búsqueda de atributos.

Durante la búsqueda de atributos se proporciona contexto acerca de cada atributo listado. Del lado izquierdo, se mostrará el dominio de cada atributo, seguido por el nombre del mismo. Del lado derecho, el tipo de datos almacenado en cada atributo.

Atributos anónimos

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

Las salidas Normal y Rotación son ejemplos de campos de atributos, que refieren a un atributo almacenado en una geometría.

Un atributo anónimo es un conjunto de datos genérico almacenado en una geometría, y que no posee nombre. Usualmente los atributos expuestos en la interfaz de Blender tienen un nombre. Sin embargo, en nodos de geometría, los atributos pueden ser pasados de un lado a otro mediante los conectores de los nodos. En estos casos, se creará un Campo de atributo que será usado por los nodos para encontrar datos de atributos de una geometría entrante.

Los atributos anónimos serán almacenados en la geometría como los demás atributos y serán también interpolados automáticamente, cuando la geometría cambie debido a otros nodos, excepto en algunos pocos casos. Así que, en términos generales, si la conexión del nodo aún se encontrara accesible, el atributo al cual hace referencia debería estar disponible también. Más allá de esto, los atributos anónimos no podrán ser conectados a una geometría completamente separada que hubiera sido creada a partir de una fuente diferente. Para transferir atributos entre geometrías separadas, podrá usarse el Sample Index Node u otros nodos similares, como el Sample Nearest Surface Node.

Tipos de datos de atributos

El tipo de un atributo define la clase de dato almacenado en cada elemento.

Booleana:

True or false value.

Entero:

32-bit integer.

Entero (8 bits):

Smaller integer with a range from -128 to 127.

Float:

Floating-point value.

Vector:

3D vector with floating-point values.

Vector 2D:

2D vector with floating-point values.

Color:

RGBA color with 32-bit floating-point values.

Color (byte):

RGBA color with 8-bit positive integer values.

Cuaternio:

Floating point Quaternion rotation.

La lista de arriba se encuentra en orden de «complejidad» creciente (Un entero podrá cotener más datos que un booleano, por lo que su complejidad es mayor). Al unir varias geometrías en una, si existieran nombres coincidentes, se preferirá el tipo de dato de mayor complejidad. Esto resulta particularmente importante al unir geometría con atributos con nombre usando el Join Geometry Node

Para almacenar Vectores 2D (mapas UV) y de Color (byte) deberá utilizarse el Store Named Attribute Node, debido a que no existen conectores para esos tipos.

Data Conversion

Through the use of Geometry Nodes, data can be converted between types.

Conversiones válidas:

  • Entre color y vector – mapeo entre canales de color y componentes vectoriales.

  • Entre color y variable – el dato de color se convierte a su equivalente escala de grises.

  • Between float and integer – integers simply become floats, floats are truncated.

  • Between float and vector – when a float becomes a vector the value is used for each component. When a vector becomes a float the average of the components is taken.

  • Between float and boolean – values greater than 0 are true, true maps to 1, and false maps to 0.

Dominios de atributos

El dominio de un atributo se refiere al tipo de elemento geométrico al cual corresponde. Conocer el dominio de un atributo es importante porque definirá cómo podrá ser interpolado y usado en nodos y el sombreado. Será posible usar la Planilla para determinar los dominios de los atributos.

  • Punto: Los atributos de este dominio se encuentran asociados a posiciones individuales en el espacio:
    • Vértices de una malla

    • Puntos de una nube de puntos

    • Puntos de control de una curva

  • Borde: Los atributos de este dominio se encuentran asociados a los bordes de una malla.

  • Cara: Los atributos de este dominio se encuentran asociados a las caras de una malla.

  • Esquina de cara: Los atributos de este dominio se encuentran asociados a las esquinas de las caras de una malla. Un ejemplo sería un atributo de mapa UV.

  • Curva: Los atributos de este dominio se encuentran asociados a un grupo de puntos de control de una curva.

  • Instancias: Los atributos de este dominio existen en las Instancias de una geometría. Pueden ser usados para almacenar distintos valores en copias de los datos de una geometría. Los atributos de este dominio sólo están soportados en nodos de geometría.

Los atributos serán interpolados automáticamente a otros dominios. Por ejemplo: cuando el Position Node se encontrara conectado al conector de entrada Selección del Set Material Node, los valores serán interpolados desde el dominio Punto al dominio Cara. Normalmente, las conversiones de dominio utilizan simples promedios para los valores, sin embargo los atributos de tipo Booleano tienen la siguientes reglas especiales para su interpolación:

Interpolación de dominios de booleanos

Desde

Hasta

Conversión

Punto (o Apuntar)

Borde

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

Punto (o Apuntar)

Cara

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

Punto (o Apuntar)

Esquina

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

Punto (o Apuntar)

Curva

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

Borde

Punto (o Apuntar)

A vertex is selected if any connected edge was selected.

Borde

Cara

A face is selected if all of its edges are selected

Borde

Esquina

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

Cara

Punto (o Apuntar)

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

Cara

Borde

An edge is selected if any connected face was selected.

Cara

Esquina

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

Esquina

Punto (o Apuntar)

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

Esquina

Borde

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

Esquina

Cara

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

Curva

Punto (o Apuntar)

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

Atributos internos

Los atributos internos siempre existen y no pueden ser eliminados. Sus tipos de datos y dominios no pueden ser modificados.

Nombre

Tipo

Dominio

Notas

position

Vector

Punto

Atributo interno que describe la posición de vértices o puntos, en espacio local de una geometría. Cualquier nodo que cambie la posición de puntos estará ajustando este atributo, como en los casos: Transform Geometry Node y Set Position Node.

radius

Decimal

Punto

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

Entero

Punto

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 Nodo de Valor Aleatorio. Unlike other built-in attributes, this attribute is not required, and can be removed.

material_index

Entero

Cara

Used to specify the material slot for every face in a mesh.

sharp_edge

Booleano

Borde

Attribute determining if an edge should have flat (rather than smooth) shading enabled in the viewport or a render.

sharp_face

Booleano

Cara

Attribute determining if a face should have flat (rather than smooth) shading enabled in the viewport or a render.

resolution

Entero

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

Booleano

Spline

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

handle_left

Vector

Punto

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

Punto

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.

Convenciones 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.

Custom Attributes

Vertex groups, UV maps and Color Attributes are available as attributes in geometry nodes. They are referred to by their name. Naming collisions (e.g. a vertex group and a UV map with the same name) should be avoided. If there is a naming collision, only one of the attributes is accessible in geometry nodes.

Attributes with any other name can also be created by nodes, when the name is used for the first time.

Note that geometry nodes does not always produce e.g. vertex groups if a node like Join Geometry is used. Similarly, if the data type of a vertex group attribute is changed from the initial «Float» type, the attribute will no longer be a vertex group.

Attribute Conversion Operator

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

This operator found in the Attributes panel of the property editor can change the domain or data type of an attribute.

Due to ongoing development in the area of attributes, many areas of Blender can not yet work with the generic (identified with a name, stored on any domain with any data type) attributes used by geometry nodes. That makes this operator an essential workaround in some cases where existing tools must be used with data generated from geometry nodes.

Modo
Generic:

Interpolate and convert the attribute between the domains and data types described on this page.

Grupo de vértices:

Create a Vertex Group from the attribute, which corresponds to a float attribute on the point domain.

Nota

This operator only works on original object data, not including the results of modifiers, so any attributes added or changed by geometry nodes will not be affected. To change the type of an attribute generated procedurally, modifiers must be applied.