Overview
Unlike Duplicate 3D, which generates copies on a mathematical grid (translation + rotation + scale per copy), Replicate 3D places the copies where there are already points in a target mesh. Each vertex of the destination mesh becomes a possible position for a copy.
Each copy can be oriented automatically along the normal of its destination point - useful so a forest of trees follows a mountain without ending up upside down.
Where to find this node
- Effects Library:
Tools > 3D > Replicate 3D - Quick add: right-click in the Node Editor →
Add Tool > 3D > Replicate 3D
Replicate vs Duplicate
Both nodes multiply geometry, but with opposite logic:
- Duplicate 3D
- Generates copies on a parametric grid. Each copy = previous copy + a fixed increment (translation, rotation, scale). No target geometry: the distribution is purely mathematical.
- Replicate 3D
- Uses a target mesh as a "layout plan". Copies are placed at the positions of the target mesh's vertices (or at particle positions). No mathematical position calculation - the distribution comes from external geometry.
Rule: Duplicate for regular patterns (stairs, circle), Replicate for distributions based on existing geometry (terrain, particles, custom mesh).
Inputs
- Destination (orange) - required. Mesh or 3D scene that provides the replication positions. Each vertex of this mesh = one copy placed at that position. Also accepts 3D particle animations.
- Input (green) - required. The geometry that will be replicated. Once this first input is connected, a second alternative input appears automatically.
- Additional inputs (appear dynamically) - you can connect 2, 3 or 5 different geometries. The Input Mode (Loop/Random) controls how they are distributed over the points.
Setup
Terrain (subdivided Shape 3D plane) ──→ Replicate 3D (destination)
↑
Tree (FBX) (input)Each vertex of the terrain becomes the location of a tree. The more the terrain is subdivided, the more trees you get. Rule: adjust Step to control the density.
Controls tab
- Step (default: 1)
- Vertex sampling frequency.
Step = 1uses every vertex (max density).Step = 3= one vertex in 3 (density divided by 3). Essential for dense meshes (a 100×100 plane = 10,000 vertices; raising Step to 5-10 keeps you from crashing). - Input Mode (default: Loop)
- How to distribute several geometry inputs over the points:
- Loop - cycles through the inputs in sequence (vertex 1 → input 1, vertex 2 → input 2, vertex 3 → input 3, vertex 4 → input 1…). Useful for a regular pattern.
- Random - distributes the inputs randomly, controlled by a seed. Perfect for a forest with several tree species (2 to 5 variants).
- Alignment (default: Not Aligned)
- Orients the copies relative to the destination point. See the dedicated section for details.
- Time Offset
- Time offset per copy. If the source geometry is animated, each copy plays the animation with a delay → an automatic wave effect between the copies.
- Time Scale
- Speed factor for the source animation. Lets you slow down or speed up the animation carried by the copies.
- Transform controls
- Translation, rotation, scale and pivot applied uniformly to every copy (a global offset relative to the target mesh positions).
Alignment in practice
The Alignment parameter is crucial to orient the copies correctly relative to the destination surface.
- Not Aligned
- Copies keep their original rotation, whatever the orientation of the destination point. Useful when you want a uniform orientation (all trees vertical even on a slope).
- Aligned
- Uses the point's normal and rebuilds an up-vector. Copies are oriented perpendicular to the surface → trees that "stick" to the slope (for a stylized effect) or scales that follow a creature's skin.
- Aligned TBN (recommended for precision)
- Full Tangent-Binormal-Normal method. More stable and precise than plain Aligned, especially when the target mesh's tangents/UVs are consistent. Prefer it for production results.
Jitter tab
Same logic as on Duplicate 3D: it adds random variation to break the uniformity. Essential for realistic scattering.
- Random Seed - the seed, guarantees reproducibility.
- Translation Jitter - random offset of the copies around their point position (useful to "blur" an overly regular grid).
- Rotation Jitter - random rotation around the chosen axis. Jitter Y at 180° + Loop = trees turned in every direction.
- Scale Jitter - size variation per copy. 0.3 = ± 30% of the nominal size.
- Pivot Jitter - variation of the rotation center.
Use cases
- Forest scatter - subdivided terrain (50×50 plane) + Replicate with an FBX tree as input, Step = 2 to space things out, Alignment TBN, Jitter Translation + Rotation + Scale. Result: a realistic forest with no manual placement.
- Wheat field / grass - a plane with lots of vertices + Replicate with a blade of grass. High Step, Jitter Rotation Y = 360° to vary the orientations.
- Populating 3D particles - a 3D
pEmitteras destination + 3D objects as input = each particle shows an object (coins, stars, asteroids). - Random object variants - connect 3 different trees to the inputs, Input Mode = Random. Each point randomly gets one of the 3 trees → a varied forest.
- Decorating a custom surface - model a special surface in Blender (a dragon, for example), export it as FBX, and use that mesh as the destination to scatter scales over it.
- Animation sequence on planes - a different Time Offset per copy lets you create a cascade of frames (similar to a flipbook).
Tips & pitfalls
- Watch the vertex count - a 200×200 plane = 40,000 vertices = 40,000 copies. If your input is a complex mesh, the scene becomes unmanageable. Raise Step or reduce the subdivision of the target mesh.
- Alignment TBN by default for any serious work - more stable than plain Aligned.
- Uneven terrain - Replicate's points are the target mesh's vertices. For a natural scatter, deform the source plane with a
Displace 3Dbefore the Replicate. The copies follow the topography. - Adding variety with few resources - 3 tree variants + Input Mode Random are enough to give the illusion of a rich forest. No need for 50 variants.
- Replicate doesn't modify the target mesh (it is read-only, used to get the positions). The target mesh doesn't appear in the render unless you also connect it directly to the Merge.
- For fine control over placement, use a target mesh hand-painted in Blender → each vertex = a location you chose.
