Атрибуты (attributes)#

Атрибут — это общий термин для описания данных, хранящихся для каждого элемента в блоке данных геометрии. Например, каждая вершина может иметь связанное с ней число или вектор. Атрибуты можно изменить, подключив значение к узлу Group Output, но также многие узлы могут изменять значения определённых атрибутов.

Примечание

Типы данных атрибутов и домены преобразуются неявно, где это возможно, точно так же, как порты узлов.

Именованные атрибуты#

Named attributes are created and used in other areas of Blender like shaders, painting, and UV mapping. In the modifier panel, a named attribute can be used for input by clicking the icon to the right of the value button. The string input input allows you to search and choose existing attributes from the modifier’s input geometry.

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

Поиск по атрибуту.#

Поиск по атрибуту даёт немного контекста о каждом атрибуте. Слева от меню отображается домен атрибута, за которым следует имя атрибута. Справа от меню отображается тип данных атрибута.

Анонимные атрибуты#

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

Выходные порты Normal и Rotation являются примерами полей атрибутов, которые относятся к атрибуту, хранящемуся в геометрии.#

Анонимный атрибут — это набор общих данных, хранящихся в геометрии, у которой нет имени. Обычно атрибуты, отображаемые в интерфейсе Blender, имеют имена. Однако в узлах геометрии атрибуты можно передавать с помощью портов узла. В этих случаях создается выходное поле Attribute Field, которое используется узлами для поиска данных атрибутов во входной геометрии.

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.

Типы данных атрибута#

Тип атрибута — это тип данных, хранящихся в каждом элементе.

Логический (boolean):

Истинное или ложное значение.

Целое число (integer):

32-битное целое число.

8-Bit Integer:

Smaller integer with a range from -128 to 127.

Нецелое (float):

Значение с плавающей запятой.

Вектор (vector):

3D вектор со значениями с плавающей запятой.

2D вектор:

2D-вектор со значениями с плавающей запятой.

Цвет (color):

Цвет RGBA с 32-битными значениями с плавающей запятой.

Byte Color:

Цвет RGBA с 8-битными положительными целочисленными значениями.

Кватернион (Quaternion):

Floating point Quaternion rotation.

Вышеприведенный список составлен в порядке от наименее к наиболее «сложному» (целое число может содержать больше данных, чем логическое, поэтому оно более сложное). При соединении отдельных геометрий предпочтительнее использовать более сложный тип данных, если есть совпадающие имена. Это особенно важно при соединении геометрии с именованными атрибутами с помощью Нода «Соединить геометрию» (join geometry node)

To store 2D Vectors (UV maps) and Byte Colors the Нода «Сохранить названный атрибут» (store named attribute) must be used because there are no sockets for those types.

Преобразование данных#

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

Допустимые конвертации:

  • Между цветом и вектором – сопоставление цветовых каналов и векторных компонентов.

  • Между цветом и плавающей точкой – данные цвета преобразуются в эквивалент оттенков серого.

  • Между числами с плавающей запятой и целыми числами – целые числа просто становятся числами с плавающей запятой, а числа с плавающей запятой сокращаются.

  • Между числом с плавающей запятой и вектором – когда число с плавающей запятой становится вектором, значение используется для каждого компонента. Когда вектор становится числом с плавающей запятой, берётся среднее значение компонентов.

  • Между числами с плавающей запятой и логическими значениями – значения больше 0 являются истинными, истинные соответствуют 1, а ложные соответствуют 0.

Домены атрибутов#

Домен атрибута относится к типу элемента геометрии, которому соответствует атрибут. Знание домена атрибута важно, потому что оно определяет, как его можно интерполировать и использовать в узлах и затенении. Вы можете использовать Редактор электронных таблиц для определения доменов атрибутов.

  • Point атрибуты связаны с отдельными местоположениями в пространстве с позицией:
    • Вершины сетки

    • Точки облака точек

    • Контрольные точки кривой

  • Edge атрибуты домена связаны с рёбрами сетки.

  • Face атрибуты связаны с гранями сетки.

  • Face Corner атрибуты домена связаны с углами граней сетки. Примером может служить атрибут UV-карты .

  • Spline атрибуты домена связаны с группой связанных контрольных точек кривой.

  • Instance атрибуты домена существуют в экземплярах (Экземпляры (instances)) геометрии. Их можно использовать для хранения различных значений копий геометрических данных. Атрибуты домена экземпляра поддерживаются только в узлах геометрии.

Attributes are automatically interpolated to other domains. For example, when the Нода «Положение» (position node) is connected to the selection input of the Нода «Установить материал» (set material node) node, the values are interpolated from the Point domain to the Face domain. Normally, domain conversions use simple averages for values, but Boolean data type attributes have special rules for interpolation:

Логическая интерполяция домена#

Из

В

Конвертация (conversion)

Точка (point)

Ребро/край (edge)

Ребро выбрано, если были выбраны обе его вершины.

Точка (point)

Грань (face)

Грань выбрана, если все её вершины также были выбраны.

Точка (point)

Corner (угол)

Значение каждого угла — это просто копия значения в его вершине.

Точка (point)

Cплайн (spline)

Сплайн считается выбранным, если были выбраны все его контрольные точки.

Ребро/край (edge)

Точка (point)

Вершина выбрана, если было выбрано любое связанное ребро.

Ребро/край (edge)

Грань (face)

Грань выбрана, если выбраны все её ребра

Ребро/край (edge)

Corner (угол)

Угол выбран, если были выбраны два его соседних ребра.

Грань (face)

Точка (point)

