Trying to learn basic animation using curve and array modifier and get this to loop
Create a cylinder and a curve, give you cylinder an Array modifier (with Merge option enabled) and a Curve modifier, apply the Array modifier, unwrap with the Follow Active Quads mode, give it a material with Texture Coordinate (UV output) &gt; Mapping &gt; Wave Texture &gt; ColorRamp &gt; Diffuse &gt; Output, keyframe the Mapping location value to animate the flow:

file : https://pasteall.org/blend/1fcbf941ca724e03a017d3af9291a4d0