Steam vent emitter

Hello Eddy people!
@jbrennick sent me this iphone footage as some handy reference on the weekend, and a mini challenge to try and match the effect. Thanks John!
I didn’t get quite there in the sim with the time I had, but I think i’m close.

Anyway, I decided to make a mini project out of it so i could pass on a few techniques to you all, and of course pass on a reuseable steam/pipe/vent emitter for your shots.

Parts of graph to note:

  • using initial velocity to simulate the steam exiting upwards through a pipe/vent, and then the overall wind section and boutancy drive the remainder of the lifetime.
  • using an Axis + instancer node to place your effect every time! This allows you to place it where you want, without resetting your simulation. Allows easier tweaks later in the process, which is always good.
  • Using a preview render node and a Final(or gpu farm) render node. The preview render has no AOVs and low maximum progressions. The Final render node has tonnes of progressions( it will only use what is necessary, check the output log for info on this while rendering) AOVS, overscan.
  • animating timescale down after preroll. Pre-rolling then slowing down smoke plumes is something i learnt from @ronnie recently and its fantastic. I’m probably overdoing it in this example but you get the idea.
  • I’ve also put a bunch of sticky notes explaining parts of graph.

I’m sure this emitter will be useful for some, I see a lot of similar effects going around. The main parts to adjust for look are:

  • the sin wave on the initial E_Sphere
  • the initial velocity vector and noise amplitude
  • and the overall wind.




haha, I didnt think you’d have something this good so quick!!! This is awesome. Thanks for all you do for this community Matt! This is a great example that I’m sure will be populated a bunch. Also love your easy to understand and clear layout. Super helpful. Great work bud!! I think I asked this before but I’ll ask it again. When adjust the timescale to such a low value on such a highspeed sim, I noticed that it looks almost like it’s cross dissolving between shapes. some voxels sit and just kinda freeze and dissapear while there is new density moving and then the new density freezes after a certain point and disappears. Is this a timestep issue? How would you mitigate this so it feels more natural? Thanks again Matt!

Heya John, thanks!

The ‘cross disolveing’ sort of look is largely driven by the SIN wave on the initial sphere shape. Adjusting the expressions timing e.g. (frame * x) will change this cross dissolve look a lot.

In regards to density freezing or being left behind, this could be timestep sure. I think it may be a voxel size issue. I optimized this script a bit before uploading from memory, but for production renders, go to 0.01 or lower if camera is closer. I could get down to 0.0065 on my 1080ti and it was still fairly fast.
I think this can also happen if velocity or vorticity injection is too high. In general keep Enhancement Strength under 25 or so, and any overall wind settings, start very low and raise up until you get what you want.