Make Tunnel Seamlessly Loop


#1

I’m doing an animation where you’re flying through a tunnel. I have the texture wrapped so that it seamlessly loops, but the problem is that I’m also displacing the tunnel with animated noise. Unfortunately, when I do this, it seems like it’s impossible to make the noise loop no matter what I do. Here’s a video showing my problem:


As you can see, the noise does not loop, causing the first and last frames of the animation to no longer be identical.

I saw this thread, which makes me think that there might be a way to fix this by manipulating UVs, but I have no idea how to do that or if it will even work in this situation (I suspect it may also mess up the texture).

How would you fix my project to make it seamlessly loop? I really do not want to resort to making the beginning of the clip fade over the end of it. Surely there’s a way to do this in C4D directly. I have attached my project below for reference:tunnel_noise_not_looping.c4d (208.3 KB)


#2

The issue is not the noise. The noise loops perfectly as you have it set up. You can check this by simply adding the displacer you’ve created with the noise and add it to a plane to see it loop perfectly.

The reason it’s not looping is that you have a tunnel geometry that itself is not looped correctly. You have used a Formula Spline that does not join itself in a loop and also used an Align to Spline tag that uses keyframed Position from 25% to 75% and that combined is creating a mismatch of start/end frames. Perhaps look at using inside a Torus or create a similar formula shape that can actually loop from 0% to 100% and then apply your colors and looped noise to that.


#3

You’re right, but using a torus or anything that wraps around into a ring shape would require everything to move too quickly. The other thread I linked involved a clever way of mirroring the UVs across the geometry, which resulted in a mirrored image of the noise halfway across the plane. I was thinking that there might be some way I can use that here, but I’m not sure the proper way to manipulate the UVs.

I understand that this isn’t truly a loop, but the goal is to make it look as though it is endless. If I could just find some way to make the noise repeat the same way that a tiled texture tag can, then my problem would be solved. Basically I need something like this but for the noise driving the displacement:
image


#4

This would easily resolved by making the Torus with the necessary radius and inner circumference to suit your project.

If you download their project file, they have literally divided the Plane geometry down the middle and flipped it to the right so the UVs were literally mirrored (see below). You would need to do the same with your Sweep by dividing it in the middle which you haven’t done. It will probably also mean you need to make your geometry editable as opposed to the way you have it now which will change the way it currently works and animates. It is also important for you to note that in their file, the noise is not looped from from start to end frame either.

mirro_geo_uv