16
$\begingroup$

I place leaves on my trees with emitter particle systems. Then, to make a forest, I place those trees with another emitter (or hair) particle system.

Problem is particles of particles don't work, I only get the trunks without leaves in my forest.

Following this question : How can I convert a hair-particle system into 3D, editable objects?, which solution takes ages (I use about 500 000 leaves per tree), I tried to write a python script, but comes to the same problem. Searching on google, I found Brecht saying it comes from the naming of object (leave.001, leave.002 .... leave.500000) which after 1000 iterations becomes pretty slow and after 10000 extremely slow (so naming 2000 object is much slower than twice the time of naming 1000 of them). Anyway, that step is useless, blender needs one big mesh with all leaves to allow instancing it, not 500000 objects with one linked mesh.

So question is how can I convert all the particles to one unique object in one step (or at least avoid it to take 28 hours every time) ?

$\endgroup$
3
  • $\begingroup$ Trying to get around the naming problem, i managed to get a dummy script create and name 50000 objects (so 10x times less as what I need) but then Blender was unusable (every click takes ages). So the 2 steps way is really not viable. Only the solution where the converted particles stays in one object (the emitter) could work. I tried ctrl+J but it seems it doesn't work on particles. $\endgroup$
    – matali
    Jun 26, 2013 at 14:52
  • $\begingroup$ Have you tried using the 'Sapling' addon? $\endgroup$
    – Gwen
    Jun 26, 2013 at 16:19
  • $\begingroup$ @Gwenn Yes, I used it and Arbaro as well. But I don't like the default leaves (they don't fit the PNG's transparency, are too flat, etc... so I do the foliage manually like MarcoGIta explained on the BA Forum. It's in the sapling thread.) $\endgroup$
    – matali
    Jun 26, 2013 at 18:58

1 Answer 1

17
$\begingroup$

Particle Instance modifier

When a ParticleInstance modifier is added to an object, that object will be used as a particle shape on an object which has a particle system associated with it.

  • Instead of setting the leaf object in the render settings of your tree's particle system.
  • Use the "Particle Instance" modifier on the leaf itself.

This has the advantage that it can be used multiple times for multiple particles systems.

Particle instance modifier example trees using monkey/Suzanne heads as leaves

$\endgroup$
14
  • 1
    $\begingroup$ Wow, thanks a lot Aldrik :) To be honest, I thought nobody could answer that and I will get a "it's a blender limitation, for feature request please etc..." because I asked 2 devs and they told me nested instances will never be supported... :D Nice, really nice. You get a kiss as well if you want ;) $\endgroup$
    – matali
    Jun 26, 2013 at 16:01
  • $\begingroup$ Yes I tried it, it works perfectly. A bit strange to add the modifier on the leave and no on the trunk, but despite that unintuitive way, it works :) $\endgroup$
    – matali
    Jun 26, 2013 at 16:05
  • 1
    $\begingroup$ For people trying it, one side-note : rotation should be done in edit mode, not object mode. Only downside I found until now, is that the material randomisation per leaf (with particle info node) doesn't work anymore. I can only get randomisation per tree (all leaves of one tree have the same hue value). $\endgroup$
    – matali
    Jun 26, 2013 at 16:48
  • $\begingroup$ Another thing (in my case not a problem, but iKIsR asked for details and feedback) is that memory usage goes a bit up for low-poly leaves (my case) but goes quickly toward using my 8Gb if I subdivide the leaf a bit. So be careful to not use too much high-poly leaves. $\endgroup$
    – matali
    Jun 26, 2013 at 16:53
  • $\begingroup$ @matali ok, thanks, it is always a good idea to let people know exactly how helpful the answer was. :) $\endgroup$
    – iKlsR
    Jun 26, 2013 at 17:04

You must log in to answer this question.

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