Animate Low-Poly river


I am making a trailer for my newest game and I am wondering what is the best/easiest way to animate a river like this?

The river is just a simpleplane, subdived with some random vertices pulled upward/downward


Somebody? Please?

Could you be more specific about what you want? What kind of look are you going for? Swiftly flowing, slow moving and sluggish? Do you want the geometry to stay more or less in the same place but have the bumps move along the surface, or do you want the whole geometry to visibly move? Can’t tell you the best/easiest way to do something if we don’t know what that thing is.

This one’s easy: the river can be a plane, and you animate a texture over it. The UV-coordinates corresponding to the plane are animated across a texture. In the unlikely even that you need more “action,” use two textures, animated at slightly different rates of progress, one to provide color and the other(s) to provide “bump” (surface turbulence).

The object itself, of course, doesn’t move at all. It doesn’t have to have geometry (as yours now does), unless you’re planning to do some serious rapids or rocks.

If you feel that you need specularity across the surface of the waves … “fake” that, too, with another texture. (Dunno… Voroni?) Use a bright light for this one and use a high contrast (highpass filtering) to slice-off all but the highlights. Maybe a hint of halo.

Is it “real?” No. Is it “plausible?” Yep. Is it “cheap?” Definitely.

Probably a good idea to mix several normal maps, some static, some moving and fading in and out (crossfading even), with the moving ones moving at different speeds and different directions. And if they’re tilling, make them each tile at a slightly different scale and rotation to hide the repetition.

For the fading/crossfading stuff, probably a good idea to drive it with some smooth random (noise perhaps?) grayscale texture so it doesn’t change the same way in the whole river at once. Perhaps even feed that grayscale value added to a time or frame value into sin functions to make it cyclic but offset.

Something similar could be done for the texture and alpha maps themselves.

And another method, extremely fast to set up and works as well with low poly as with high. Uses the wave modifier, so not suitable for rendering ouside Blender, I guess.

Actually looks nicer in a way without Subsurf and smooth shading:


River.blend (218 KB)

Since the river is low poly, consider using simple Curve modifier to pull it along Bezier curve for animation. It is going to look toonish. If you want some undulating water surface let it go through Lattice.

For doing it just with the polys, how about a long flat plane (subdivided to your taste), curve modifier pointing to a curve laid along the river course, dynamic paint in wave mode with something to make the ripples, and with the plane moving in the direction of the flow (something like the one attached here, but more carefully done)?

edit: looks like Ridix half-beat me to it while I was testing my idea before posting :stuck_out_tongue:


polyriver rough proof of concept.blend (128 KB)