15
$\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$
  • $\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 '13 at 14:52
  • $\begingroup$ Have you tried using the 'Sapling' addon? $\endgroup$ – Gwen Jun 26 '13 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 '13 at 18:58
16
$\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$
  • 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 '13 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 '13 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 '13 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 '13 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 '13 at 17:04

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.