1
$\begingroup$

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

$\endgroup$
6
  • 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, 2020 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, 2020 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, 2020 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, 2020 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, 2020 at 17:42

1 Answer 1

2
$\begingroup$

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.

$\endgroup$
5
  • 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, 2020 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, 2020 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, 2020 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, 2020 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, 2020 at 9:14

You must log in to answer this question.

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