geo/VoronoiField geo/PointRelax
Documentation / Node reference / geo nodes
geo/VoronoiField
Breaks the SDF on input 0 into Voronoi cells around the points on input 1, with rounded or sharp cell edges.
Mesh
Every point on input 1 owns the part of the shape that is closer to it than to any other point. PIECES gives one piece per point: as one object by default, ready to be combined with another shape, or with `separate pieces` one object each, ready to fall apart or to be exploded with a transform per piece. WALLS keeps only the walls between the pieces, a honeycomb or foam of the shape. STRUTS keeps round struts along the edges where the pieces meet, a lattice of the shape, with smooth joints.
**`rounding radius` goes from hard to organic.** At 0 the cells are flat-faced polyhedra with sharp edges. Raise it and every edge and corner of a cell is rounded with that radius, until the pieces look like pebbles. The outside of the shape is never rounded: only the faces the cells cut are.
**SDF or MESH.** The SDF output is drawn by raymarching, at any zoom, and changing a param is cheap. The MESH output is a triangle mesh in which every face carries the `CELL_ID` attribute, the index of the point whose cell it belongs to, and the faces cut inside the shape are in the `cut` group, so geo/Material can give the inside of the pieces its own material.
Points spread evenly give even cells: geo/Scatter with POISSON_DISK, or geo/PointRelax after a scatter. The SDF output needs the points through geo/VoronoiNeighbours: segments on input 1 are always read as each point's neighbours, so plug it straight in. geo/VoronoiCells reads them the same way. The shape comes in as an SDF: put geo/SDFCreate after a mesh or a volume, or plug in any SDF directly (an SDF sphere through geo/SDFOnion gives a hollow shell). In MESH output `voxel size` is the resolution: a cell or a wall thinner than a voxel is lost, and halving it costs about eight times the time.
Parameters
| Name | Type | What it does |
|---|---|---|
| mode | UInt8 PIECES · WALLS · STRUTS | PIECES: one object per cell. WALLS: the walls between the cells, as one object. STRUTS: a round strut along every edge of the cells, as one object. |
| output | UInt8 MESH · SDF | SDF: drawn by raymarching with no meshing, which geo/SDFTriangulate can mesh and the other SDF nodes can combine. MESH: triangle meshes, with CELL_ID and the cut group. SDF output has no CELL_ID and no cut group, SDF struts do not fillet their joints, and SDF walls (and SDF pieces as one object) take 256 points at most. |
| separatePieces | Bool | PIECES only: one object per piece, to move or explode each piece on its own. Off, all the pieces are one object, which is what to use to combine them with another shape. A mesh of all the pieces can still be split afterwards with geo/Connectivity. |
| wallThickness | Float | WALLS only: how thick the walls between the cells are, in world units. Keep it at least two and a half times `voxel size`, or the walls get holes; the node warns when it is thinner. |
| roundingRadius | Float | Rounds the edges and corners of every cell, as if rolled with a ball of this radius, in world units. 0 keeps the cells sharp. The outside of the shape is not rounded. In WALLS mode it fillets the walls where they meet; in STRUTS mode, the joints where struts meet. |
| strutRadius | Float | STRUTS only: the radius of the strut along each cell edge, in world units. Keep the diameter at least two and a half times `voxel size`, or the struts get holes; the node warns when it is thinner. |
| voxelSize | Float | MESH only: edge of one grid cell, in world units. This is the resolution of the mesh: a piece or a wall thinner than this is lost. |
| maxResolution | Vector3UInt | MESH only: ceiling on the grid size per axis, so a small voxel size on a large shape cannot run away with memory and time. Hitting it cuts the grid short rather than coarsening it. |
Examples
Scenes you can open in the editor that teach this node.
geo/VoronoiField geo/SDFOnion geo/VoronoiNeighbours
See also
- geo/Scatter
- geo/PointRelax
- geo/SDFTriangulate
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.