particles from particles?

Hi Folks, noob here, so apologies if/when this turns out to be a trivial problem.

A brief description of what I want to do. I have a plane, onto which i have used particles to spread a random distribution of a modelled object (obj1). From those objects I then want a random pulse of a different object to be emitted. I had hoped Blender would copy whatever modifications are done to obj1 onto those distributed over the plane, but apparently not.

That is probably a trivial problem, but I am still scrabbling around the bottom of that steep learning curve!

Many thanks

I don’t really understand you problem here, but here’s something that could get you on the right track.

  • Add a particle system to your plane and set the render type to None under the Render tab in the particle settings.
  • Select obj1 and add a particle instance modifier, choose your plane as object. You can play around with the alive born dead settings as well.
  • Add a particle system to obj1 and check the Use Modifier Stack in the Emission settings. Make sure that obj1’s particle system is below its particle instance modifier in the modifiers stack. Set render type to None as well
  • Finally select the second object (say it’s called obj2) that you want emitted from obj1 and add a particle instance modifier with obj1 as input.

With this setup you should see the plane emitting obj1, and each instance of obj1 emitting obj2.

Blender’s particle system currently has a few flaws however, so here’s a few heads up:

  • the amount of particles set in obj1’s particle system will be the total amount of instances obj1 will emit. Say your plane emits 10 obj1 and you want 100 obj2 emitted from each obj1 instance, you’ll have to set obj1’s particle settings to emit 10*100 = 1000 particles.
  • sometimes particles aren’t updated well when you make changes to the system. A way to force blender to update changes is to change the particle amount to any value and back to the wanted number.
  • substeps aren’t supported so you may get clumsy results during emission. Let’s take a simple case where your plane emits only one instance of obj1, and obj1 emits 100 instances of obj2 over 10 frames. You’d want each obj2 instance to be emitted every 1/10th of a frame for a smooth result. As substeps aren’t supported, you’ll get 10 obj2 emitted at each frame instead of continuously, resulting in a blotchy unpleasant simulation. There’s currently no simple solution to get around this problem.

Wow, I would love to see a posted BLEND of particles emitting particles. As far as I know, that is not possible in Blender 2.71.

Can you post your setup Little-me?

I’ve seen someone doing a trick to get near this… not recall where but maybe here in BA…

aaha, found it :

it uses the explode modifier, and particles by face…

If your initial particles system is on a plane as you stated.

I think you could also use dynamic paint

Particle system one paints the emitter spots for particle system two

It’s not exactly particles being emitted by other particles as objects are used as a link to instance other particles, but it’s the idea.

I’ve made a quick example here with two scenes.

Scene 1 is a basic example showing how the setup works.
I set a semi-sphere (base) to emit 10 particles represented by torus object (obj1) which each emit 20 child suzanne (obj2) after frame 10.
Things to look at are:

  • particle render settings for base and obj1, set to None
  • emission settings for obj1:
    • notice 200 for particle number, meaning 20 particles per obj1 instance
    • Use Modifier Stack checked)
  • modifier stack for obj1 and obj2:
    • particle instance must be applied before particle system
    • obj2 has unborn and dead unchecked (play around with those to see what they do)

Once you’ve understood that setup you can move to the second scene which explains the substep problem I stated above. It’s a simple firework example, but a bit more complicated than the first scene. A plane (base) shoots one particle (obj1) to the air that then explodes in multiple fragments (obj2). Each obj2 then emits a trail of particles.
As always things to look at are Particle Emission and Render settings for each object (including obj2 this time).
You’ll see however when you run the simulation that obj2 particles are emitted each frame. Every frame, several particles are emitted, then obj2 moves, and on the next frame another pack of particles are emitted, with nothing between these frames. This results in a blotchy simulation where particles aren’t emitted continuously, and ends up in bad unwanted results.
Unfortunately tweaking the subframe value in the particle settings (physics tab) doesn’t change anything. This is a known problem and I’ve read on that the whole particle system has to be kind of rewritten to solve this issue…

The only workaround I can think of right now is to play around with the timestep or time remapping option, but it seems quite tedious and difficult to include in a scene where other objects are animated.
If anyone finds a working solution to this I’d be happy to hear about it !

EDIT: I managed to upload the first example, second seems to be too heavy for upload so here’s a link

The particles aren’t baked in any file to save memory.


scene1 Simple setup.blend (754 KB)