I have parent object and some array modifiers on it. Also my parent object has some childs, but they are not copied by array modifier, despite they have a parent-child relationship. I need child objects to be copied like parent objects, maintaining their position relative to the parent. How can I do this?

(Window frame as a child object and walls as a parent)

enter image description here

  • 1
    $\begingroup$ Modifiers alter the vertices of the modified mesh. AFAIK they are not inherited by children. Will need to re-think this. Can join hierarchy into one mesh, or choose a method other than array (directly) to distribute. $\endgroup$ – batFINGER Jun 15 '20 at 16:41
  • $\begingroup$ But boolean modifiers that modifies mesh ARE inherited. I want the childrens objects to be copied as well as parent object on the same positions $\endgroup$ – timuruktus Jun 15 '20 at 16:46
  • $\begingroup$ do you have any reason not to join the 2 objects? You could also keep them separated and array the frame as well... $\endgroup$ – moonboots Jun 15 '20 at 17:12
  • $\begingroup$ Joining 2 objects will cause destructive workflow because after joining window frame with the walls it immediately dissappears because of difference boolean modifier, so I have to apply them before joining two objects, so I fall into destructive workflow $\endgroup$ – timuruktus Jun 15 '20 at 17:20
  • $\begingroup$ To clarify. If a child object is used in a boolean modifier to cut a window (or whatever) into mesh that is then arrayed, that there are windows on each array instance is not due to inheritance. Agree with moonboots, can also array frame. Consider distributing collection instances. A single vertex mesh can be arrayed dupliverts $\endgroup$ – batFINGER Jun 15 '20 at 17:42

Boolean Union Modifier

Modifiers alter the vertices of the modified mesh.

enter image description here

Hide the child frame object and "join" it to the wall mesh using a boolean union operator before the array modifier(s).

Example image small cube "Cube.001" child of arrayed big cube "Cube".

Re materials

Join objects (boolean) with different materials

Note: this is not inheritance, (the object need not be a child) the modifier alters the mesh of the original.

  • 1
    $\begingroup$ Note : If your window frame has a different material than your walls, the boolean modifier will overwrite it unless you add the window frame material to the list of materials of your parent object (no need to actually apply it to a face though) $\endgroup$ – Gorgious Jun 15 '20 at 19:11
  • 1
    $\begingroup$ For sure. Will need to make sure the "unit" renders as desired. A QA re that came up recently will look for link. Personally would still lean to making a collection instance and "arraying it" with duplis. Could contain armatures et al and would preserve per object materials. $\endgroup$ – batFINGER Jun 15 '20 at 19:17
  • $\begingroup$ @Gorgious I have noticed a point cloud object type is available (non save-able demo last I looked) in later versions of blender. $\endgroup$ – batFINGER Jun 15 '20 at 19:35
  • $\begingroup$ It seems part of the basic structure of Blender atm that you can't modify Collection Instances, which is maybe reasonable? - but a pity. $\endgroup$ – Robin Betts Jun 16 '20 at 9:02
  • $\begingroup$ Hopefully the new depsgraph will help bring the possibility forward. Have noticed using self in drivers and printing confirms self is the evaluated object. $\endgroup$ – batFINGER Jun 16 '20 at 9:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.