Working well
Best practices
None of this is difficult. Most of it is the small number of things that, done wrong, waste an afternoon — and done right, are invisible.
Prepare the base mesh
Computational tools amplify whatever they are given. A pattern applied to a bad mesh is a bad pattern, only more so, and no amount of parameter tuning fixes it.
- Apply your transforms
Ctrl+A → All Transforms. Non-uniform object scale is the single most common cause of a result that is subtly wrong: components come out stretched, thickness is inconsistent, and nothing in the panel explains why.- Quads, evenly sized
- Most tools here are happiest on an even quad mesh. Triangles double your copy count; ngons get triangulated anyway; wildly varying face sizes give wildly varying results.
- Recalculate normals
- Inconsistent normals produce components pointing inward on some faces. Free, instant, and worth doing on anything imported.
- No poles
- A UV sphere crowds every pattern into a knot at each pole. Use the library Blob or Dome, or a Conway result, which have no poles by construction.
- Density before pattern
- Set the face count you want first. Changing it afterwards changes cell size, component count and field scale all at once, which means retuning everything.
Component discipline
- Model on the XY plane, growing up in +Z. That is the unit cell convention. Rhea normalises whatever you give it, but a component modelled this way behaves predictably.
- Count the vertices. Every one is multiplied by the face count. A four-hundred-vertex component you thought was cheap is four million vertices over ten thousand faces.
- Boundary vertices on the cell edge. Seams cannot weld if the vertices do not actually meet. If merge seams appears to do nothing, this is usually why.
- Test on a grid first. Ten faces, flat. If the component behaves there, curvature is the only remaining variable.
Working with fields
- Check the active object. Fields write to whatever is active. Generating one with the component selected is the mistake everybody makes at least once.
- Turn on the heatmap overlay. Tune the field visually rather than by inference. It is roughly ten times faster.
- Leave normalise on. Most consumers assume a 0–1 range, and raw curvature spans whatever it happens to span.
- Blur two or three passes. Computed fields are noisy at the vertex level. A little blur keeps the structure and loses the speckle.
- Cavity while iterating, AO when finished. They read similarly and one is instant.
While you work
- Start coarse
- Develop at a low face count. Everything is faster, the pattern scale relative to the surface is roughly preserved, and what you tune transfers when you raise the density.
- Change one thing
- These modules interact. Changing three parameters and getting a worse result tells you nothing about which one did it.
- Try five seeds
- Before concluding an effect does not work, change the seed a few times. It costs nothing and a surprising fraction of bad results are just unlucky arrangements.
- Duplicate before applying
Shift+Dcarries the whole live stack. Apply the copy, keep the original. One second, and it has saved a lot of afternoons.- Read the result line
- Vertices, faces, ngons and time, after every run. It tells you whether you are about to have a performance problem before you have one.
Save versions, not just files
Computational design is exploratory: you will produce things you like and then change them past recognition. Save incrementally —
Ctrl+Alt+S — rather than trusting undo to reach back far enough. It will not.Getting output you can use
- Turn on strict topology for anything going into a game engine, a subdivision workflow or a slicer. The result line confirms zero ngons, so it is a fact rather than a hope.
- Leave merge seams on. Unwelded seams look fine in the viewport and fall apart at every downstream step — shading, boolean, 3D print, export.
- Use angle-based shading. A freshly built mesh has no sharp-edge data, so without it every hard corner renders rounded and every result looks like the same soft blob.
- Check scale before exporting. Particularly for fabrication, where the export scale multiplier decides whether you cut something the right size or a thousand times too small.
Design advice, not software advice
- Vary something. A perfectly uniform pattern reads as manufactured, which is fine if you meant it. Nature varies; a field driving thickness or size is what makes a result look grown.
- Vary it with signal, not noise. Randomness makes things irregular; a field makes them responsive. Struts that thicken where the form bends look structural. Struts that thicken at random look broken.
- Two scales beat one. A coarse pattern with a fine one over it is how almost every natural surface is built.
- Let the form show through. If the pattern is so strong that the underlying shape is unreadable, you have made a texture rather than a design.
- Stop earlier than you want to. The most common failure in generative work is one effect too many.
Things that will not work
- Tessellating with an unapplied non-uniform scale. Fix the scale.
- Running Conway on an open or non-manifold mesh. It is not that Rhea refuses out of caution; the operators are undefined there.
- Expecting a hundred Voronoi cells on a two-hundred-face mesh to have clean boundaries. The partition cannot be finer than the faces.
- Stacking two heavy cellular effects. The second sees a mesh that is mostly holes.
- Raising iterations to fix a solver that is oscillating. Lower the relaxation instead.
- Using noise where you wanted randomness. Perlin-family noise is smooth and clusters at mid-range; it will give you a suspiciously even result.