Documentation / Node reference / geo nodes

geo/VoxelCreate

Turns a mesh into voxels.

Voxel

Voxelizes every mesh on the input into a voxel grid, one per mesh. SOLID fills the inside, SURFACE keeps a shell one voxel thick. A voxelizer decides inside from outside by flooding the space around the mesh, so the mesh should be closed: a hole wider than a voxel reads solid where you did not mean it to.

**Colours come from the mesh.** A point `COLOR` attribute colours the surface voxels, each taking the colour of the triangle it sits on, merged down to the 255 colours a voxel grid holds. Everything else takes the mesh's own material: put a geo/MaterialAttributes on OBJECT mode before this node to set its colour, roughness, metallic and emission. Without either, the voxels are white. A geo/MaterialAttributes AFTER this node sets the material of every voxel at once.

`surface offset` moves the surface before it is thresholded: negative erodes, positive dilates. An eroded voxelization sits inside the mesh, which is what a proxy for traced lighting wants.

**To voxelize only part of a mesh, turn on `region`.** Only what is inside its box is voxelized, so the same voxel budget buys a much finer grid. The piece comes out closed where the box cuts through the mesh. The box comes with a manipulator in the viewport, and `set region from input` resets it to the whole mesh. It is in world space.

Parameters

Name Type What it does
mode UInt8 SOLID · SURFACE SOLID fills the inside of the mesh. SURFACE keeps a shell one voxel thick.
voxelSize Float Edge of one voxel, in world units. This is the resolution: no feature narrower than a voxel survives.
surfaceOffset Float Move the surface by this distance before it is voxelized, in world units. Negative erodes, positive dilates.
maxResolution Vector3UInt Ceiling on the voxel count per axis, so a small voxel size on a large mesh cannot run away with memory. Hitting it cuts the grid short rather than coarsening it.
region Bool Voxelize only what is inside a box, so a fine voxel size costs a fraction of what it costs on the whole mesh. The piece comes out closed where the box cuts through the mesh. Drag the box in the viewport, or type its corners.
regionMin Vector3 Lower corner of the box, in world space.
regionMax Vector3 Upper corner of the box, in world space.
setRegionFromInput Button Set the box to the bounds of the mesh on the input, so you can shrink it from there.

See also

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.