58
$\begingroup$

I often use an array modifier (or two) to quickly create a grid of identical or symmetric objects, which can be really useful when modeling all sorts of man-made objects. Once I've made the grid, though, is there any way for me to make it so that each of the objects are individually manipulatable?

Simply applying the modifier does not seem to be the full answer, since it still only allows me to select the grid-of-objects as a whole in object mode. Is there any way to separate them so I work with them each individually?

$\endgroup$
0

4 Answers 4

65
$\begingroup$
  1. Apply the modifier to make the data real
  2. Enter edit mode on the object and press P > Separate by loose parts
  3. Select all separated objects and press Shift+Ctrl+Alt+C > Origin to Geometry

This will make each piece an individual object with the origin located at the origin of the original object. Now you can manipulate them as you wish.

Note: Original object has to be one mesh. If original object consists from more parts (like Monkey head + 2eyes) you will have to connect them together by simple edge.

$\endgroup$
8
  • 3
    $\begingroup$ Actually that's SHIFT + CTRL + ALT + C > Origin to Geometry $\endgroup$ Commented Apr 22, 2016 at 13:22
  • 1
    $\begingroup$ Step 3 has to be done in Object Mode. $\endgroup$
    – Parziphal
    Commented Nov 21, 2017 at 18:15
  • $\begingroup$ Step 1 can be done via Command+a in Properties panel (not in viewport). $\endgroup$
    – ynn
    Commented Jun 27, 2022 at 11:37
  • 1
    $\begingroup$ Drawback of this approach is that the loose parts will each become its own mesh data instead of (ideally) linking to the same underlying mesh data. $\endgroup$ Commented Feb 19, 2023 at 21:41
  • $\begingroup$ On my computer shift+ctrl+alt+c wasn't activating the hinted menu. Alternatively with them all selected in object mode, we can go to the object menu > set origin > origin to geometry $\endgroup$ Commented Oct 3, 2023 at 13:01
21
$\begingroup$

There are a few ways of accomplishing this without the use of the Array modifier that don't suffer from the separate parts issue.

Repeat last command shortcut

  • In object mode press Shift+D to make a duplicate.
  • Repeat using the Shift+R.
  • Then select them all and preform the previous steps again in the other direction.

Dupli Object/Group

When using DupliVerts or (the more flexable) Particles. Not only do you have the option to easily make these real using Control+Shift+A. But can alternatively use a Group of objects and have them spread around in various ways.

A grid particle system and the Apply menu with the Make Duplicates Real hilighted

$\endgroup$
1
  • $\begingroup$ Repeat last command shortcut is good in that if we use Alt+D instead we can keep mesh data linked. The draw back is that the amount of possible transformation for each duplicate might be limited compared to using array modifier. $\endgroup$ Commented Feb 19, 2023 at 21:42
17
$\begingroup$

You can try to manually separate them in edit mode, and press P to separate By loose parts.

This won't work if your array element already has separate parts.

$\endgroup$
2
  • $\begingroup$ the new objects act weird with this method... any tranformation you try to do to them, works linked to the original one.... in fact, all of them move together...just like if they were parented or were still the same object.... is there any work around? Plus, the median point for every new object is still placed on the original object.... $\endgroup$
    – invicente
    Commented Jun 25, 2014 at 17:08
  • 1
    $\begingroup$ @invicente how about selecting them all, then object -> transform -> origin to geometry? $\endgroup$
    – ajwood
    Commented Jan 14, 2015 at 21:16
4
$\begingroup$

I made a Python script that processes all Array Modifiers of an object but creates transformed objects rather than just the geometry. This solves a bigger set of this question's problem as using this script one can also keep the rotation and scale of the resulting parts (and join later). Have a look to this question where you'll also find the script:

How to obtain a set of separate objects from an Array Modifier (or other method) and keep their rotation and scale?

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .