Is there a way to loop fluid simulations?

Hi. I’m playing with fluids a bit since buying “Bounce, tumble and splash”, and for my first useage, I was thinking of creating something a little different to the ubiquitous invisible cube with water sloshing about in it.

I’m making a simple fountain in the desert with a sculpture spitting a constant stream of water into a bowl. The stream of water will be a modeled tube with animated normal map to simulate the constant stream of water, the pool will have an animated texture map on it also to simulate ripples. The only part that will be produced using the fluid sim will be the point at which the stream of water hits the pool with a splash.

I’m thinking of doing a camera fly-around to pick out the details of the model and landscape so the fluid sim will have to run for several seconds. This will be very demanding in both baking time and hard disk space for all the fluid frames that would be baked.

I was wondering if there was a way to bake maybe 1.5 - 2 seconds of fluid simulation and then loop it a few times to produce a sustained splash. The only way I can think of doing this would be to manually edit the fluid meshes at the start and end of the simulation so that they would flow seamlessly into each other. This would be a laborious process, but might be worth it.

Perhaps there is a script that would enable the looping of the fluid sim, or maybe there are settings hidden away that I don’t know of. I’m thinking that the hard way might be the only reasonable method due to the inherent randomness in fluid sims (that’s the point, right? :)).

Thanks for any information that anyone can provide.

Edit: I’m thinking that such a facility would also be useful for applications such as a stream in a forest with characters interacting beside it. The lengthy duration of the interaction would make a sustained fluid sim prohibitive, and the only real alternative would be a fairly featureless stream with a regular animated texture, which would pretty much rule out options such as small waterfalls or other interesting features.

Use the Video Sequence Editor. Render your fluid sim out as still images. Load the sequence into the VSE. Then copy the strip and add it to the end of the first repeat as needed.

Thanks for the tip, but I thought of doing something like that and then compositing the splash into the animation, however this would only work for a stationary camera, and there would still be the possibility of a jump in the animation when the rendered fluid sim looped.

I’ll keep thinking about it. Maybe I could use a cheap trick like obscuring the fluid sim for an instant at the point where it loops, but I’m not keen on this.

Hi, did you find a way to do it?

i have a loop animated fluid

It’s the same way to loop particles before meshing them, i guess you could do that nowadays with Geo node

1 Like

Hi, can you share some technical info on how you achieved your looping fluid?

I’ve seen the video and the part of the particles, but what do you mean by “It’s the same way to loop particles before meshing them”, do you mean adding extra frames before caching? If it’s not that, I’d love for you to explain it, thanks in advance!!

In houdini when you do a flip simulation, you first simulate the particles, then you convert those particles to a mesh, it’s exactly the same with mantaflow, with flipfluid tho you directly have the results as a mesh ( last time i checked ). Anyway in houdini you can loop those flip particles and then converting them to a mesh, and as it is node based you don’t need to export/import, you just merge the nodes to have 2 simulation, then use a time shift node to offset the second sim

Ooh okay I’m going to try that, thanks for answering!