Вершина выбрана, если была выбрана любая из соединённых граней.

Грань (face)

Ребро/край (edge)

Ребро выбирается, если была выбрана какая-либо соединённая грань.

Грань (face)

Corner (угол)

Значение каждого угла — это просто копия значения на его лицевой грани.

Corner (угол)

Точка (point)

Вершина выбрана, если были выбраны все соединённые углы граней и она не является свободной вершиной.

Corner (угол)

Ребро/край (edge)

Ребро выбрано, если были выбраны все углы на соседних гранях.

Corner (угол)

Грань (face)

Грань выбрана, если были выбраны все её углы.

Cплайн (spline)

Точка (point)

Значение каждой точки является просто копией соответствующего значения сплайна.

Встроенные атрибуты#

Встроенные атрибуты существуют всегда и не могут быть удалены. Их тип данных и домен не могут быть изменены.

Имя (name)

Тип (type)

Домен (domain)

Примечания

position

Vector

Point

Built-in attribute describing vertex or point locations, in the local space of a geometry. Any node that changes the location of points will adjust this attribute, like the Нода «Трансформировать геометрию» (transform geometry node) and the Нода «Установить положение» (set position node).

radius

Float

Point

Встроенный атрибут облака точек, используемый для установки размера точек в окне просмотра. Также встроен в кривые, где он управляет размером каждой контрольной точки кривой при преобразовании в сетку или для других операций.

id

Integer (Целое число)

Point

Создается с помощью Нода «Распределить точки на гранях» (distribute points on faces) для обеспечения стабильности при изменении формы входной сетки и используется в экземплярах для создания размытия движения. Ожидается, что значения будут большими, без порядка. Этот атрибут используется узлами, генерирующими случайность, такими как Нода «Случайное значение» (random value node). В отличие от других встроенных атрибутов, этот атрибут не является обязательным и может быть удалён.

material_index

Integer (Целое число)

Face

Используется для указания слота материала для каждой грани в сетке.

sharp_edge (острое ребро)

Boolean (Логический)

Edge (Ребро)

Атрибут, определяющий, должно ли ребро иметь плоский (а не плавный) шейдинг во вьюпорте или рендере.

sharp_face

Boolean (Логический)

Face

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

resolution

Integer (Целое число)

Spline

Определяет количество оцениваемых точек между двумя контрольными точками сплайна. Только сплайны NURBS и Безье имеют этот атрибут, для полисплайнов значение всегда равно единице.

cyclic

Boolean (Логический)

Spline

Определяет, есть ли у сплайна сегмент, соединяющий его первую и последнюю контрольные точки.

handle_left

Vector

Point

Описывает расположение левой ручки контрольной точки кривой со стороны начала кривой. Существует только тогда, когда кривая содержит сплайн Безье.

handle_right

Vector

Point

Описывает расположение правой ручки контрольной точки кривой со стороны конца кривой. Существует только тогда, когда кривая содержит сплайн Безье.

Соглашения именования#

Эти атрибуты не существуют по умолчанию, но неявно используются некоторыми частями Blender. Тип данных этих атрибутов можно изменить, как и любой атрибут, кроме встроенных атрибутов. Однако Blender может ожидать, что атрибуты будут иметь определённый тип.

Имя (name)

Тип (type)

Домен (domain)

Примечания

velocity

Vector

Point

Используется для создания размытия движения при рендеринге анимации.

расслабленная_позиция

Vector

Point

Holds the position of points or vertices from before a geometry is deformed procedurally. Can be created automatically before Shape Keys and Modifiers are evaluated with the Add Rest Position option.

surface_uv_coordinate

2D вектор

Curve

Used to describe curve attachment locations on a mesh surface, typically used for the hair system.

crease_vert

Float

Point

Vertex attribute used by the Subdivision Surface modifier. The values are expected to be in a range of 0 and 1.

crease_edge

Float

Edge (Ребро)

Edge attribute used by the Subdivision Surface modifier. The values are expected to be in a range of 0 and 1.

uv_seam

Boolean (Логический)

Edge (Ребро)

True if an edge is considered a boundary between UV islands when unwrapping.

bevel_weight_vert

Float

Point

Used as vertex control for the bevel modifier.

bevel_weight_edge

Float

Edge (Ребро)

Used as edge control for the bevel modifier.

sculpt_face_set

Integer (Целое число)

Face

Used by the Sculpt Face Sets Feature.

sculpt_mask

Float

Point

Used by the Sculpt Masking Feature.

sculpt_face_set

Integer (Целое число)

Face

Used by the Sculpt Face Sets Feature.

Пользовательские атрибуты#

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.

Атрибуты с любым другим именем также могут быть созданы узлами, когда это имя используется впервые.

Обратите внимание, что узлы геометрии не всегда производят, например, группы вершин, если используется такой узел, как Join Geometry. Точно так же, если тип данных атрибута группы вершин изменён с исходного типа «Float», атрибут больше не будет группой вершин.

Оператор преобразования атрибутов#

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

Этот оператор, расположенный на панели Attributes редактора свойств, может изменить домен или тип данных атрибута.

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.

Режим (mode)
Общий (generic):

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

Группа вершин (vertex group):

Создание Группы вершин из атрибута, который соответствует атрибуту с плавающей запятой в домене точек.

Примечание

Этот оператор работает только с исходными данными объекта, не включая результаты модификаторов, поэтому любые атрибуты, добавленные или изменённые узлами геометрии, не будут затронуты. Чтобы изменить тип атрибута, сгенерированного процедурно, необходимо применять модификаторы.