Skip to content

Generator Nodes

Generator nodes create point sets from scratch. They have no required input ports and output a Point data stream that downstream nodes can filter, transform, and scatter objects from.

All generator nodes are found in the Generators category of the node picker.


Create Points

Create Points

Display name: Create Points
Category: Generators
Description: Creates points at manually specified positions.

Ports

DirectionNameTypeRequired
OutputOutPoint

Settings

FieldTypeDefaultDescription
positionsVector3[][Vector3.zero]World-space positions for each point to create.
densityfloat1.0Density value assigned to every created point. Range 0–1.

Notes

  • Each entry in positions generates exactly one point.
  • Points are created in the order of the array; the internal seed increments per point so downstream randomised nodes produce stable, deterministic results.
  • Use this node for handcrafted or sparse, precisely-located placements.

Create Points Grid

Create Points Grid

Display name: Create Points Grid
Category: Generators
Description: Generates a regular grid of evenly-spaced points centred on the origin.

Ports

DirectionNameTypeRequired
OutputOutPoint

Settings

FieldTypeDefaultDescription
gridExtentsVector3(5, 0, 5)Half-extents of the grid in each axis. When y is 0, only an XZ plane grid is generated.
cellSizeVector3(1, 1, 1)Spacing between adjacent points along each axis. Minimum enforced per axis: 0.01.
pointDensityfloat1.0Density value assigned to every generated point. Range 0–1.

Notes

  • When gridExtents.y < 0.001, the node generates a flat 2D XZ grid (Y is fixed at 0). Set gridExtents.y > 0 to fill a 3D volume.
  • Point count = (2 * extents / cellSize + 1)³ per axis, so be cautious with small cell sizes over large extents.
  • The node does not use a random seed; the output is fully deterministic.

Random Points

Random Points

Display name: Random Points
Category: Generators
Description: Generates a given number of randomly-placed points inside an axis-aligned bounding box.

Ports

DirectionNameTypeRequired
OutputOutPoint

Settings

FieldTypeDefaultDescription
boundsMinVector3(-5, 0, -5)Minimum corner of the generation volume.
boundsMaxVector3(5, 0, 5)Maximum corner of the generation volume.
pointCountint100Number of points to generate.
densityfloat1.0Density value assigned to every generated point. Range 0–1.

Notes

  • This node uses the graph Seed value for reproducibility. Changing the seed produces a completely different distribution. Per-node seed offset can be configured in the inspector to vary this node independently.
  • Points are distributed with uniform probability across the entire AABB volume.
  • Set boundsMin.y == boundsMax.y to generate a flat 2D distribution on a single Y plane.

Poisson Disk Sampling

Poisson Disk Sampling

Display name: Poisson Disk Sampling
Category: Generators
Description: Generates evenly-spaced random points using Poisson disk sampling (Bridson's algorithm). No two output points are closer than minDistance.

Ports

DirectionNameTypeRequired
OutputOutPoint

Settings

FieldTypeDefaultDescription
boundsMinVector3(-10, 0, -10)Minimum corner of the generation volume.
boundsMaxVector3(10, 0, 10)Maximum corner of the generation volume.
minDistancefloat1.0Minimum distance enforced between any two output points. Minimum value: 0.01.
maxAttemptsint30Candidate attempts per active point before that point is retired. Higher values are denser but slower.
densityfloat1.0Density value assigned to every generated point. Range 0–1.

Notes

  • Sampling operates on the XZ plane. The Y coordinate of all points is set to boundsMin.y.
  • The algorithm is implemented as a Burst-compiled job (PPGPoissonDiskJob) for performance.
  • This node uses the graph Seed for reproducibility. Per-node seed offset can be configured in the inspector.
  • Compared to Random Points, Poisson disk output looks more natural and avoids clustering — ideal for foliage and rocks.
  • Point count is not fixed; it depends on minDistance and maxAttempts. Decrease minDistance for denser output.

Procedural Placement Graph for Unity