Advanced mode

Tessellate

The flagship. Copies one or more component objects onto the faces of a base, deforming each one to fit its face. This is the module version: slower than the live engine, and capable of things the live engine cannot do — continuous weaving, welded seams, guaranteed quad output, preserved UVs and materials.

Getting a result

  1. 01

    Set the base

    The Base field is pinned once set, so the module never quietly re-tessellates its own output. If you leave it empty it uses the active object.

  2. 02

    Add a component slot

    Press + under the component list, then assign an object to the new slot with the dropdown or eyedropper. A slot with no object assigned is why the Tessellate button stays disabled.

  3. 03

    Choose a mode

    Constant is the right default. See below for when the other three earn their keep.

  4. 04

    Press Tessellate

    Progress runs modally with a percentage in the status bar and Esc to cancel. The result line underneath reports vertices, faces, ngons and elapsed time.

The four modes

Constant
The component's bounding box is mapped to each face's bilinear patch, with uniform thickness along the normal. Predictable, fastest, and correct for panels, tiles, bricks and studs.
Adaptive
As constant, but faces the driver attribute rates highly are subdivided before placement, so copies crowd where the field is strong. Detail sets how many times a face may divide, one to three. Use it when you want density to follow a field rather than size.
Frame
Generates an inset frame per face rather than copying a component. Frame thickness and depth are separate controls: thickness insets the ring in the plane of the face, depth extrudes it. This is the fastest route to a lattice with no component modelling at all.
Patch
For quad grids only. The component is mapped across a block of faces with bicubic interpolation of the base surface, so the result runs smoothly across face boundaries instead of restarting at each one. This is the mode that produces genuine woven and continuous results — and the reason a weave component looks like basketry rather than a row of separate arcs.

Patch mode needs quads

Bicubic interpolation is defined on a quad grid. Triangles and ngons cannot participate, so run Triangles to quads first, or accept that non-quad regions fall back to constant mapping.

Mapping and normals

Component local coordinates are normalised to 0–1 in X and Y from its bounding box, and Z is mapped along the interpolated surface normal. Which normal that is matters more than people expect:

Face
The flat face normal. Copies stand perpendicular to their own face and there is a visible discontinuity between neighbours. Correct for anything that should read as faceted — panels, plates, shingles on a low-poly form.
Vertex
Smooth vertex normals, the default. Copies lean continuously across the surface and neighbours line up. Correct for anything organic.
Custom
Respects custom split normals on the base mesh, so a mesh with deliberately authored shading drives the tessellation the same way it drives the shading.
Even thickness
Normalises the Z offset by the angle between the vertex and face normals, so thickness stays uniform on a curved base instead of pinching in concave regions. Off by default because it costs a little and only matters on strong curvature.

Thickness

Thickness±4
Height above the surface as a multiple of the face it sits on. Being relative rather than absolute is deliberate: the look stays the same whatever size the base object is. Negative values push copies inward.
Constant
Same thickness on every face.
Face area
Scales thickness by face area, so copies on big faces are proportionally taller. On a seashell or any mesh with graded face sizes this alone produces a convincing result with no field at all.
Attribute
Driven by the Driver attribute — any vertex group, colour channel or float attribute. This is where Fields plugs in.
Offset±5
Shifts every copy along the normal, before thickness. Use it to sink components into the surface or float them above it.
Scale0.01 – 2
Size of each copy within its face. Below one they shrink and sit apart; at exactly one they touch edge to edge and can be welded into a continuous shell.

Rotation

Default
Follows each face's first corner. Deterministic, and on a regular grid it produces a regular result.
Random
Seeded random quarter turns. Breaks up the grid without destroying alignment.
Attribute
Angle read from the driver attribute, 0–1 mapped to a full turn. A noise field here gives continuously varying orientation rather than four discrete options.
UV
Aligns to the base UV direction. This is the one that gives grain-following results — wood, fabric, brushed metal, anything with a direction that should survive across the whole surface regardless of how the faces happen to be wound.
Diagonal
Aligns to the shorter diagonal of each face. On an irregular quad mesh this keeps components from being stretched along the long axis.
Step offset0 – 3
Whole quarter turns applied to every face on top of the mode. The cheapest fix for a tessellation that is correct but facing the wrong way.

