2
$\begingroup$

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.

$\endgroup$
3
  • $\begingroup$ Do the bricks tessellate? Are they all the same shape? Do you mind if the bricks overlap? Do they need mortar? There will be ways to do this.. but which way will depend on a little more detail. Maybe an illustration of what you would like? $\endgroup$
    – Robin Betts
    Jan 15, 2019 at 8:05
  • 1
    $\begingroup$ They all are same shape yeah, and they are not completely rectangle so five them the look that they've been there for a long while. I've uploaded the example of target object to this imgur site in case you want to see what I am aiming? I basically want that pipe to be made out of these bricks essentially to serve as basis for cycles materials and normal maps which I can bake and use on Unity. imgur.com/a/w0NSAer $\endgroup$
    – Vilinder
    Jan 15, 2019 at 8:22
  • 1
    $\begingroup$ Basically what I want to do is use an existing object as stencil and fill that stencil with brick objects that would make up a version of that object from said bricks, if that makes sense? $\endgroup$
    – Vilinder
    Jan 15, 2019 at 10:27

1 Answer 1

3
$\begingroup$

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.)

Result:

enter image description here

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.

enter image description here

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.

enter image description here

You can make copies, change the array dimensions, and fit corners....

enter image description here

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.

$\endgroup$
7
  • $\begingroup$ I followed your instructions but when it hits time to edit the particle system my results end up like this i.imgur.com/xNFbH4g.png So uh, what went wrong? $\endgroup$
    – Vilinder
    Jan 16, 2019 at 8:28
  • $\begingroup$ At first sight, there look to be two problems 1. the offset in array 2 seems to be a whole brick, not half a brick, and 2.a few of your brick-objects are not oriented in the right direction. When I've got a moment, I'll tidy up my file and share it on blend-exchange.giantcowfilms.com.. by all means, share yours, and I'll have a look. $\endgroup$
    – Robin Betts
    Jan 16, 2019 at 8:37
  • $\begingroup$ @Vilinder see edit.. $\endgroup$
    – Robin Betts
    Jan 16, 2019 at 9:13
  • $\begingroup$ Here's my blend file, it has bunch of other stuff too related for the house I am making. Anything that's named "Tiili" is related to bricks <img src="https://blend-exchange.giantcowfilms.com/embedImage.png?bid=5749" /> $\endgroup$
    – Vilinder
    Jan 16, 2019 at 9:41
  • 1
    $\begingroup$ I edited to bold word plane and added word primitive after it so that anyone in future will see that it means planes and not bricks ^^ $\endgroup$
    – Vilinder
    Jan 16, 2019 at 10:33

You must log in to answer this question.

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