Grid

A centred lattice of points, columns by rows by layers, with independent spacing per axis.

What it does

Grid emits a lattice of points, Columns by Rows by Layers, centred on the origin with independent spacing per axis. Each point carries its lattice coordinate as @index_x, @index_y and @index_z, so downstream work can vary by column, row or layer rather than by flat ordinal.

There is no input. Leave Layers at 1 for a flat 2D grid.

When to use it

ParameterTypeDefaultWhat it does
columnsNumber5Number of points along X.
rowsNumber5Number of points along Y.
layersNumber1Number of points along Z. Leave at 1 for a flat 2D grid.
spacingVec3(50, 50, 50)Distance between adjacent points, per axis (X, Y, Z).
obj_positionVec3(0, 0, 0)Translation (X, Y, Z)
obj_rotationVec3(0, 0, 0)Rotation in degrees (X, Y, Z)
obj_scaleVec3(1, 1, 1)Scale (X, Y, Z)
obj_anchorVec3(0, 0, 0)Pivot offset (X, Y, Z) — rotation/scale orbit this point
opacityNumber1Layer opacity (0 = transparent, 1 = opaque). Editable, wirable, keyframable.

Gotchas

Changing Columns, Rows or Layers rebuilds the node's kernel. Changing Spacing only re-uploads a value. Animate Spacing freely and treat the counts as structure.

The transform parameters place the whole lattice. They do not change its shape.

Opacity is a display control. It changes how the points draw and never what the node emits, so a downstream node reads the same lattice at any opacity.

Worked example

  1. Add a Grid. Set Columns and Rows for the arrangement, and leave Layers at 1.

  2. Set Spacing to control the distance between points on each axis.

  3. Wire the output into Iterator's target to place a copy of a shape on every point.

  4. Add an Expression and read @index_x to vary each column.

See also

Points · Iterator · Surface · Points