I have a seed object with some particle hair strands. I've specified this object to be instanced in another particle system, then specified that object to be instanced in yet another particle system.

To clarify:

  • I have a cube with hairs strands
  • I have a Suzanne coated in cubes with hair strands (the hair strands only appear in the render, which is fine)
  • I have another Suzanne coated in Suzannes, but these Suzannes don't have cubes or strands like I was hoping..

enter image description here

Is there a way to get the particle systems to keep recursing, so that the last Suzanne is coated in Suzannes coated in cubes coated in strands?


Here we have a red Suzanne, emitting blue Suzannes, emitting green cubes, emitting grey hair.

enter image description here

I have managed to do this with the 'Particle Instance' modifier.

The Particle Instance modifier is applied to the object you want to instance. On the modifier, you then pick an object that has a particle system that you want to instance the object onto (at the position of each particle.)

For the above image I added a hair particle system onto the red Suzanne. I then created a smaller, blue Suzanne and added a Particle Instance modifier to it, picking the red Suzanne as the target.

enter image description here

I then added a separate cube (green) and added a hair particle system to that.

The final particle system is added to the blue Suzanne, under the Particle Instance modifier. It emits the cube in the normal fashion by choosing the cube as the render object on the particle system.

As you noted, the hair emitted from the green cubes does not appear in the viewport but do appear in the render.

Note: The blue Suzannes will not be identical, they will each have a unique placement of green cubes on them. I wasn't able to solve this, the linking was already getting quite complex and slow.

This is quite a complex setup so I may have forgotten a few settings or overcomplicated the setup. For this reason I have included the blend file.

| improve this answer | |
  • 1
    $\begingroup$ Thanks, I guess that will work. Unfortunately if I'm not mistaken the particle instance modifier creates copies of the mesh in memory instead of instancing, so I'll have to see how memory usage goes.. I'll leave this unaccepted for now just in case there is a way to instantiate the recursive objects.. $\endgroup$ – gandalf3 Mar 29 '15 at 22:09
  • $\begingroup$ Hm.. Is there way to instance a group of objects with the particle instance modifier? $\endgroup$ – gandalf3 Mar 30 '15 at 4:23
  • $\begingroup$ Not directly, as far as I know. I would start to be inclined to emit a plane that you could then dupligroup onto. $\endgroup$ – Ray Mairlot Mar 30 '15 at 11:30
  • $\begingroup$ Interesting particle work. $\endgroup$ – atomicbezierslinger Jan 18 '16 at 18:50
  • $\begingroup$ This is a follow-up to the previous blend solution. ![manipulated blend file](i.stack.imgur.com/yrcEV.png) This shows more clearly how the Particle Instance solution works. The large red monkey head has a Hair Particle System. The small green monkeys use Particle Instance modifier which make 10 instances at the end of the hair paths. Then the 10 green monkeys share one Emission Particle System, which generates 10 of the blue cubes for 50 frames. And that cube has a white Hair Particle System. $\endgroup$ – MisterPeace Nov 28 '19 at 19:48

I got something close by following the steps below (Blender 2.81):

  1. Add a Hair Particle System to the default cube.
  2. Move the cube out of the way.
  3. Add a Monkey mesh.
  4. Add a Hair Particle System to the Monkey.
  5. In the Particle Properties, under Render, Render As "Object", Instance Object "Cube".
  6. In the Modifier Properties tab, hit the Convert button.
  7. Select Cube.001 to Cube.### in the Outliner, and in the Viewport, Object > Join.
  8. Add a new Mesh > Monkey. Add a Hair Particle System, set object as "Suzanne".
  9. Duplicate that Particle System. Convert to single instance by clicking on the # next to the name. Check the box Object Rotation. Change the object to "Cube.001".
  10. I think clicking on Cube.001 and going to Object > Set Origin > Origin to Geometry helped the placement.
| improve this answer | |

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.