Easy Soap Film Shader

comments 5
Free Tutorials

By far the most frequent question we received after our minimal surfaces tutorial was “how do you build that bubble shader?”. The wait is over – in this tutorial we’ll go over how to build a plausible soap film shader in Houdini’s Mantra and Octane standalone.

After going into detail what thin film interference is (this is the main phenomenon causing those rainbow-like colors on a soap bubble), we’ll take a look at how soap films behave in real life before attempting two methods to build actual shaders based on these observations. If you’re interested in doing a soap film shader the “proper” way – there’s this brilliant paper on soap bubbles by Andrew Glassner.

It occurred to me that I did not mention to check the “Thin Film Refraction”-Checkbox in Mantra’s Classic Shader. You should definitely do that 🙂

Download Project Files (.orbx / .hipnc)

Liked it? Take a second to support Moritz on Patreon!
Become a patron at Patreon!


  1. Haven’t watched the entire tutorial yet, but I have to say you guys are the best teachers out there, love those real world examples and the way you explain the stuff.

    Thanks again

  2. Viduttam

    Simply brilliant! Loved the science behind it! Thanks for the lucid explanation!

  3. Great tutorial guys, thanks for sharing.

    Sharp presentation and you are pushing the boundaries of knowledge each time. Simply love it!


  4. Craig Speakman

    I know you only publish bi-weekly.. but it doesnt stop me from checking every day.. Ive learned a lot from your tutorials.. Legends!

  5. Michele Spaliviero

    Hi Moritz,
    thanks for the awesome tutorial, unfortunately I don’t have H16, so, instead of the classic shader I used a mantra surface, I went inside the node, and I tried to replicate what you did, but I stumbled upon this problem: I cannot connect the output of the “uvxform” node to the uv input in the “texture” node, because the texture node does not have a “uv” parameter!
    How could I solve this?


Leave a Reply