1
$\begingroup$

I´m trying to seamlessly loop the Vector Noise Node in Animation Nodes to displace the vertices of an object. I was able to somewhat loop the time that is used for offsetting the noise. My biggest problem are the visible changes of direction whenever it reaches its "peak".

The best solution I found was this blogpost: https://www.simonaa.media/tutorials/looping-noise-part-1 They use a combination of sine and cosine waves to offset the noise that cancel each other out so no directional change is visible. Unfortunately it´s for Touchdesigner and i´m not sure how to do this in animation nodes. As far as I understand AN vector noise node doesn´t provide 4D noise, which is crucial for this approach to work.

Here´s what I have so far:Screenshot of Nodetree

$\endgroup$
1

1 Answer 1

2
$\begingroup$

While the answer provided by Robin kind of works, it's unnessecarily complicated. Assuming you dont' need to tile the vector noise here's an Animation Nodes example:

The concept is to use two Vector Wiggle nodes, offset by the length of the animation. So for an Animation of 100 frames the first vector wiggle node goes from 0 to 100 frames, the second from 100 to 200 frames

Duing the Animation we crossfade between the values of the nodes.

Here's a little node group of the setup:

enter image description here

The green node's evolution is driven by the current frame, the red one's by the current Frame + end Frame (end frame is the length of the Animation as long as it starts at 1).

We use end Frame - current Frame mapped to a value between 0 and 1 to drive the factor of the Mix Vector node.

On the first frame we have 100% of the value of the red Vector Wiggle (with an evolution of 100) and on the last frame, we have 100% of the value of the green node, (at this point its evolution is also at 100).

This is how you would use the group in your setup:

enter image description here

We use the vector wiggle to change the offset of your vector noise. You can change all of the exposed parameters of the Node Group to change how the vector noise changes over time as well as the parameters of the vetor noise itself.

Make sure, yor Vector Wiggles nodes are set to the same node seed.

Edit

A little bonus loop, if you want to loop a mini random particle system, or just need multiple vectors from the vector wiggle nodes:

enter image description here

enter image description here

enter image description here

$\endgroup$

You must log in to answer this question.

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