Mode: Object mode
Panel: Object → Duplication
Duplication Vertices or DupliVerts is the duplication of a base object at the location of the vertices of a mesh. In other words, when using DupliVerts on a mesh, an instance of the base object is placed on every vertex of the mesh.
There are actually two approaches to modeling using DupliVerts. They can be used as an arranging tool, allowing us to model geometrical arrangements of objects (e.g. the columns of a Greek temple, the trees in a garden, an army of robot soldiers, the desks in a classroom). The object can be of any object type which Blender supports. The second approach is to use them to model an object starting from a single part of it (e.g. the spikes in a club, the thorns of a sea-urchin, the tiles in a wall, the petals in a flower).
Download example .blend file
You can download a file with the examples described on this page. In this .blend, the first example, a monkey parented to a circle is on layer 1; while a tentacle parented to an icosphere is on layer 2. The files was made using Blender 2.55.1 (r33567).
DupliVerts as an Arranging Tool
All you need is a base object (e.g. the tree or the column) and a pattern mesh with its vertices following the pattern you have in mind. In this section, we will use a simple scene for the following part. We'll be using a monkey head located at the origin of the coordinate system as our base object and a circle at the same location as our parent mesh.
First, in Object mode, select the base object and ⇧ ShiftRMB to add the circle to the selection (order is very important here), and CtrlP to parent the base object to the circle. Now, the circle is the parent of the monkey; if you move the circle, the monkey will follow it.
With only the circle selected, enable Duplication vertices in the Object panel→ Duplication→ Verts. A monkey head should be placed at every vertex of the circle.
The original monkey head at the center and the parent mesh are still shown in the 3D view but neither will be rendered. If the placement and rotation of your monkey head is odd, you might need to clear its rotation (AltR), scale AltS, location AltG, and origin AltO.
If you now select the base object and modify it in either object or edit mode, all changes will also affect the shape of all duplicate objects. You can also select the parent mesh to modify the arrangement of the duplicates; adding vertices will also add more base objects. Note that the base objects will inherit changes made to the parent mesh in object mode, but not in edit mode — so scaling the circle up in object mode will enlarge the monkey head, while scaling the circle up in edit mode will only increase the distance between the base objects.
The orientation of the base objects can be controlled by enabling Rotation in the Duplication panel. This will rotate all base objects according to the vertex normals of the parent mesh.
To change the orientation of the duplicated objects, select the base object and in the Object→ Relations extras panel change the Tracking Axes.
- Output of various orientations
The axes of an object can be made visible in the Object→ Display panel.
To display the vertex normals of the parent mesh, tab into edit mode and enable this function in Properties (N)→ Display panel where you can also resize the displayed normals as necessary.
DupliVerts as a Modeling Tool
Very interesting models can be made using DupliVerts and a standard primitive. In this example, a simple tentacle was made by extruding a cube a couple of times. The tentacle object was then parented to an icosphere. With dupli Rotation enabled for the parent mesh (the icosphere), the orientation of the base object (the tentacle) was adapted to the vertex normals of the parent mesh (in this case the tentacle was rotated -90° about the X axis in edit mode).
As in the previous example, the shape and proportions of the arrangement can now be tweaked.
To turn all duplicates into real objects, simply select the icosphere and Object→ Apply→ Make Duplicates Real (Ctrl⇧ ShiftA). To make the icosphere and the tentacle a single object, make sure they are all selected and go to Object→ Join (CtrlJ).
Other duplication methods are listed here.