top of page

Houdini Diary #4 - Watch out! 💥

  • Writer: Sammy Lyu
    Sammy Lyu
  • Apr 18
  • 2 min read

Updated: 7 days ago

18/04/2025






First of all, I apologise to myself, its been a while (exactly 23 days). Just thought I didn't have any good work to present but that totally defeats the point of these posts that should be documenting my journey. So to compensate, I will post all of my WIPs from the last three weeks and get to posting weekly. As always, we start with the latest result:

Fireball Explosion FX

PROJECT FILE:




Key points from this week:

  • When using Karma pyro shader, always make sure you go to BINDINGS in the properties and change the SOURCING to whichever value you need. Density for smoke Burn and Flame for fire, etc. (The default source for fire is density, why?)


  • A very handy VEXpression I got from Youtube channel "mrbennelson", amazing tutorials on Houdini. This expression I used to remove points from the line that I created to create a kind a "point dissipation" for my fireball smoke trail according the the current frame value. if((f@[attribute name] + 1.0) < @Frame || (f@[attribute name]) > @Frame {

    removepoint (0, @ptnum); } Link to video: https://youtu.be/qNd6oupFIpI?si=jngWX8QdwurLTwXn

  • You can use the BLAST sop to get rid of sources or attributes you don't need. Maybe you want to remove the density as it is just sourcing as a 0, then you can say @name = density in the GROUP parameter.

  • If you need to lower the file size from 32-bit to 16-bit or convert the volume simulation to VDB, you can use the PYRO POST PROCESS SOP. But be aware that this COMPRESSES your data, if your voxel size or particle separation, is not appropriately valued for the simulation, then it could create artefacts (visually dark and pixelated areas)


  • If you have a LINE geometry with points in its surface, you can use POINT REPLICATE to create a cluster of points around it, controlled by point separation


  • This VEXpression that deletes particles generated by the POP solver according to the X and Y position values, basically, if the particle falls below 0, which is the ground plane, it gets removed: if(@P.y <= 0)

    {

    removepoint(0,@ptnum);

    }


    if(@P.x >= -0.21)

    {

    removepoint(0,@ptnum);

    }




FLIPBOOKS AND DRAFTS


  1. The initial draft for the idea, a cannonball hitting a pedestal


  1. Deciding to add fire and smoke trails


  1. Deciding to put it on a live action backplate for practice


  1. adding the second explosion (Initially the explosion didn't work so well)


And that's it for this week!

 
 
bottom of page