I'm modeling a bathroom interior, and I was wondering if there were any nice ways to distribute the little water spouts in their pattern along the black plastic for this shower head. Here is my reference image (sorry for the low quality) : enter image description here


  • 1
    $\begingroup$ the search term you're looking for is 'polar array' or 'radial array' (but sadly no-one uses the correct term in their questions) and already has answers: blender.stackexchange.com/questions/6023/… $\endgroup$
    – zeffii
    Jun 5, 2015 at 6:34

2 Answers 2


Radial / Polar / Circle Array

First decide how many rings of holes you want, and the sizes of these various holes. The inner ring usually has a different hole count than the outer larger ring.

For the sake of demonstration let's say I pick 3 different sizes

hole count per ring | angle between each hole
big hole: 20        | 360 / 20
smaller hole: 15    | 360 / 15
smallest hole: 10   | 360 / 10

A convenient way, which doesn't appear to be obvious for a lot of people, is to use the Array Modifier and a rotated Empty. The rotated empty will be used as the centre of the radial array. The rotation of the empty will control the angle of rotation of the arrayed objects.

If you want a radial array of 15 objects (for educational purposes I will array around the world center (0,0,0), and the plane is X,Y :

  • you place an Empty at (0,0,0), rotate it around z by 360/15 enter image description here

  • add a circle to the world at (0,0,0) and in edit mode move the vertices to in the X direction to until you are happy with where it is

    enter image description here

  • Pick your Object, add Array Modifier to the it

  • set the Object Offset to the rotated Empty

    enter image description here

From that point it's up to you what you do, add more rings. In the end you might have something like this, i've zoomed into the Empties to show that it might look a bit cluttered and that's to be expected (this is why naming your Empties is very important)

enter image description here


Start off with a circle (I set mine to have 16 verts).

Then, in edit mode, extrude and scale it a few times until you come up with something like this (this will act as an emmitter object for the nubs later on): enter image description here

With some simple modeling techniques model the nub.

enter image description here

Then, with your first circle object selected, create a hair particle system with advanced checked, the number of particles matching the amount of verts in the object (look at the header to see the amount), select verts, and uncheck random.

enter image description here

Then, under render, select object, and choose the nub object. Then check rotation, change the type to normal, and uncheck rotation. This fixing the rotation is probably a bug, but we can take advantage of it to give the nubs the proper orientation.

enter image description here

Then, scale down your nub to adjust the size on the emmiter.

enter image description here

Finally, in the modifiers settings of the emmitter object, convert the particle system, remove the emmitter object (this will make all the particles separate objects, but they will share the data with the nub we made earlier, just as if they where an AltD Copy.):

enter image description here

Then, finally, select the nub, and in the vertex data section, press the number next to the name of the vertex data

enter image description here

and then join the particle objects together.

All that it takes after that, is to move it into position with the the model of the actual shower head which can be done with some simple modeling.

  • $\begingroup$ I'm sorry about the length of this, I'm going to clean it up tomorrow, and improve the images to take up less space and provide more clarity. $\endgroup$ Jun 5, 2015 at 5:44
  • $\begingroup$ Awesome! Thank you so much for the detailed answer. I never thought of using a hair particle system. $\endgroup$ Jun 5, 2015 at 15:00
  • $\begingroup$ You can do the same thing with dupliverts also. See this: blender.org/manual/modeling/objects/duplication/dupliverts.html $\endgroup$ Jun 5, 2015 at 17:47

You must log in to answer this question.

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