The sides of a box split into one object per value of a primitive attribute, each coloured by its object, then split further into pieces that touch.
geo/SplitByAttribute geo/Connectivity geo/AttributeCreate
Documentation / Node reference / geo nodes
Creates an attribute on the input, or sets the value of one it already has.
Attributes
Writes one value onto every point, primitive or object of the input, or onto the input as a whole (STAGE), under the name you choose. The value can be a number you type or an expression evaluated for each entity, so attrib(.P) * 2 doubles every position.
A point or primitive attribute is FLOAT32 by default. Set the precision to FLOAT64 to write a value a float32 cannot hold: a NURBS weight, for example, which the WEIGHT attribute stores in float64. FLOAT64 offers FLOAT, VECTOR2 and VECTOR3.
When the attribute already exists with the other precision, the node writes into it and keeps its precision, so setting WEIGHT with FLOAT32 still reaches a NURBS curve. P follows the same rule: the points keep their precision, so float64 points written with FLOAT64 keep every digit you type. When it exists with another shape (a vector where you write a number), the node stops with an error that names both types.
| Name | Type | What it does |
|---|---|---|
| group | String | Only the entities in this group get the value. The others keep theirs, or zero if the attribute is new. Empty writes every entity. |
| entity | UInt8 POINT · PRIMITIVE · OBJECT · STAGE | What carries the attribute: each point, each primitive, each object, or the input as a whole (STAGE). |
| name | AttributeName | The attribute's name. Writing P moves the points. |
| geoType | UInt8 FLOAT · INDEX · U32 · VECTOR2 · VECTOR3 · VECTOR4 · VECTOR2_64 · VECTOR3_64 · FLOAT64 · VECTOR2_U32 · VECTOR3_U32 · VECTOR4_U32 | The type of a point or primitive attribute: a number, or a vector of 2, 3 or 4 numbers. VECTOR2_U32 to VECTOR4_U32 hold whole numbers, such as the indices of other points or primitives. With precision FLOAT64, FLOAT, VECTOR2 and VECTOR3 only. |
| precision | UInt8 FLOAT32 · FLOAT64 | FLOAT32 writes the usual attribute. FLOAT64 writes a float64 one, for a value with more digits than a float32 keeps, such as a NURBS weight. An attribute that already exists keeps the precision it has, and so does P. |
| objectType | UInt8 BASE_NODE_HANDLE · BOOL · COLOR · COLOR4 · FLOAT · FLOAT64 · MATERIAL_HANDLE · NETWORK_PANEL_SCENE_OBJECT_CONFIG · S8 · S32 · STRING · U8 · U32 · VECTOR2 · VECTOR2_64 · VECTOR2UINT · VECTOR3 · VECTOR3_64 · VECTOR3UINT · VECTOR4 | The type of an object or STAGE attribute. FLOAT64, VECTOR2_64 and VECTOR3_64 keep every digit of a float64, for an expression to read back exactly. |
| setValue | Bool | Off leaves the values alone and only creates the attribute (zero where it is new), or changes how an existing point attribute is instanced. |
| value_Bool | Bool | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Color | Color | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Color4 | Color4 | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Float | Float | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_SInt8 | SInt8 | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_SInt32 | SInt32 | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_UInt8 | UInt8 | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_UInt32 | UInt32 | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Vector2 | Vector2 | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Vector2UInt | Vector2UInt | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Vector3 | Vector3 | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Vector3UInt | Vector3UInt | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Vector4 | Vector4 | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Vector4UInt | Vector4UInt | The value written. A number, or an expression evaluated for each entity, such as attrib(.P) * 2. |
| value_Float64 | Float64 | The value written, kept in float64. Type it with all its digits, or write an expression evaluated for each entity. |
| value_Vector2_64 | Vector2_64 | The value written, kept in float64. Type it with all its digits, or write an expression evaluated for each entity. |
| value_Vector3_64 | Vector3_64 | The value written, kept in float64. Type it with all its digits, or write an expression evaluated for each entity. |
| value_String | String | The text written onto each object or onto the STAGE. |
| instanced | UInt8 AUTO · TRUE · FALSE | Whether a point attribute is read per instance. AUTO follows the input: per instance on an instanced geometry, per point otherwise. |
Scenes you can open in the editor that teach this node.
The sides of a box split into one object per value of a primitive attribute, each coloured by its object, then split further into pieces that touch.
geo/SplitByAttribute geo/Connectivity geo/AttributeCreate
This page is generated from the engine, so it describes the release you can download. The same text is in the editor's Help panel next to the node itself.