Motion
Get Motion

ReferenceMaterial nodesTime

Looping Time

Goes 0 to 1 every few seconds, and counts the loops.

Timeloop

Inputs

PinTypeStarts atNotes
Periodsecondsfloat4–

Outputs

PinType
Phaseprogressfloat
Loop Countcountfloat

The code it becomes

What Studio writes for the graph below: a few lines of the material's shader, worked out for every pixel.

void mainImage(out vec4 fragColor, in vec2 fragCoord){    float n2_progress = fract(iTime / max(4.0, 0.01));    float n2_count = floor(iTime / max(4.0, 0.01));    fragColor = vec4(vec3(n2_progress), 1.0);}

In a graph

Texture coordinates into the node, and the node into the material, as Studio draws them.