Home About Projects Contact
unreal5 houdini

Ferrofluid Speaker

Exploring Unreal Engine 5, Houdini, and magnetic fields.

Overview

This hobby project emerged from a combination of curiosity (I wondered if I could recreate the "dancing" ferrofluid effect in Houdini) and an eagerness to explore Unreal Engine 5. The algorithm, based on Vellum Fluids, turned out to be fairly straightforward and was developed within a day. I am offering it for free at my Gumroad.

Role

I handled modeling the speaker, crafting the ferrofluid simulation, and transferring everything into Unreal Engine, where I set up the lighting, materials, and sequences. Jędrzej Weber provided the music for the project.

Tools and Resources Used

Aside from the speaker and ferrofluid, all environmental models were sourced from Dekogon Studios' free Apartment Tech Props pack, created for The Matrix Awakens - Unreal 5 Demo. The project was completed using Houdini and Unreal Engine 5.

Technical Details

The dancing ferrofluid algorithm is essentially a Vellum Fluid, driven by a magnetic field (vector fog VDB) that updates each simulation frame based on the current position of the simulated points. Although not a scalable solution, it worked perfectly for simulating a small amount of fluid, as needed in this case.

I found the equation for calculating the magnetic field at the given point in space, on the internet - the Biot-Savart law - which proved simple and effective. The rest of the process involved organizing nodes and fine-tuning parameters, which was the most time-consuming part. After meshing the completed simulation cache, I optimized it using the PolyReduce SOP and saved it as an Alembic file for import into Unreal Engine.

For the Unreal portion, I enabled Raytracing for reflections and shadows, set the quality settings to Cinematic, and began working with lights, materials, and cameras.

Finding: There's nothing quite like the convenience of blazing-fast iteration in Unreal Engine 5.

References

The inspiration for this project came from a YouTube video showcasing a real prototype of a speaker where ferrofluid moves to the music. The mesmerizing effect reminded me of the lava lamp I had always wanted as a child. Intrigued by the possibility of recreating this effect in Houdini, I decided to give it a shot, confident that it shouldn't be too difficult.

Conclusion

Successfully merging a real-world physical phenomenon with a digital simulation in Houdini demonstrates the power of interdisciplinary knowledge in sparking inventive creativity. I am truly impressed with Unreal Engine 5's capabilities and its significant advantages over traditional rendering engines in most commercial animations.

The ability to iterate quickly allows for the production of stunning visuals and animations with ease, even with its technical limitations. After preparing the assets, the entire process of creating this video in Unreal took less than a day (half of which was spent watching tutorials), and that speaks for itself.

← Projects