An exploration of geometry nodes, character design, and seamless-loops in Blender. Design, modelling, animation, render, composite, and sound design by me.




Moodboard

Before Geometry Nodes
My initial approach relied on the original procedural approach: modifiers. Using a single "tile", I created a long array which deformed along a curve.


With the FLIP Fluids add-on, I tried multiple ways to create the water but each version failed. Creating an "infinite tank" was technically impossible and the water voxels kept leaking through the the obstacle geometry due to curved surfaces and bends.
v001
The first attempt was to push the filled tube with a force while resupplying it from an inflow at the top. This method failed because the slide drained faster than it could be re-filled.
v002
The second attempt was having miniature jets along the length of the slide that continuously pump water. This failed due to the heavy computation time.
v003
The most promising approach was using the tube-array technique on the water then adding an ocean modifier and dynamic paint on top. The results were great and it generated a realistic moving water that reacted to objects in real time.

Procedural Power
The final failure before switching to Geometry Nodes was in the the moment of realization that any change to the slides shape, tilt, or design would be a massive undertaking due to the nature of modifiers.
Geometry Nodes ultimately provided the ideal setup for a procedural water slide that could rapidly changed in an instant. Some features include: the slide's poles automatically extend to reach the ground, poles that overlap with the slide are removed, the tilt can be mathematically applied over the length of the slide, and the water texture is a perfect mirror.
Sprinkle Some Character
I created two characters to populate the scene. Both are fully rigged and animated with different techniques.
The man has a series of random noise-generated movements based on where he is on the slide (casual drift, turbulent spiral, spinning end). The flamingo is rigged with the WiggleBones script and reacts in real-time to the slide.
These movements are baked into Action Strips which can be cut like a Non-Linear Editor to ensure smooth blending between motion and seamless loops.
The man has a series of random noise-generated movements based on where he is on the slide (casual drift, turbulent spiral, spinning end). The flamingo is rigged with the WiggleBones script and reacts in real-time to the slide.
These movements are baked into Action Strips which can be cut like a Non-Linear Editor to ensure smooth blending between motion and seamless loops.

