Is there a way to do what I mentioned in the title? For example if I have a bunch of smaller highly detailed boxes that act as bricks and one low detailed box acting as a house, is there any way to make it that this said house is replaced by an array of these bricks? I am planning to use this high poly model as a basis for textures and normal mapping for a low poly model in Unity.
This is just an aid to modeling, not a fully-automated 'fill my wall with bricks' system. This example - X across, Y up, Z out
Make a template
My bricks are 2x1x1, so this starts with an composite offset array of 2x1 plane primitives.
- Array 1: Relative Offset of 1 in X,
- Array 2: Relative Offset of 1 in Y, 1/(2*Array 1 Count) in X,
- Array 3: Relative Offset of 1 in Y.
(I put the X-offset in Array 2 into an expression driver, to automate it when I changed the width of the wall.)
Make a group of your bricks, correctly oriented
- CtrlG Group the variants of your bricks.
Note their orientation - in the result all the duplicates will face out in the object's positive Y, across in Z, and up in X. This means that if you rotate their meshes in edit mode, that counts as more variants.
The origins of the brick objects will lie on the template.
Emit the group of bricks as a particle system from the template
I've illustrated all the settings that matter. Things to note:
- The only settings are the ones shown, everything else is switched off. (No physics, etc.)
- All the particles are emitted on frame 1.
- The number of particles is (count array1) x count (array2) x (count array 3).
- Use Modifier Stack is checked.
- You can change the Render > Size setting to put some mortar between the bricks, if you render the emitter, too.
You can make copies, change the array dimensions, and fit corners....
At any stage, you can hit 'Convert' in the modifier put into the template's stack by the particle system to make all the bricks real instances. Identical bricks still share Mesh Data. If you want to edit individual bricks, go into the brick's Data tab, and click the 'number of users' section of its title bar to make the mesh data single user, so your edits don't affect multiple instances. To do that to multiple bricks at a time, hit U > 'Object and Data'
In this .blend, the driver panel is open, to show the way Array 2 is set. If you change the dimensions of the array, you will have to go in and change the number of particles to suit, though.. that can't be driven.