Notch Notch
Manual 1.0 Manual 0.9.23
 Light | Dark
Procedural Meshing

Procedural Meshing

Updated: 13 Dec 2024

Renders a procedural system as geometry.

image

image

Method #

Generates a surface from a procedural by first voxelising it, and then constructing a smoothed surface over the voxels. The surface produced is a triangle mesh which can be textured, deformed, can cast shadows, and can be used as a particle emitter among other things.

This node outputs the normal transformation and translation values, but it also outputs geometry which can be modified with Deformer nodes, or used as a mesh sources for nodes which accept mesh connections, such as the Field Mesh Emitter or the Procedural Mesh.

Parameters

These properties control the 3D transforms of the node. Transforms will generally be inherited by child nodes, although they can be ignored through the Inherit Transform Channels attributes.

ParameterDetails
Position X The objects position along the local x-axis.
Position Y The objects position along the local y-axis.
Position Z The objects position along the local z-axis.
Rotation Heading The objects rotation around the local y-axis.
Rotation Pitch The objects rotation around the local x-axis.
Rotation Bank The objects rotation around the local z-axis.
Scale X The objects scale along the local x-axis.
Scale Y The objects scale along the local y-axis.
Scale Z The objects scale along the local z-axis.

Control the inheritance of the transforms from the parent.

ParameterDetails
Position Toggle inheritance of the Position from the parent.
Rotation Toggle inheritance of the Rotation from the parent.
Scale Toggle inheritance of the Scale from the parent.
World Position Only Inherit the world position from the parent only, rotation and scale will be ignored. Overrides above properties.
Inherit Time Toggle inheritance of time from the parent.

These properties control the core behaviours of the node.

ParameterDetails
Grid Width Width of the adaptive voxel grid.
Grid Height Height of the adaptive voxel grid.
Grid Depth Depth of the adaptive voxel grid.
Update Mode Set how the procedural system updates.
  • Real-Time Dynamic : The mesh will be dynamically re-generated on every frame.
  • Dynamic : The mesh will be dynamically re-generated.
  • Static : The last-generated mesh will be cached and re-used as a static output.
Error Tolerance If the procedural distance field has too much distortion then it may be necessary to raise the error tolerance. a higher error tolerance may reduce performance, so this is a trade-off.
Adaptive Subdivisions Amount of subdivisions to apply to the mesh.Can be used to smooth out the mesh.
Smoothing Iterations Iteratively smoothes the meshes vertices by the number of levels specified, averaging out all the vertices in the mesh and producing a smoother result. Smoothing is done before rendering. High values can impact performance greatly, and may not be temporally stable if the underlying mesh changes.
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.
Seen By Rays Allow the mesh to be seen by the raytracer. When set to 0, the mesh will still render in camera but will be ignored by any raytracing nodes.
Show Metrics Displays information about the amount of mesh geometry being generated.

These properties control how the surface of the generated mesh reacts to light in the scene. See Materials for a breakdown of all these properties individually.

Inputs

NameDescriptionTypical Input
Procedural RootUse a Procedural Root as an input, so the renderer is treated separately from the roots transforms. In this case, the renderer itself would be connected to the scene Root node.Procedural Root
Render TransformTakes the transformation of another node and applies it to the rendered mesh.Null
MaterialA material to apply to the rendered meshMaterials
Bounding BoxThe region in which the surface will be voxelised and generatedBounding Box
Transform ModifiersApply the transforms of another node to this node.Null
Target NodeModifiy the rotations of the node to always direct the z axis towards the input.Null
Local Transform OverrideApply the transforms of another node to this node, relative to its parent.Null

Related Videos