From BlenderWiki

Jump to: navigation, search

Array Modifier

Mode: Any mode

Panel: Modifiers (Editing context, F9)

Description

Multidimensional array animated with motion blur.

The Array modifier creates an array of copies of the base object, with each copy being offset from the previous one in a number of possible ways. Vertices in adjacent copies can be merged based on a merge distance, allowing smooth subsurf frameworks to be generated.

This modifier can be useful when combined with tilable meshes for quickly developing large scenes. It is also useful for creating complex repetitive shapes.

Options

Array modifier.
Length Fit menu.
Length Fit menu
Controls how the length of the array is determined, see (Length Fit menu). There are three choices, activating respectively the display of the Ob, Length or Count setting:
  • Fit To Curve Length – Generates enough copies to fit within the length of the curve object specified in Ob.
  • Fixed Length – Generates enough copies to fit within the fixed length given by Length.
  • Fixed Count – Generates the number of copies specified in Count.
Ob
The Curve object to use for Fit To Curve Length.
Length
The length to use for Fixed Length.
Count
The number of duplicates to use for Fixed Count.
Notes
  • Both Fit To Curve Length and Fixed Length use the local coordinate system size of the base object, which means that scaling the base object in Object mode will not change the number of copies generated by the Array modifier. Applying the scale (CtrlA) can be useful in this case.
  • Fit To Curve Length uses the local coordinate system length of the curve, which means that scaling the curve in Object mode will not change the number of copies generated by the Array modifier. Applying the scale (CtrlA) can also be useful in this case.


Constant Offset, X, Y, Z
Adds a constant translation component to the duplicate object’s offset. X, Y and Z constant components can be specified.
Relative Offset, X, Y, Z
Relative offset example.
Adds a translation equal to the object’s bounding box size along each axis, multiplied by a scaling factor, to the offset. X, Y and Z scaling factors can be specified. See (Relative offset example).


Object Offset, Ob
Object offset example.
Adds a transformation taken from an object (relative to the current object) to the offset. See (Object offset example).


Merge
If enabled, vertices in each copy will be merged with vertices in the next copy that are within the given Limit merge distance.
First Last
If enabled and Merge is enabled, vertices in the first copy will be merged with vertices in the last copy (this is useful for circular objects, see (First Last merge example)).
Dev-ArrayModifier-FirstLastDiscontinuity01.png Dev-ArrayModifier-FirstLastMerge01.png
Subsurf discontinuity caused by not merging vertices between first and last copies (First Last off). Subsurf discontinuity eliminated by merging vertices between first and last copies (First Last on).
First Last merge example.
Limit
Controls the merge distance for Merge.
Start cap
The mesh object to be used as a start cap. A single copy of this object will be placed at the “beginning” of the array – in fact, as if it was in position -1, i.e. one “array step” before the first “regular” array copy. Of course, if Merge is activated, and the Start cap is near enough of the first copy, they will be merged.
End cap
The mesh object to be used as an end cap. A single copy of this object will be placed at the “end” of the array – in fact, as if it was in position n+1, i.e. one “array step” after the last “regular” array copy. And as Start cap, it can be merged with the last copy…


Hints

Offset Calculation

The transformation applied from one copy to the next is calculated as the sum of the three different components (Relative, Constant and Object), all of which can be enabled/disabled independently of the others. This allows, for example, a relative offset of (1, 0, 0) and a constant offset of (0.1, 0, 0), giving an array of objects neatly spaced along the X axis with a constant 0.1BU (Blender Units) between them, whatever being the original object’s size.

Examples

Mechanical

A bridge made from a tilable mesh.
Note
As the Curve modifier could not be after Array in the modifier stack (at the time this image was created), the Array modifier was applied (i.e. the Apply button was pressed) before the curve was added in the bridge image.
A cog created from a single segment.
Sample blend file
A crankshaft.
Sample blend file
A chain created from a single link.
Sample blend file

Fractal

Multidimensional array animated with motion blur.
A fractal-like image created with multiple array modifiers applied to a cube.
Sample blend file
A fractal fern image created with 2 array modifiers and 1 mirror applied to a cube.

Organic

Subsurfed cube array with 1 object offset, 4 cubes and a high vertex merge setting to give the effect of skinning.
A double spiral created with two array modifiers and one subsurf modifier applied to a cube. As above, the vertex merge threshold is set very high to give the effect of skinning.
Sample blend file
A tentacle created with an Array modifier followed by a Curve modifier. The segment in the foreground is the base mesh for the tentacle; the tentacle is capped by two specially modeled objects deformed by the same Curve object as the main part of the tentacle.
Sample blend file

Tutorials

Some tutorials that exploit the Array modifier: