View all expressions
Motion

Falling Snow Animation

A plugin-free particle system simulation that moves layers from top to bottom with randomized speed, wind sway, and start times. It includes advanced boundary logic to loop the elements perfectly, ensuring they don't pop off-screen.

Contributed by:


seedRandom(index, true);
speed = random(100, 400);
windAmt = random(-100, 100);
swayFreq = random(0.5, 2);
startOffset = random(0, 10000);
startX = random(0, thisComp.width);
// We measure size at time 0 to prevent jitter if the flake rotates
rect = sourceRectAtTime(0, false);
scaleY = transform.scale[1] / 100;
objHeight = rect.height * scaleY;
// We add a safety buffer so it doesn't pop visibly
safetyBuffer = 100;
// The total distance the flake needs to travel before resetting
travelDistance = thisComp.height + (objHeight * 2) + safetyBuffer;
t = time + startOffset;
// Vertical Movement
startY = -objHeight - safetyBuffer;
y = startY + ((t * speed) % travelDistance);
// Horizontal Sway
x = startX + Math.sin(t * swayFreq) * windAmt;
[x, y];

Falling Snow Animation

Practical use case

The best way to create weather effects like rain or snow, or festive confetti backgrounds. Apply to one layer, duplicate it 50 times, and get a complex organic system instantly.

Check out similar expressions

Data-driven video workflows for After Effects are easier with Plainly.

a mesh of elegant lines transparent image