Extracts a surface from a procedural by first voxelising it (but only voxelising the spatial areas which are required) and then constructing a smoothened surface over the voxels. The surface produced is a triangle mesh which can be texture and deformed, can cast shadows, and can be used as a particle emitter among other things.

Example Nodegraph


Name Description
Position X Move its position along the x-axis in local space.
Position Y Move its position along the y-axis in local space.
Position Z Move its position along the z-axis in local space.
Rotation Heading Rotate the object about the x-axis.
Rotation Pitch Rotate the object about the y-axis.
Rotation Bank Rotate the object about the z-axis.
Scale X Scale along the x-axis.
Scale Y Scale along the y-axis.
Scale Z Scale along the z-axis.

Inherit Transform Channels

Toggle which transform channels should be inherited. By default, all are on.


Name Description
Grid Width Width of the adaptive voxel grid.
Grid Height Height of the adaptive voxel grid.
Grid Depth Depth of the adaptive voxel grid.
Error Tolerance If the procedural distance field has too much distortion then it may be necessary to raise the error tolerence. A higher error tolerence may reduce performance, so this is a trade-off.
Smoothing Iterations The number of vertex smoothening iterations to perform. This will smoothen out sharp edges.
HQ Smoothing When enabled, vertex positions will be projected back on to the procedural surface. This preserves sharp edges without increasing the voxel grid size.
Distance Field Normals Vertex normals will be extracted from the procedural distance field. This can be more accurate, but slower.
Seal Boundaries When a procedural intersects the bounding box, usually a hole is created. Enabling this option will fill in the hole.
Generate Colours Uses colours set in procedural nodes (such as 3D Primitive) to colourise the generated vertices. This can reduce performance slightly.
Generate UVs Generate texture coordinates at the generated vertices, for use with a material. This can reduce performance slightly.
Visible Control whether the node is visible or not to the scene.
Dynamic When set above 1.0, the mesh will be re-generated on every frame. When set to 0.0, the last-generated mesh will be cached and re-used as a static output.
Vertex Buffer Size (100,000s) Limits the generated vertex buffer size.
Triangle Buffer Size (100,000s) Limits the generated triangle buffer size.
Show Metrics Displays information about the amount of mesh geometry being generated.
Tessellation Enabled Enables GPU-side tessellation. Note that post-tessellated geometry is processed last.
Max Tessellation Factor The maximum level of GPU tessellation.


See Materials.


Name Description Typical Node Input
Procedural Root Use a Procedural Root as an input, so the renderer is treated seperately from the roots transforms. In this case, the renderer itself would be connected to the scene Root node. Procedural Root
Bounding Box The region in which the surface will be voxelised and generated Bounding Box
Render Transform Takes the transformation of another node and applies it to the rendered mesh.
Material A material to apply to the rendered mesh Material
Transform Modifier Links all transform properties to the input node. Null
Target Node Always faces the x-axis towards the inputs anchor point. Null
Local Transform Override Override the transformation values of the node, relative to its parent. Null


There are no outputs from this node.