top of page
Search

Houdini Roadmap #3 - Smoking kills

  • Writer: Sammy Lyu
    Sammy Lyu
  • Mar 26
  • 2 min read

Updated: 17 hours ago

[26/03/2025]

This week I'm switching up the format a little to simplify my notes and create a sense of order. No more breaking down my projects, from now on I'll just list the keypoints and stick to one videos and one project file. First off, I will now start adding dates to my posts, as I should have done already, two weeks ago.

Anyways this week was smoke and Pyro simulations, here was the result at end of week:

Smoke rising from ground simulation

PROJECT FILE:


Key points from this week:

  • Always make sure your attributes (uv, name, density, temperature, etc.) get transferred down the network all the way to your caches and reference nulls. If you are unsure, you can always use an attribute transfer SOP to make sure the specific attribute you want is present in the part of your network where it is needed.


  • SOPs such as Assemble, Pack and a few others (that I do not know yet) are ones that might LEAVE ATTRIBUTES OUT when transferring information to another node. So always make sure that your attributes are being transferred correctly.


  • Use PYRO BAKE VOLUME to adjust the materials and shaders of smoke, fire and clouds. It is much more flexible than using an assign materials SOP and adding principled shaders in the material context.


  • You can use VEX to animate the parameters of the pyro solver, such as Buoyancy, Disturbance, Turbulance according to frame number. Maybe you want turbulence to spike at frame 25 in a 240 Frame sequence, then you can go:


    if (@Frame>=25)

    {

    @turbulence = fit(@Frame,25, 240, 5, 3) };


  • The equation above basically says if the sequence is at frame 50 or above, randomly change the turbulence between frame 25 and 240 to a value between 3 and 5.


  • ALWAYS remember your close parenthesis (;) when using VEXpressions

  • Final key point, if you would like to add velocity to volumes & VDBs, you should use point velocity and avoid creating a "velocity" attribute from an attribute create. The point velocity SOP just includes more functionality and control as default.



And that's it for this week folks! I'm off to learn more Houdini, be back next week.

 
 
bottom of page