Champs

Fondamentalement, un champ est une fonction : un ensemble d’instructions qui peut transformer un nombre arbitraire d’entrées en une seule sortie. Le résultat d’un champ peut ensuite être calculé plusieurs fois avec différentes données d’entrée. Ils sont utilisés sur tous les nœuds de la géométrie pour permettre des calculs qui ont des résultats différents pour chaque élément (sommets de maillage, faces, etc.).

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

Un champ d’entrée vers un nœud.

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.

Visualisation de Champ

Les formes de socket sont utilisées pour indiquer quels sockets sont des champs et lesquels sont des données régulières. Il existe trois formes de sockets possibles, chacune visualisant son “field status” (état du champ) :

Circle

Le socket nécessite une seule valeur réelle, il ne peut pas accepter une entrée de champ. Pour les sockets de sortie, cela signifie que le nœud sort toujours une seule valeur.

Losange

Le socket peut accepter une entrée de champ ou il génère un champ. Une valeur unique constante peut être connectée à ces prises, mais la sortie ne variera souvent pas par élément.

Losange avec un pointt

Le socket peut être un champ, mais il s’agit actuellement d’une valeur unique. C’est utile car il permet de suivre où des valeurs uniques sont calculées, au lieu d’un champ avec de nombreux résultats différents. Cela signifie également qu’une Inspection de socket affichera la valeur au lieu des noms des entrées de champ.

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

La forme du socket est un losange avec un point, ce qui signifie que le champ a la même valeur pour chaque élément. Chaque point sera déplacé vers le haut de 5 m.

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

La forme du socket est un losange et l’entrée de champ a maintenant une entrée variable. En d’autres termes, la valeur peut être différente pour chaque élément. Dans ce cas, la position sera doublée, puisque le décalage pour chaque point est la position du point.

Astuce

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 Nœud Attribute Statistic can be used to retrieve a single value from a field evaluated on a geometry.

Lorsqu’une connexion est établie entre deux sockets de nœud qui prennent en charge les champs, la connexion de nœud sera dessinée sous la forme d’une ligne pointillée. Si vous faites l’erreur de connecter une prise non-field à une prise field, la connexion sera tracée sous la forme d’une ligne rouge continue indiquant qu’il y a une erreur.

Types de nœud

Les nœuds peuvent être séparés en deux catégories : les nœuds de flux de données qui passent généralement par la géométrie et les nœuds de champ qui fonctionnent sur les données par élément. Les nœuds de champ peuvent être des nœuds d’entrée qui apportent des données géométriques dans l’arborescence de nœuds ou des nœuds de fonction qui opèrent sur ces données.

Les nœuds Data Flow

Les nœuds avec une entrée et une sortie de géométrie seront presque toujours des nœuds de flux de données. Cela signifie qu’ils modifient réellement les données géométriques qui seront sorties de à partir du modificateur Nœuds géométriques.

Les nœuds Function

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 Nœud Geometry Proximity.

Les nœuds Input

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.

Les entrées de champ peuvent également provenir d’autres nœuds qui traitent la géométrie comme le Nœud Distribute Points on Faces, sous la forme d'Attributs anonymes.

Contexte du champ

Tous les nœuds de champ fonctionnent dans le contexte du nœud de flux de données auquel ils sont connectés. Le contexte se compose généralement d’un type de composant géométrique et d’un domaine attribut, il détermine donc quelles données sont extraites des nœuds d’entrée.

Un malentendu courant est que la même arborescence de nœuds de champ utilisée à plusieurs endroits produira les mêmes données. Ce n’est pas nécessairement vrai, car l’arborescence des nœuds de champ sera évaluée pour chaque nœud de flux de données, en récupérant potentiellement des données à partir d’une géométrie différente ou modifiée.

../../_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

Lorsqu’un deuxième nœud Set Position est ajouté, la même arborescence de nœuds de champ est évaluée deux fois, une fois pour chaque nœud de flux de données. Au deuxième nœud Set Position, les résultats seront différents puisque son entrée de géométrie aura déjà la position modifiée par rapport au premier nœud.

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

Cependant, il est souvent nécessaire d’utiliser les mêmes valeurs de champ même après avoir modifié la géométrie. Le Nœud Capture Attribute évalue un champ, en copiant le résultat dans un attribut anonyme sur la géométrie.

Ici, un nœud Capture Attribute stocke une copie de la position initiale. Notez que l’évaluation de l’entrée de champ du nœud Capture Attribute est une étape entièrement différente. Plus tard, les champs de saisie des nœuds Set Position n’utilisent pas la position réelle, mais la copie de l’attribut anonyme de celle-ci.