Reply To: How to loop a water surface animation?

Forum Archive How to loop a water surface animation? Reply To: How to loop a water surface animation?

#53558
Kent Trammell
Participant

    Ahh I remember dealing with this exact same issue! At that time I took the easy route and simply dissolve transitioned the image sequence during video editing. If you look close you can see a subtle jump.

    However as I’m rethinking this problem, you could try a similar “dissolve transition” in the shader instead. For this to work you’ll need to go with shader bump instead of geo displacement. I suppose you could bake the resulting procedural texture to an image sequence to then plug into a displacement modifier..but that’s too convoluted and unnecessary since the pond surface displacement is so subtle anyway.

    Ok, here’s my attempt to describe the approach clearly:

    1. Translate your wave displacement over to shader nodes.
    2. Once you have the speed of the waves established (and at linear interpolation of keyframes), duplicate that node (or group of nodes) so you have two identical wave texture chunks.
    3. Within the desired timeline length, align your first wave texture keyfame (0° rotation) to the start of the timeline.
    4. Align your second wave texture keyframe (0° rotation) to the end of your timeline. Easy by selecting both keyframes in the graph editor and hitting G + X + (number of timeline frames).
    5. Finally, add a simple RGB mix node to combine both wave textures.
    6. Then you can animate the mix value from 0 to 1 whenever you want in your timeline (between start and end). You can mix slowly over more frames or quickly over fewer frames. Whichever results in the least noticeable transition.

    The result should be a seamless loop of the textures at the beginning and end with the transition in the middle.

    Does that make sense @frikkr?

    EDIT: I couldn’t resit making an example .blend file: https://www.dropbox.com/s/2051gs1vrls2yq3/looping-pond.blend?dl=0

    The speed of the waves can be adjusted by extending / shrinking the second keyframe of both mapping nodes.