Get Firefox
Best viewed with the free Firefox browser. Minimum Screen Resolution: 1024 x 768

Thursday, November 13, 2008

How to Convert Duplicated Objects into Linked Duplicates

Here's a familiar scenario:

You're developing a 3D scene that includes several duplicated objects. At some point, you decide that you want/need to tweak some aspect of the duplicated objects and you want them all to be the same. The problem is that you created them as normal duplicates, instead of linked duplicates, because you thought you were done with editing the original object.

What do you do? You definitely don't want to manually replace the existing duplicates with the new version.

Well, there's a simple solution. You can use the Ctrl-L keystroke (displays the Make Links menu) to link any number of objects to one other object's mesh data. This will copy the mesh data of the one object to all of the other selected objects, creating a live link where the editing of one object is immediately reflected in the others!

Here's a simplified demo.

Here we have five cubes that were duplicated using Shift-D, the keystroke for creating regular (non-linked) duplicates.

Because these are non-linked duplicates, each object is independent of the others. Any editing of the mesh has no effect on the others.

However, we decide that we want to edit the mesh and have that change reflected in all of the other duplicates. So, we need to Link all of the desired objects to one common object. Do this by multi-selecting (while holding the Shift-key) the desired objects. Make the last object in the selection group the object whose mesh data you want copied to the entire selection.

The last object selected in Blender is known as the Active object.

With the desired Active object selected, press Ctrl-L to display the Make Links menu. In the image below, the front-right and center cubes are selected. The center cube was selected last so it's the Active object in this case. Select Mesh Data from the Make Links menu.

At this point, the front-right cube is a linked duplicate of the center cube! As you can see, editing the center cube is also reflected in the new linked duplicate.

Multi-select the remaining cubes, with the center cube selected last. Press Ctrl-L and select Mesh Data from the Make Links menu. Now, all of the cubes are linked duplicates of the center cube, causing the edits of one to be reflecting in the rest.

Now, let's look at how to unlink a linked duplicate. Having made our edits to the mesh, let's unlink the center object so we can continue editing it independent of the others.

To do this, simply select the center object and go to the menu Object | Make Single User. Select Object & ObData. (You can also press the U-key to access this same submenu.)

Now, the center object is independent of the previously linked objects. Editing the others will have no effect on it and vice-versa.

An interesting thing to note about copying mesh data is that the object types can be different.

For example, let's copy the mesh data of a sphere to the center object (cube).

Now, let's copy the mesh data of one of the other objects to the center object.

And, that's it!

BTW, when creating duplicate objects, you can automatically make them linked duplicates by pressing Alt-D, instead of Shift-D.

Here's a quick video of the entire process:

technorati tags: , , ,


Dudy said...

Thanks for this tip! great stuff...

I'm glad to see this place coming back to life. Post more, d00dz


Unknown said...

Thanks for this. It answers an unasked question, and will save loads of time.

Rob Cozzens said...

I didn't know you could do that!
That's one of the problems with much cool stuff remains hidden.

Unknown said...

Thanks so much! ^_^

Anonymous said...

anyone have any issue with duplicating objects? once i duplicate, and move along in my scene, if i press cmnd-z at any point in time after duplicating, all duplicated objects revert back to original location. does that make sense?

Post a Comment

Comments are always appreciated, thanks!