Website powered by

Tileable Liquid Mesh on Spline

Test if a tileable mesh can be moved along a spline as a "cheap" alternative to "Vertex Animation Textures" or "Alembic". I was inspired by loopable waterfalls in Mortal Combat https://youtu.be/k8_6PmSKF2U?t=836 and the splashes are made following this: https://vimeo.com/213730714
⭐Unreal Project Data: https://simonschreibt.gumroad.com/l/mkqtu
⭐Realtime-VFX-Thread: https://realtimevfx.com/t/simon-trumpler-vfx-sketchbook/4177/35?u=simonschreibt
⭐Houdini HDA: https://cloud.simont.de/index.php/s/4kp6xmppAK53ncQ

Graphs (click the 3 dots in the bottom-right corner and choose "Download Post"):

Houdini (part)
https://imgur.com/VBIuIFG

Liquid Material
https://imgur.com/PyFe0mp

Pool Material
https://imgur.com/XMOoV4n

Smoke Particle Material
https://imgur.com/0fEvBun

Level Blueprint:
https://imgur.com/5iMQDRU

Liquid Blueprint: Construction Script
https://imgur.com/PpnAbHk

Liquid Blueprint: Event Graph
https://imgur.com/fplK5co

Two liquid meshes are moving along a spline. Both meshes are 5x behind eachother on the spline and rotate around the spline to add some variation.

The pool is animated via vertex-shader and re-normalized. I've also added some fake-SSS (as emissive color) because the SSS-material itself wasn't enough (see video further down).

I used Houdini for the simulation and generation of a liquid mesh. This mesh is copied and cut to get a tileable mesh (similar to making a texture tilable in Photoshop).

Here you can see the meshes on the spline (each color is one mesh-instance). To get more variation: size- and vertex-offset-values can be defined for the start and the end of the spline. This means the mesh can e.g. grow "over time".

The majority for the color is done by a SSS-material but I needed to add a bit fake-SSS to improve the impression.

A quick overview how the effect developed :)

Added "real" motion blur. Unreal doesn't have Motion Blur for SplineMeshComponents BUT getting the diff between the pos on the spline from current and last frame and feeding this into the material's "Previous Frame Switch"-Node makes it possible. :)

Unreal Tutorial: Motion Blur for Actors, Vertex Offset, Spline Mesh Component and Particles