I have a little procedural nodes animation that has a wavering 4d noise texture made by adding the #frame driver to the W value. I would like it to loop, but since the W value is like a random seed, there's obviously not some distant number it can go to that will be the same. I've also thought about having the w value go up, to a certain point and then back down, but I think that would be too noticeable. I know I will probably have to use something other than the W value but any ideas would help.

  • 1
    $\begingroup$ Depending on what effect you are looking for a mapping node with one rotation channel keyframed could do the trick (rotations loop every 360 degrees). If you could add a little more info about your setup, node tree, etc $\endgroup$
    – Gorgious
    Commented Jan 4, 2021 at 8:00
  • 1
    $\begingroup$ As @Gorgious says, for a loop, rather than a ping-pong you want the coordinates to follow some kind of circle.. This loops in 2D space as well, but you could give that up to loop in time only. $\endgroup$
    – Robin Betts
    Commented Jan 4, 2021 at 9:49

2 Answers 2


Full Method

This method isn't perfect for everything, but perhaps it will get you started.

Create a segment of animation of the length you desire, where the effect fades in, runs for a length of time, fades out, and the parameters of the animation are reset to the beginning values while invisible.

Select these nodes and duplicate them, and then you can G + X Grab all of the newly created nodes' keyframes in the dopesheet and Constrain to the X-axis to offset the animation timing by a number of frames.

With a sufficient number of "channels" of animation, perhaps rotated or scaled differently, you should be able to create an animation where the fade of one channel is obscured by the activity of the others.

Here's a video explaining the process. I think it's better than cluttering this page with gifs.

Simplified Method for Quick Results

You can use a 3d texture and animate the movement of the coordinate space.

I have a sample scene here with a large plane that is just meant to show how the coordinate plane is moving, and a cube representing your object. Right now they both have Object Coordinates showing.

enter image description here

Using a Mapping node, we can rotate the coordinate space. If you use these coordinates to generate noise and animate the z rotation, the noise will be rotating about your object.

enter image description here

If you don't want rotation but instead a more linear movement, you can add a second mapping node in front to offset the origin and thus offset the point of rotation. Doing them both in one mapping node still rotates from the center.

enter image description here

From here, every 360 degree rotation still puts you right back where you started, but indeed you could map out any movement you wanted.

If you find the effect is not to your liking from some angles, I bet it would be possible to combine this with a W value that climbs to a certain value and falls back down, and it may not appear such a sudden change.


Similar issue. This ones just a fireflies tut on you tube. But Ive done a few other Tutorials and faced pretty much the exact same issue with the Noise Texture 4d drivers example - frame/1500. Just trying to add some animation to these vidz.

Anyways, here's my config

Fireflies Geometry Nodes None Looper:

Fireflies Geometry Nodes None Looper

Here is the blender file: https://drive.google.com/file/d/1b7trBDKuzAjXUdE9R9lBSUJ7sJNzLvPo/view?usp=sharing

Youtube Tutorial Reference: https://www.youtube.com/watch?v=tedaXMgMYts&t=614s


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .