Smoke to take up specific shapes?

Hi, I was wondering how would one go about in making smoke take the form of a specific shape? I’m sort of making an intro for myself and I had the idea to make a smoke cloud raise, and shortly form a text. I got the smoke simulation to work how I want, but I can’t figure out how to actually control its shape. I know that it must be possible somehow, but it eludes me.

Thanks in advance, any help will be greatly appreciated!

Maybe play your animation in reverse.

But that will limit me to forming, but not disappearing again. But I suppose some messy video editing might work, create separate animations and arrange them.
But I was wondering is there was an easy way to do it, all in Blender?

Yeah I’m not sure on that. That would be beyond my Blender knowledge sorry.

I would really like to know as well. I have tried this earlier using collision objects, but it did not look good.

Any ideas?

Well, I will try it with the reverse animation tricks and hacks, and see if I can compile it. Thanks for the suggestion anyhow.

Maybe use the water symulation with no gravity. And then use those vater as volume for smoke?

Using a collision object, I got it to take the very basic shape of the monkey, but it looks terrible, and probably not what you want.


Why aren’t you just using your “form” as an inflow object?

Can you elaborate on that?

Here’s what I think should work:

  1. Model a mesh of the shape you want the smoke to take.
  2. Set it as a collision object
  3. Make sure there’s a hole at the bottom for the smoke to enter
  4. Set up the simulation so that the smoke flows into the hole at the bottom of the mesh
  5. Bake the simulation
  6. Move the mesh to a different layer
  7. Render (make sure to not include the render layer that has the mesh object).

Does that make sense?

Hmm I see, but all that collision detection will increase the bake time to ages for me, and also will look a bit stiff.
Is it possible to remove the collision mesh in mid bake? So that it will take the form of the mesh, but then the smoke will scatter once the mesh is gone?

What I’m finding is if you want good results, it’s usually going to take ages. How do you mean by ‘a bit stiff’?

From what I can see of the baking controls, you either bake or free bake, there’s no option to stop, change the scene, then start again from where you left off. What you could do though is animate the mesh so that it moves out of the way of the smoke, either scale it way up, or animate the vertexes out of the way using shape keys:

http://wiki.blender.org/index.php/Doc:2.4/Manual/Animation/Techs/Shape/Shape_Keys

The baking should (you’ll have to confirm, haven’t done this myself, but logic dictates it “should” work) take the animation into account and the smoke should react to the moving mesh.

Would be good to know how it turns out.

Thanks for the reply, but I think I may have figured out a cheaper way (and possibly with better results). I will get the particles to take the form needed, while they are emitting a short lived smoke. I think that will work best and lower bake time as much as possible. But I will also do a quick test to see if the baker takes animation into account too.

Yup, that makes sense if you don’t want the smoke animating in to form the shape.

Hmm, I used the collision version in my test and it works OK (see above image) but it dosn’t look that good. Also I did try the short lived particle smoke, but it is not detailed at all. I will keep trying, because this is pretty interesting.

One thing you could try is upping the smoke’s resolution devisions, baking will take longer, but it could give better results. Also, when you up the divisions, you’ll want more particles to fill the same amount of space, so, if you go from 32 to 64, i’d at least double the number of particles.

Also, I can see that you had a couple of strands of smoke escaping from Suzanne. Maybe the resolution of her mesh isn’t high enough? Could try adding a subsurf modifier and applying it, or go into edit mode and subdivide a couple of times, depends on if you want your higher resolution Suzanne to be blocky or smooth (might make a difference with the higher divisions of smoke).

Another thing you could try, not sure if this will work as I haven’t tried it, but you could flip the normals of Suzanne so they’re pointing inwards and use her as the smoke flow object. Get rid of gravity and make sure the smoke sim isn’t using the particles starting speed. This should make the smoke generate at the edges of the mesh and seeing as there aren’t any forces shifting them around, they should stay put.