Transfer multiple objects parented to another project with the same parents and keep sctructure

If I copy objects or link them blender makes duplicates | copies of parents. So I need to copy, for example multiply decals but I don’t need to copy parents, because another scene already have them, so how to keep hierarchy?

Scene is complex, not simple cube and monkeys.

When you copy an object, only selected objects are copied.

If you don’t selected the parent while copying, it is not duplicated but it is still the parent of duplicated hierarchy.

If it is not the parent you want, for those copies ; you can re-parent them to an Empty.
Or you can copy the whole hierarchy with parent, re-parent children to Empty and delete copy of old parent.
Or copied children can be unparented and cease to be children.

You can link new hierarchy with Empty as old one, or have no hierarchy and just link a collection instance of a new collection.
All that is needed to link the whole is a way to group objects with an Empty parent or in a collection, in original file.

But instead of fixing things in original file, you can fix it in final blend file.
Normally, you create library overrides to to be able to manipulate linked objects.
Alt D on such kind of hierarchy recreates overrides on duplicates.
And overrides should allow to hide the parent of duplicated hierarchy in Viewport or in Render.

Thank you, but I don’t drink so much to get it.

  1. If you copy an object it will paste the object AND the parent original was parented to
    AND now, CONGRATULATIONS!!! You have TWO copies of parent. And now you need to manually reparent children.

But what if you have complex scene with hundreds of items?
And you have Low poly and High poly original scene with the same names, positions etc, the only difference is LP and HP, so you have to spent another month to reparent all the children?

Nevermind, it is easier to create a python script than explain simple things.

OK. Now, I get it. My mistake, I reused the verb Copy, when I wanted to say Duplicate.
You create duplicates by Ctrl C / Ctrl V.
I thought you were using Shift D or Alt D.

If you duplicate or duplicate linked instead of copy/paste, only selection is duplicated.

The number of object is not supposed to be an issue, as long as you know how to select many objects as one.

You can select one parent, then use Shift G menu to select or extend selection to children (whatever is the amount of children).
In Outliner, you can select one parent, and then open a Right click menu > Select Hierarchy.

In Select menu of viewport, you can choose Select Pattern, and then type HP* or LP* to select objects those prefixes.

1 Like

No, it is a diferent project, not just LP and HP namespace.
Same names, same objects, same materials,
so ,I don’t want for example to use shader duplicates if I have one for all the cases, and blender will make copy it (.001 .002 .003) no matter what I want.
If I link collection for example, blender will make all duplicates, Ind there is no way to avoid it.

Alt D (duplicate linked) does not make a copy of every datablock.
Mesh data is not a copy. Shader is not a copy. That is the same datablock linked several times.
Same thing is happening, if you make a duplicate linked of an overridden collection.

You end up with two different objects with different names but sharing same linked content data.
But because objects are placed at different locations ; they need to be considered different objects with different names.
New object datablock is created (datablock handling transform properties) but its content (object data) is made of same linked mesh datablock and same linked material datablock.

You can avoid to create multiple objects just to create instances, by using an instancing method.
You can parent object you want to instance to a mesh parent, and use Instancing panel of Object tab to create instances on vertices or faces of mesh parent.

Or you can use geometry nodes. A geometry node tree containing an Instances on Points node is doing the same, instancing a geometry designated as Instance on a geometry designated as Points.

Or you can use old particle system to render particles as Objects or Collections.