从根本上说,场是一种函数:一组指令,能够将任意数量的输入转换为单一输出。场的结果可通过不同输入数据反复计算。它们广泛应用于几何节点中,用于实现针对每个元素(网格顶点、面等)产生不同结果的计算。

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

输入节点的场。

例如,在上图中,连接到 “设置位置” 节点的场依赖于两个输入:位置编号,并通过单个指令将其转换为矢量。

场可视化

../../_images/modeling_geometry-nodes_fields_visualization.webp

如果节点连接来自场接口,则会以虚线绘制;否则,将以实线绘制。

如果您误将非场接口连接到场接口,该连接将显示为实心红线,以提示存在错误。

Tip

通常需要从场中提取单一值。虽然从概念上讲将场直接转换为单一值并不合理,但可通过采样编号属性统计在几何体上评估场后获取单一值。

节点类型

节点可分为两类:通常通过几何形状的数据流节点和在每个元素的数据上运行的场节点。场节点可以是将几何数据带入节点树中的输入节点,或在该数据上操作的函数节点。

数据流节点

具有几何输入和几何输出的节点几乎总是数据流节点。这意味着他们实际上更改了将从几何节点修改器输出的几何数据。

功能节点

具有菱形接口输入和输出的节点是场节点,并且类似于将由数据流节点评估的指令。函数节点的示例包括数学节点和更复杂的节点,比如几何接近

输入节点

输入节点为场评估过程提供数据。它们本身没有任何含义;它们必须在数据流节点(几何体)的上下文中进行评估,才能实际输出值。输入节点的例子包括位置ID 等内置属性输入节点,以及端点选择等选择类节点。

场输入也可能来自处理几何形状的其他节点,如分布点于面上,其形式为匿名属性

场上下文

所有场节点在其所连接的数据流节点的上下文中工作。上下文通常由几何组件类型和属性域组成,因此它确定从输入节点检索哪些数据。

一个常见的误解是,在多个地方使用的相同场节点树将输出相同的数据。这并不一定是真实的,因为将针对每个数据流节点评估场节点树,从而可能从不同或改变的几何体检索数据。

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

在这里,设置位置节点的输入场将被评估一次。为了评估场,节点向后遍历以从场输入节点检索输入值。

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

当添加第二个设置位置节点时,同一个场节点树被评估两次,每个数据流节点一次。在第二个设置位置节点处,结果将不同,因为其几何输入将已经具有与第一个节点改变的位置。

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

但是,即使在更改几何形状后,通常也需要使用相同的场值。捕捉属性评估一个场,将结果复制到几何体上的匿名属性中。

在这里,捕捉属性节点存储初始位置的副本。请注意,评估捕捉属性节点的场输入是一个完全不同的步骤。之后,设置位置节点的输入场不会使用实际位置,而是使用其匿名属性副本。