Originally built for Soar's corruption effect, this metaballs implementation functioned well enough as a standalone module that I decided to release it.
This was implemented using raymarching, running in a post-processing material. Most of the logic is handled by a Custom node running HLSL. Blueprint actors are used as an interface to place metaballs- the data pipeline is:
Actor -> Master Actor -> Niagara -> RenderTarget -> Material
The only truly necessary parts of this pipeline are the Actor, Render Target, and Material. Using the Master Actor and Niagara intermediaries radically improves the speed of writing to the RenderTarget, enabling real-time, interactive metaballs.
Back to Top