Raymarcher is not a voxel engine, but it offers the possibility of creating and handling voxels on a smaller scale.
In Raymarcher, voxels are defined in specific 3D render textures created with a common resolution.
There are six common volume resolutions in Raymarcher:
x16, x32, x64, x128, x256 and x512.
It's important to note that Raymarcher does not provide a solution for creating an infinite world of voxels with dynamic rescaling.
Additionally, the voxels in Raymarcher do not work with the octree algorithm; instead, all voxels are defined in each 3D texture pixel.
You can provide your own 3D texture with resolution dimensions equal to Raymarcher's common volume resolutions, or you can create the 3D texture directly in Raymarcher.
Once you have the 3D texture, you can use it to create voxels.
There are various ways to manipulate voxels in Raymarcher:
- Convert/voxelize regular mesh geometry to voxels (You can't convert sdf to regular mesh geometry)
- Manually paint/erase voxels
- Sample the depth of voxel volume
- Track particles in the target particle system and create voxels on each particle
- Save voxels (RT3D) to the assets and reuse the 3D texture for a different purpose
For more details on manipulating voxels in Raymarcher, continue reading the documentation.
You can watch an official video documentation
here.