Fields
For working with and manipulating fields. Evaluating at specific indices, offsetting, fallback values and picking from groups.
Index Mixed
Offset the current point’s Index
by a given amount, returning the fractional Index value
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index | Int |
The Index at which to add the Offset value to |
Index |
Offset | Float |
The offset value to add to the to the Index |
0.5 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Mixed | Float |
The sum of the Offset and the Index |
0.0 |
Floor | Int |
The floor of the Mixed output |
None |
Ceiling | Int |
The Ceiling of the mixed output |
None |
Index Mix Float
Sample and interpolate the Float
value between the floor and ceiling of the given Index
, by the fractional amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Value | Float |
The field to interpolate based on the input Index |
0.0 |
Index | Float |
The floor and ceiling of this Index value is taken and used for sampling, the fraction of this value is then used to mix between the sampled values | 0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Float |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
0.0 |
From | Int |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
None |
To | Int |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
None |
Index Mix Vector
Sample and interpolate the Vector
value between the floor and ceiling of the given Index
, by the fractional amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Value | Vector |
The field to interpolate based on the input Index |
[0.0, 0.0, 0.0] |
Index | Float |
The floor and ceiling of this Index value is taken and used for sampling, the fraction of this value is then used to mix between the sampled values | 0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Vector |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
[0.0, 0.0, 0.0] |
From | Int |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
None |
To | Int |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
None |
Index Mix Rotation
Sample and interpolate the Rotation
value between the floor and ceiling of the given Index
, by the fractional amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Rotation | Rotation |
The field to interpolate based on the input Index |
<Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'> |
Index | Float |
The floor and ceiling of this Index value is taken and used for sampling, the fraction of this value is then used to mix between the sampled values | 0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Rotation | Rotation |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
<Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'> |
From | Int |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
None |
To | Int |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
None |
Index Mix Color
Sample and interpolate the Color
value between the floor and ceiling of the given Index
, by the fractional amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Color | Color |
The field to interpolate based on the input Index |
[1.0, 1.0, 1.0, 1.0] |
Index | Float |
The floor and ceiling of this Index value is taken and used for sampling, the fraction of this value is then used to mix between the sampled values | 0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Color | Color |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
[0.0, 0.0, 0.0, 1.0] |
From | Int |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
None |
To | Int |
The mixed value of the field, first evaluating the field at the From and To Indices then mixing between them based on the fraction of the input Index |
None |
Sample Position
Sample the Position
attribute from a point at the given Index
A convenience wrapper around the Sample Index
and Position
nodes
Inputs
Name | Type | Description | Default |
---|---|---|---|
Geometry | Geometry |
The geometry to sample the Position from |
None |
Position | Vector |
The Position field to sample the values from |
Position |
Index | Int |
The Index at which to sample the Position field from |
Index |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Position | Vector |
The sampled Position field |
[0.0, 0.0, 0.0] |
Sample Mixed Float
Sample the Float
attribute, mixed between the floor and ceiling of the given Index
Inputs
Name | Type | Description | Default |
---|---|---|---|
Geometry | Geometry |
The geometry to sample the values from | None |
Value | Float |
The field to mix and evaluate on the sample geometry | 0.0 |
Index | Float |
The index to sample the value from. The fractional component of the index is used to mix between values using Index Mix ... nodes |
0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Float |
The evaluated and mixed field, sampled from the sample geometry at the given Index |
0.0 |
Sample Mixed Vector
Sample the Vector
attribute, mixed between the floor and ceiling of the given Index
Inputs
Name | Type | Description | Default |
---|---|---|---|
Geometry | Geometry |
The geometry to sample the values from | None |
Value | Vector |
The field to mix and evaluate on the sample geometry | [0.0, 0.0, 0.0] |
Index | Float |
The index to sample the value from. The fractional component of the index is used to mix between values using Index Mix ... nodes |
0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Vector |
The evaluated and mixed field, sampled from the sample geometry at the given Index |
[0.0, 0.0, 0.0] |
Sample Mixed Rotation
Sample the Rotation
attribute, mixed between the floor and ceiling of the given Index
Inputs
Name | Type | Description | Default |
---|---|---|---|
Geometry | Geometry |
The geometry to sample the values from | None |
Rotation | Rotation |
The field to mix and evaluate on the sample geometry | <Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'> |
Index | Float |
The index to sample the value from. The fractional component of the index is used to mix between values using Index Mix ... nodes |
0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Rotation | Rotation |
The evaluated and mixed field, sampled from the sample geometry at the given Index |
<Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'> |
Sample Mixed Color
Sample the Color
attribute, mixed between the floor and ceiling of the given Index
Inputs
Name | Type | Description | Default |
---|---|---|---|
Geometry | Geometry |
The geometry to sample the values from | None |
Color | Color |
The field to mix and evaluate on the sample geometry | [0.0, 0.0, 0.0, 1.0] |
Index | Float |
The index to sample the value from. The fractional component of the index is used to mix between values using Index Mix ... nodes |
0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Color | Color |
The evaluated and mixed field, sampled from the sample geometry at the given Index |
[0.0, 0.0, 0.0, 1.0] |
Offset Index
Add an integer offset to the point’s Index
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index | Int |
The Index at which to evaluate this offset from |
Index |
Offset | Int |
The Offset to apply to the Index of the point |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Int |
The Index + Offset |
None |
Offset Integer
Evaluate an Integer
at an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index | Int |
The Index at which to evaluate this offset from |
Index |
Value | Int |
The field to evaluate at the given Index + Offset on the point domain |
None |
Offset | Int |
The offset to apply to the Index before evaluating the input field |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Int |
The field evaluated at the offset Index value |
None |
Offset Float
Evaluate a Float
value at an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index | Int |
The Index at which to evaluate this offset from |
Index |
Value | Float |
The field to evaluate at the given Index + Offset on the point domain |
0.0 |
Offset | Int |
The offset to apply to the Index before evaluating the input field |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Float |
The field evaluated at the offset Index value |
0.0 |
Offset Vector
Evaluate a Vector
at an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index | Int |
The Index at which to evaluate this offset from |
Index |
Vector | Vector |
The field to evaluate at the given Index + Offset on the point domain |
Position |
Offset | Int |
The offset to apply to the Index before evaluating the input field |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Vector |
The field evaluated at the offset Index value |
[0.0, 0.0, 0.0] |
Offset Boolean
Evaluate a Boolean
at an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index | Int |
The Index at which to evaluate this offset from |
Index |
Boolean | Bool |
The field to evaluate at the given Index + Offset on the point domain |
False |
Offset | Int |
The offset to apply to the Index before evaluating the input field |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean | Bool |
The field evaluated at the offset Index value |
False |
Offset Rotation
Evaluate a Rotation
at an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index | Int |
The Index at which to evaluate this offset from |
Index |
Rotation | Rotation |
The field to evaluate at the given Index + Offset on the point domain |
<Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'> |
Offset | Int |
The offset to apply to the Index before evaluating the input field |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Rotation | Rotation |
The field evaluated at the offset Index value |
<Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'> |
Offset Matrix
Evaluate a 4X4 Matrix
at an index that is offset by the specified amount
Inputs
Name | Type | Description | Default |
---|---|---|---|
Index | Int |
The Index at which to evaluate this offset from |
Index |
Matrix | Matrix |
The field to evaluate at the given Index + Offset on the point domain |
None |
Offset | Int |
The offset to apply to the Index before evaluating the input field |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Matrix | Matrix |
The field evaluated at the offset Index value |
None |
Fallback Float
Use the Float
attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name | String |
Name of the attribute to attempt to read from the geometry | _None_ |
Fallback | Float |
Value to use instead if the named attribute doesn’t exist on the geometry | 0.0 |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Value | Float |
The named attribute read from the geometry if it exists, or the fallback value if it doesn’t | 0.0 |
Fallback Vector
Use the Vector
attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name | String |
Name of the attribute to attempt to read from the geometry | _None_ |
Fallback | Vector |
Value to use instead if the named attribute doesn’t exist on the geometry | [0.0, 0.0, 0.0] |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Output | Vector |
The named attribute read from the geometry if it exists, or the fallback value if it doesn’t | [0.0, 0.0, 0.0] |
Fallback Integer
Use the Integer
attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name | String |
Name of the attribute to attempt to read from the geometry | _None_ |
Fallback | Int |
Value to use instead if the named attribute doesn’t exist on the geometry | None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Integer | Int |
The named attribute read from the geometry if it exists, or the fallback value if it doesn’t | None |
Fallback Boolean
Use the Boolean
attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Computes the boolean field if the given attribute doesn’t exist. If it doesn’t exist it just uses the attribute instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name | String |
Name of the attribute to attempt to read from the geometry | _None_ |
Fallback | Bool |
Value to use instead if the named attribute doesn’t exist on the geometry | False |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean | Bool |
The named attribute read from the geometry if it exists, or the fallback value if it doesn’t | False |
Fallback Color
Use the Color
attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name | String |
Name of the attribute to attempt to read from the geometry | Color |
Fallback | Color |
Value to use instead if the named attribute doesn’t exist on the geometry | [0.072, 0.295, 0.236, 1.0] |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Color | Color |
The named attribute read from the geometry if it exists, or the fallback value if it doesn’t | [0.0, 0.0, 0.0, 1.0] |
Fallback Rotation
Use the Rotation
attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name | String |
Name of the attribute to attempt to read from the geometry | _None_ |
Fallback | Rotation |
Value to use instead if the named attribute doesn’t exist on the geometry | <Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'> |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Rotation | Rotation |
The named attribute read from the geometry if it exists, or the fallback value if it doesn’t | <Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'> |
Fallback Matrix
Use the Matrix
attribute specified by name. If the attribute doesn’t exist, use the Fallback
value instead
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name | String |
Name of the attribute to attempt to read from the geometry | _None_ |
Fallback | Matrix |
Value to use instead if the named attribute doesn’t exist on the geometry | None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Matrix | Matrix |
The named attribute read from the geometry if it exists, or the fallback value if it doesn’t | None |
Group Pick
For each group, return the index of the point for which the Selection is true. Only valid if there is a single true in the group. If not lvalid, returns -1
Get the item of the True
in each Group ID
, but only if there is a single True
in each group
Inputs
Name | Type | Description | Default |
---|---|---|---|
Pick | Bool |
Selection for the point to pick for the Group ID . Will only be valid for a single Pick for each Group ID |
False |
Group ID | Int |
Field definining the Group ID to pick from for the points |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Is Valid | Bool |
Valid for the point only if there is 1 single True for the Pick field in the point’s group in the Group ID |
True |
Index | Int |
Index of picked item. Returns -1 if not a valid pick | None |
Group Pick First
Similar to Group Pick
, but will always return Index
of first true element, even if there are multiple true values. If nothing is true then will return -1
Get the Index
of the first True
item for each Group ID
Inputs
Name | Type | Description | Default |
---|---|---|---|
Pick | Bool |
Index of the first True item in this field will be returned |
False |
Group ID | Int |
The first True item for each Group ID will be returned |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Is Valid | Bool |
Valid if as least 1 True for the Group ID |
True |
Index | Int |
Index of first picked item, returns -1 if nothing picked |
None |
Group Pick Vector
For each group, return the Position of the point at which the selection is true. If there is more than one true for the group the pick is not valid and (0, 0, 0) is returned
Inputs
Name | Type | Description | Default |
---|---|---|---|
Pick | Bool |
Selection for the point to pick for the Group ID . Will only be valid for a single Pick for each Group ID |
False |
Group ID | Int |
Field definining the Group ID to pick from for the points |
None |
Position | Vector |
Vector field to pick vlaue for, defaults to Position |
Position |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Is Valid | Bool |
Whether the pick for the point’s Group ID is valid |
False |
Index | Int |
Picked Index for the Group, -1 if not valid | None |
Vector | Vector |
Picked vector for the group, (0, 0, 0) if not valid |
[0.0, 0.0, 0.0] |
Group Info
Based on the Group ID input, return the size of the group and the indices of the first and last items of the group
Get information about the points in a Group ID
such as size and the start and end Indices
Inputs
Name | Type | Description | Default |
---|---|---|---|
Group ID | Int |
Define the groups to get information about | None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Is First | Bool |
The first point in each Group ID |
False |
First Index | Int |
The Index of the first point in each Group ID |
None |
Is Last | Bool |
The last point in each Group ID |
False |
Last Index | Int |
The Index of the last point in each Group ID |
None |
Index in Group | Int |
The relative index of each point within each Group ID , starting from 0 |
None |
Size | Int |
The number of points in each Group ID |
None |
Attribute Run
Fill in gaps in a set of continuous boolean True values, up to a specific size
Group mask increments whenever the attribute or the Group ID changes
Inputs
Name | Type | Description | Default |
---|---|---|---|
Name | String |
The Named Attribute to read from the geometry before applying the Integer Run node |
_None_ |
Group ID | Int |
The Group ID to use for the Integer Run node |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Is Different | Bool |
The current point’s Named Attribute value is different from the previous |
False |
Group ID | Int |
The new Group ID , increasing whenever the attribute or the Group ID values change |
None |
Boolean First
For each Group ID
, every value becomes False
except the first True
value
Only the first True
in each Group ID
remains True
, all others become False
Inputs
Name | Type | Description | Default |
---|---|---|---|
Boolean | Bool |
The Boolean field to test |
False |
Group ID | Int |
Each Group ID to find the first True element for |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Is First | Bool |
True for the first true element in each Group ID |
False |
Integer Run
Group mask output increments whenever the input value or the Group ID changes
A unique value for each grouping of a value. Accumulating along the field, the output Group Mask increments by 1 whenever the value or Group ID changes
Inputs
Name | Type | Description | Default |
---|---|---|---|
Value | Int |
The field to check for changes in value | None |
Group ID | Int |
Does not restart counting for each Group ID, but does increment by 1 when the Group ID changes | None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Is Different | Bool |
The current value is different from the previous | False |
Group ID | Int |
The new Group ID , which increases by 1 whenever the Value or Group ID values change |
None |
Boolean Run Fill
Fill in gaps in a set of continuous boolean True values, up to a specific size
Moving down the points, fill in False
values that are equal to or less than the Fill Size
Inputs
Name | Type | Description | Default |
---|---|---|---|
Boolean | Bool |
The Boolean field to potentially fill gaps of False with |
True |
Fill Size | Int |
A run of False values equal to or less than this size will become True |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean | Bool |
The Boolean array with gaps potentially filled |
False |
Boolean Run Trim
Mask a run of boolean values. Potentially trim the start or ending values and specifying a minimum length under which they are considered false
Inputs
Name | Type | Description | Default |
---|---|---|---|
Boolean | Bool |
The Boolean field to check for continuous runs of True values |
True |
Start | Int |
The first n values of a run of True values are made to be False |
None |
End | Int |
Ther last n values of a run of True values become False |
None |
Size | Int |
A run of True values becomes False if shorter than this minimum length |
None |
Outputs
Name | Type | Description | Default |
---|---|---|---|
Boolean | Bool |
The Boolean field that has been trimmed |
False |