Looping
Loop moving points on curve using CurveU:
int loop_frames = chi("loop_frame");
float fps = 29.97;
float loop_time = loop_frames / fps;
float t = @Time / loop_time;
t -= floor(t);
float ping = abs(2 * t - 1);
float speed_mult = chf("speed_mult");
ping *= speed_mult;
float exponent = chf("ease_exponent");
float slow_ping = pow(ping, exponent);
float u = f@curveu + slow_ping;
u -= floor(u);
int prim = i@class;
vector pos = primuv(1, "P", prim, set(u, 0, 0));
@P = pos;
Add a resample node with curveu, also to control amount of points