属性

属性 是一个通用术语,用来描述几何数据块中每个元素所存储的数据。例如,每个顶点都可以有一个相关的数字或矢量。属性可以通过连接一个值到 组输出 节点来改变,但也有许多节点可以改变特定属性的值。

Note

属性数据类型和域在可能的情况下被隐式转换,就像节点套接字一样。

已命名属性

在Blender的其他区域(如着色器、绘制和UV映射)中创建并使用命名属性。在 自定义选项面板 中,通过单击值按钮左侧的图标,可以使用命名属性进行输入。字符串输入输入允许您从修改器的输入几何体中搜索和选择现有属性。

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

属性查找。

属性搜索为每个属性提供了一些上下文。菜单左侧显示属性域,然后显示属性名称。菜单右侧显示属性数据类型。

匿名属性

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

法线旋转 输出是属性字段的示例,它们指的是存储在几何体上的属性。

匿名属性是存储在没有名称的几何体上的一组通用数据。通常,在Blender界面中公开的属性都有名称。然而,在几何节点中,属性可以通过节点套接字传递。在这些情况下,将创建 属性字段 输出,节点使用该输出查找输入几何体中的属性数据。

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 available too. However, anonymous attributes cannot be connected to a completely separate geometry that was created from a different source. To transfer attributes between separate geometries, the Sample Index Node or other similar nodes like the Sample Nearest Surface Node can be used.

属性数据类型

属性的类型是指存储在每个元素的数据种类。

布尔

真或假的值

整数

32位整数

8位整数

较小的整数,范围从-128到127

浮动

浮点数值

矢量

以浮点数值表示的三维矢量

二维矢量

带有浮点值的二维向量

颜色

带有32位浮点值的RGBA颜色

字节颜色

带有32位浮点值的RGBA颜色

上面的列表是按照最不复杂到最 “复杂” 的顺序排列的(一个整数可以比布尔值包含更多的数据,所以它更复杂)。当把独立的几何体连接在一起时,当有匹配的名称时,更复杂的数据类型是首选。当用 节点 ‣ 并入新框 连接具有命名属性的几何体时,这一点特别重要。

属性域

一个属性的域指的是该属性对应的几何元素的类型。知道一个属性的域是很重要的,因为它定义了它如何在节点和阴影中插值和使用。你可以使用 电子表格编辑器 来确定属性的域。

  • 属性与空间中的单个位置相关联,有一个位置。

    • 网格的顶点

    • 点云的点

    • 曲线控制点

  • 边缘 域属性是与网格的边缘相关的。

  • 域属性是与网格的面相关的。

  • 面拐角 域属性是与网格的面角相关的。一个例子是UV贴图属性。

  • 样条 域属性与一组相连的曲线控制点相关。

  • 实例 域属性存在于几何体中的 实例项 。它们可以用来在几何体数据的副本上存储不同的值。实例域属性只在几何体节点中被支持。

属性会自动内插到其他域中。例如,当 位置节点 连接到 属性会自动内插到其他域中。例如,当 /modeling/geometry_nodes/input/position 连接到 /modeling/geometry_nodes/material/set_material 节点的选择输入时,数值会从 点 域插值到 面 域。通常情况下,域的转换使用简单的平均值,但 布尔 数据类型属性对插值有特殊规则。 节点的选择输入时,数值会从 域插值到 域。通常情况下,域的转换使用简单的平均值,但 布尔 数据类型属性对插值有特殊规则。

布尔域插值

来自

转换

点光

如果选择了边缘的两个顶点,则会选择边缘。

点光

如果选择了面上的所有顶点,则会选择面。

点光

拐角

每个角的值只是其顶点处的值的副本。

点光

样条线

如果选择了样条所有控制点,则会选择样条。

点光

如果选择了任何连接的边缘,则选择一个顶点。

如果选择了面部的所有边缘,则选择面部

拐角

如果选择了角的两个相邻边缘,则选择一个角。

点光

如果选择了任何连接面,则选择顶点。

如果选择了任何连接的面,则选择边缘。

