candle smoke with new particle system

I added two particle systems to the wick of the candle. The first emits 15000 particles over 500 frames with just normal velocity, a little upward acceleration and a small amount of random initial velocity. The second system emits only 20 particles over 500 frames: these are invisible but set to act as vortices (in the fields and deflection panel you can now select particle systems as well as objects to emit fields) with random rotation. These have more random velocity variation than the visible particles so don’t stay in sync with them. By tuning the vortex strength and falloff, you can get these turbulent effects.

Also, I added an ipo to the first (visible) system to increase the strength of the brownian motion as time goes on (actually it increases quite sharply after about 75% of the lifetime), to make the particles disperse out as they get towards the top of the path.

It’s a bit too turbulent to be realistic at the moment, and at the same time there’s a large spiral that’s kind of taking over and a bit too obvious, but I think with some tweaking this could be good :slight_smile:

Wow, that’s pretty cool! How does it look animated?

Too bad you can’t somehow ‘interpolate’ a texture between the particles to get this effect:
Good start though.

looks good, if a little over done.
you could try to have the particles as textured planes, using an alpha based image as the smoke.
here is a flash tutorial to give you an idea as to how simple the alpha texture would need to be.
I have used this to create bubbles, smoke, fire in Flash.
The scripting is not important as the particles substitute.
As a side note, it would be good if this was python scripted as the technique is quite solid & could be useful for clouds & mist as well as smoke & bubbles.

Thanks Meta-Androcto, I’ll look into that. I’m not at all familiar with flash, so I’m not exactly sure how this would work but I’m sure I can figure something out. Does the texture itself need to be animated, or is it just a static cloud texture?

I was trying to get the smoke from two candles to mix together, but it seems like duplicating the particle settings onto the second candle results in identical smoke trails for both candles at the moment.

hi, you could use a small png as the particle or any other texture with alpha.
a white to faded grey Blend Texture would probably work the same.
in the tutorial they use a simple spot, faded at the edges for the texture.
the principals remain the same, no scripting required really, particles do it all for you.
your test reminded me of it.

Have you seen this?

kernond, I saw that a while ago but forgot about it. Thanks for reminding me. Using textured planes as the particles seems to make it very slow, and for a simple blend texture you can get the same effect by using a halo texture.

I’ve played with this a bit more: now there are 3 particle systems: the smoke and two systems of vortices (they both affect each other and the smoke). The first vortex system is stronger than the second and has a larger interaction radius, and the second has the same initial velocity as the smoke so it follows the smoke to begin with, until it gets affected by the first vortex system. The result is that the vortices are more dispersed in the smoke. I’ve also tweaked the starting velocities, randomnesses numbers of vortices and also the fall-off of the vortex fields quite a lot. I get completely different results depending on all these parameters, ranging from almost vertical smoke with a few kinks to the picture here:

I’m rendering an animation now. I’ll post it when it’s done.

A short animation is finished - link

Yep, that’s pretty convincing…

It’s actually better than the still!


I love Blender, don’t think I don’t. I own Lightwave as well (but haven’t used it on over a year). One thing that was so cool about Lightwave was the way you could texture/shade particles. You could set a color and have it “driven” by the particle age. You could create a color band that started out white, went to red, then yellow, then gray in a smooth color band. Then you could drive the color of the particles as a percentage placement along the color based on their age. It made for wonderful effects.

I’m sure the Blender Devs are already aware of this stuff and I’m sure at some point they’ll wow us with similar stuff.

You can do that in blender too. The particles in the animation I linked to have an alpha value that fades with the particle age so they seem to disappear. You just control the material with an ipo over 100 frames and it gets mapped to the lifetime of the particle. In the new system I see there are buttons for absolute and relative time, but I haven’t tried them yet.

Hmmm. Maybe those particle age things can map to color as well…

OK, the brain damage is too much. I can’t figure out how to map a particle’s lifetime to a texture/colorband. I wonder if using Python and creating a driven key would work? Anyone think it would?

You don’t use a colorband directly. Instead you use ipos with keys at various frames between 1 and 100. There was a good tutorial on but it’s down… Have a look at this, You basically open up an ipo window, change it’s type to material instead of object, and add curves to the r, g and b channels. If you do this with particles, it applies the ipo individually to each particle based on the particle’s age.

Thanx! And since is up again I will look for the other tutorial.

hallo grasshopper,
can you give me your blend with the nice smoke, please? I would like to make a good texture. :slight_smile:

Sure, there’s a link to the blend file here. It needs a fairly recent svn build to open. Just hit ctrl-a to run the animation and compute the particles. There’s a lot of particles in here, so it may take a while to calculate but it’s not too bad as far as I remember. There’s also an animation that I rendered a while ago here (it needs divx).

thank you for your blend! i will probably need a few days, it’s harder than I thought.

Or maybe you could use the Compositor to blur or color the smoke… The new Zmask node will also be helpful!