Seeking for references, I stumbled upon an Epic Live Training stream:
They mention this demo I saw a couple years ago. I was really impressed by it! The way the meteorites fuse together, the bubbles… Back then I had no clue on how it could be made, so I moved on. But now, I felt like recreating it.
Also, while watching the stream, I remembered a cool slime I saw a long time ago…
Turns out, this blob was made by Marien Elalaoui, an awesome Technical Artist, member of the Epic team!
He also made a super useful tutorial, I highly recommend watching it if you want to learn about the Custom Node and some HLSL coding. He doesn’t go too deep into the topic, and keeps the vid interesting and fun to watch. I have experience coding in HLSL so this was pretty easy for me to follow.
There are multiple approaches to it. I tried them all, and I went full screenspace mode since I didn’t want to enable Mesh Distance Fields.
First test! As you can see, it is not perfect since it has some artifacts on the edges. These are caused due to multiple factors, such as the sample resolution or the step length took into account by the mixing function.
Here you can see me messing around with the look of the metaball. Changing stuff like the radius, the sample resolution, the fake reflections intensity, the secondary blobby movement, the index of refraction, the iridescent fresnel, its opacity, the blend range and smoothness, its colors, etc.
The metaball setup is pretty simple. A big sphere with no collisions renders the metaball. A smaller sphere with collisions and physics enabled handles the movement. And then, a Niagara System to spawn some bubbles inside the metaball.
Here’s the metaball material + the bubbles material!
I’m planning on using a main metaball as an envelope for the loot, so the player has to reach for it. Then, I’m going to use smaller metaballs with lower resolution to add extra detail.