Rotation artifacts

If copies are correctly placed but inconsistently oriented, the base mesh's face winding is inconsistent. Rather than fighting it with rotation modes, fix it: Rotate faces cycles face corner indices and is the tool that exists precisely for this.

Multiple components

The component list holds any number of slots. Each has an object, a weight, and an attribute range. How a slot gets chosen for a given face is the Selection mode:

Random
Weighted random choice. A slot with weight 3 appears three times as often as one with weight 1.
Attribute
The slot whose range contains the face's driver value. Set ranges of 0–0.33, 0.33–0.66 and 0.66–1 and you have three components graded by a field — small buds where curvature is low, large pods where it is high.
Material
The face's material index becomes the slot index. Paint materials onto the base and you have painted which component goes where, with full control and no fields involved.
Index
Cycles through slots by face index. Produces a regular repeating sequence — useful for brick courses and woven alternation.

Boundary and ngon handling

Open meshes have faces at the edge with no neighbour, and many meshes have faces with more than four corners. Both need a policy.

Boundary faces

Full
Treated like any other face. The default.
Skip
Left empty, so the pattern stops short of the edge.
Cap
Filled with a flat face, closing the shell.
Clip
The component is truncated at the boundary.

Ngons

Triangulate
Split into triangles before tessellating. The default and usually right.
Skip
Left empty.
Fan
Fanned from the face centre, which keeps a radial arrangement that triangulation would scramble.

Merge and clean

This is where output quality is won, and it is the part most tools in this category do badly.

Merge seams
Welds component boundary vertices shared between adjacent faces. The tolerance is derived from average edge length rather than being an absolute distance, so it works the same on a two-metre model and a two-centimetre one. On by default.
Merge distance
Explicit removal of doubles after welding, for components whose own geometry has coincident vertices.
Strict topology
Guarantees zero ngons in the output. Anything that would produce one is triangulated or quad-split. The count is reported in the result line, so 0 ngons is a fact rather than a hope. Turn this on for anything going into a game engine or a subdivision workflow.
Quadrangulate base
Merges base triangles into quads before tessellating. Useful ahead of Patch mode, and useful whenever a triangulated import is producing twice as many copies as you wanted.
Shade smooth
Computes sharp edges from the fold angle and marks them, rather than shading the whole result smooth. A freshly built mesh has no sharp-edge data, so without this every hard corner would render rounded.
Keep surface
Whether the base surface remains in the output beneath the copies.
Hide sources
Hides the base and component objects after a successful run, so you are looking at the result rather than the result plus its ingredients.

What survives

  • UVs from the component, from the base transferred to each copy, both as two layers, or neither.
  • Vertex groups from the component, plus generated groups marking boundary, top and bottom vertices of every copy.
  • Materials from the component, optionally inheriting the base face's material instead.
  • Sharp edges, bevel weights and creases from the component.

Iteration

Iterations from one to five feeds the output of each pass back in as the base for the next. Two passes of a spike on a spike produces recursive structure; three produces something that stops being recognisable and starts being interesting.

  pass 1:     380 faces  ×  40 verts  =    15,200 verts
  pass 2:  15,200 faces  ×  40 verts  =   608,000 verts
  pass 3: 608,000 faces  ×  40 verts  = 24,320,000 verts  ✗ refused

Growth is geometric, which is why the vertex budget exists. Rhea projects the output size before running and refuses with a clear message rather than hanging. Start from a low face count when iterating — the first pass should look almost too sparse.

Presets

Twelve tessellate presets ship with the module: honeycomb panel, woven weave, scale and shingle, chainmail, greeble panel, truss frame, brick wall, roof tile, fabric knit, perforated screen, kelp, spike field. Each one names the primitive it was designed around, and Rhea builds that component automatically if you have not set one of your own.

Applying a preset only sets properties — it never runs the operation. You still press the button. The section header shows the active preset name, with an asterisk once you have changed anything.