Campos

Fundamentalmente, um field é uma função: um conjunto de instruções que pode transformar um número arbitrário de entradas em uma única saída. O resultado de um field pode ser calculado várias vezes com diferentes dados de entrada. Eles são usados em todo geometry nodes para permitir cálculos que tem diferentes resultados para cada elemento (vértice da malha, faces, etc.).

../../_images/modeling_geometry-nodes_fields_title.png

Um nó field de entrada.

For example, in the figure above, the field connected to the «Set Position» node depends on two inputs, Position and Index, and transforms them into a vector using a single instruction.

Visualização de Field

O formato de soquetes são usados para comunicar quais soquetes são fields e quais são dados regulares. Existem três formas de soquete possíveis, cada uma visualizando seu «field status».

Círculo

O soquete requer um única valor real, não pode aceitar uma entrada de campo. Para soquetes de saída, isso significa que o nó sempre gera um único valor.

Diamond

O soquete pode aceitar uma entrada de campo, ou gera um campo. Um valor único constante pode ser conectado a esses soquetes, mas a saída geralmente não varia por elemento.

Diamante com Ponto

O soquete pode ser um campo, mas atualmente é um valor único. Isso é útil porque permite rastrear onde valores únicos são calculados, em vez de um campo com muitos resultados diferentes. Isso também significa que a Inspeção de Soquetes irá mostrar o valor em vez dos nomes de entrada de campo.

../../_images/modeling_geometry-nodes_fields_constant.png

A forma do soquete é um diamante com um ponto, significando que o campo tem o mesmo valor para cada elemento. Cada ponto será movido para cima em 5 m.

../../_images/modeling_geometry-nodes_fields_varying.png

A forma do soquete é um diamante e a entrada field tem agora uma entrada variável. Em outras palavras, o valor pode ser diferente para cada elemento. Nesse caso, a posição será dobrada, já que o offset para cara ponto é a posição do ponto.

Dica

Often it is desired to extract a single value from a field. While it doesn’t make sense conceptually to simply change a field into a single value, the Transfer Attribute Node in Index mode or the Attribute Statistic Node can be used to retrieve a single value from a field evaluated on a geometry.

Quando uma conexão é feita entre dois soquetes de nós que suportam campos a conexão do nó será desenhada como uma linha tracejada. Se você cometer o erro de conectar um soquete não de campo a um soquete de campo, a conexão será desenhada como uma linha vermelha sólida indicando que há um erro.

Tipos de nós

Nós podem ser separados em duas categorias: nós de fluxo de dados que usualmente passam geometria, e nós de campo que operam em dados por elemento. Nós de campo podem ser nós de entrada que trazem dados de geometria na árvore de nós, ou nós de função que operam nesses dados.

Nós de Fluxo de Dados

Nós com uma entrada geometria e uma saída geometria irão quase sempre ser nós de fluxo de dados. O que significa que eles realmente alteram os dados de geometria que serão gerados pelo modificador Geometry Nodes.

Nós Função

Nodes with diamond socket inputs and outputs are field nodes, and resemble the instructions that will be evaluated by data flow nodes. Examples of function nodes are the math nodes and also more complex nodes like the Geometry Proximity Node.

Input Nodes

Input nodes provide data to the field evaluation process. By themselves, they mean nothing; they must be evaluated within the context of a data flow node (geometry) to actually output a value. Examples of input nodes are the built-in attribute input nodes like Position and ID, but also selection nodes like Endpoint Selection.

Entradas de campo também podem vir de outros nós que processam geometria como o Distribute Points on Faces, na forma de Anonymous Attributes.

Contexto de Campo

Todos os nós de campo trabalham no contexto do nó de fluxo de dados que eles estão conectados. O contexto geralmente consiste em um tipo de componente de geometria em um domínio de atributo, portanto determina quais dados são recuperados dos nós de entrada.

Um mal-entendido comum é que a mesma árvore de nó de campo usada em vários locais produzirá os mesmos dados. Isso não é necessariamente verdade, porque a árvore de nó do campo será calculada para cada nó de fluxo de dados, potencialmente obtendo dados de uma geometria diferente ou alterada.

../../_images/modeling_geometry-nodes_fields_flow-1.png

Here, the Set Position node’s input field is evaluated once. To evaluate the field, the node traverses backwards to retrieve the inputs from the field input nodes.

../../_images/modeling_geometry-nodes_fields_flow-2.png

Quando um segundo nó Set Position é adicionado, a mesma árvore de nós é calculada duas vezes, uma para cada nó de fluxo de dados. No segundo nó Set Position, os resultados serão diferentes já que a geometria de entrada já terá a posição alterada pelo primeiro nó.

../../_images/modeling_geometry-nodes_fields_flow-3.png

No entanto, muitas vezes é necessário usar os mesmos valores de campo mesmo depois de alterar a geometria. O Capture Attribute Node calcula um campo, copiando o resultado a um anonymous attribute na geometria.

Aqui, um nó Capture Attribute armazena uma cópia da posição inicial. Note que calcular a entrada de campo do nó Capture Attribute é uma etapa totalmente diferente. Posteriormente, os campos de entrada para os nós Set Position não usam a posição atual, mas a cópia de atributo anônimo dele.