拐角

每个角落的价值只是其面部价值的副本。

拐角

点光

如果选择了所有连接的面角,并且它不是松散的顶点,则选择一个顶点。

拐角

如果选择了相邻面上的所有角,则会选择边缘。

拐角

如果选择了面的所有角,则选择面。

样条线

点光

每个点的值只是样条对应值的副本。

内置属性

内置属性始终存在,无法删除。无法更改其数据类型和域。

名称

类型

领域

注意

位置

矢量

点光

描述几何体的本地空间中的顶点或点位置的内置属性。更改点位置的任何节点都将调整此属性,例如 变形设置位置 节点。

半径

浮点数

点光

用于设置视口中点大小的点云上的内置属性。内置在曲线上,其中它控制转换为网格时每个曲线控制点的大小,或其他操作。

id

整数(Integer)

点光

由 /modeling/geometry_nodes/point/distribute_points_on_faces 创建,以便在输入网格的形状发生变化时提供稳定性,并在实例上用于创建运动模糊。值应为大值,无订单。此属性由生成随机性的节点使用,例如 /modeling/geometry_nodes/utilities/random_value 。与其他内置属性不同,此属性不是必需的,可以删除。 创建,以便在输入网格的形状发生变化时提供稳定性,并在实例上用于创建运动模糊。值应为大值,无订单。此属性由生成随机性的节点使用,例如 输出随机值。 。与其他内置属性不同,此属性不是必需的,可以删除。

material_index

整数(Integer)

用于为网格中的每个面指定材质槽。

折痕

浮点数

细分面 修改器使用的边缘属性。值限制在0和1的范围内。

平滑着色

布尔

属性确定面是否应在视口或渲染中启用平滑阴影。

分辨率

整数(Integer)

样条线

确定样条线的两个控制点之间的计算点数。只有NURBS和Bézier样条具有此属性,对于聚样条,值始终是一个。

循环

布尔

样条线

确定样条是否具有连接其第一个和最后一个控制点的段。

handle_left

矢量

点光

描述曲线控制点的左手柄在曲线起始侧的位置。仅当曲线包含Bézier样条时才存在。

handle_right

矢量

点光

描述曲线控制点的右手柄在曲线端侧的位置。仅当曲线包含Bézier样条时才存在。

Naming Conventions 命名习惯

默认情况下不存在这些属性,但Blender的某些部分隐含使用这些属性。这些属性的数据类型可以更改,就像内置属性之外的任何属性一样。但是, Blender可能期望这些属性具有某种类型。

名称

类型

注意

velocity

矢量

用于在渲染动画时创建运动模糊。

自定义属性

顶点组、UV贴图和颜色属性可用作几何节点中的属性。他们被称为他们的名字。应避免命名碰撞(例如,具有相同名称的顶点组和UV地图)。如果存在命名冲突,则在几何节点中只能访问其中一个属性。

首次使用名称时,节点也可以创建具有任何其他名称的属性。

请注意,如果使用像 加入几何学 这样的节点,几何节点并不总是产生例如顶点组。同样,如果顶点组属性的数据类型从最初的 “Float “类型改变,该属性将不再是一个顶点组。

属性转换运算符

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

在属性编辑器的 属性 面板中找到的此运算符可以更改属性的域或数据类型。

由于属性领域的持续开发, Blender的许多区域还不能使用几何节点所使用的通用属性(使用名称标识,存储在任何域中并具有任何数据类型)。在某些情况下,必须将现有工具与从几何节点生成的数据一起使用,这使得该运算符成为一个基本的解决方案。

模式

  • 泛型

    插入并转换此页面上描述的域和数据类型之间的属性。

    UV贴图

    创建 UV贴图 层,可在UV编辑器中编辑。否则,这些将由面角域上的2D矢量属性表示。

    顶点组

    更多信息见 顶点组

Note

此运算符仅适用于 原始 对象数据,不包括修改器的结果,因此几何节点添加或更改的任何属性都不会受到影响。要更改在程序上生成的属性的类型,必须应用修改器。