Perlin Noise Motion
Smooth, organic movement using layered noise ā like underwater or floating in air.
Expression Code
// Perlin Noise Motion
// Apply to Position
xFreq = 0.5; // X movement speed
yFreq = 0.7; // Y movement speed
xAmp = 100; // X range
yAmp = 60; // Y range
detail = 4; // Noise detail layers
seed = index;
seedRandom(seed, true);
x = 0; y = 0;
for (i = 0; i < detail; i++) {
s = Math.pow(2, i);
x += wiggle(xFreq * s, xAmp / s, 1, 0.5)[0] - value[0];
y += wiggle(yFreq * s, yAmp / s, 1, 0.5)[1] - value[1];
}
value + [x / detail, y / detail];Apply to Position. Adjust xFreq/yFreq for movement speed and xAmp/yAmp for range. The detail parameter adds layers of noise for more organic results.