Particle Field
Ambient particles drifting with depth. Install with npx remotion-ui@latest add particle-field.
PrimitivePrimitives
$ npx remotion-ui@latest add particle-fieldA full-frame layer of drifting particles.
import { ParticleField } from "@/remotion/primitives/particle-field";
<AbsoluteFill>
<ParticleField count={70} angle={8} />
<YourScene />
</AbsoluteFill>Where it sits
Continuous, unlike confetti-burst, which is a single impulse with physics
behind it. This has no beginning and no end, so it can sit under a whole scene
without ever resolving. Reach for the burst when something happened; reach for
this when nothing has.
Depth is one number
Each particle gets a depth and everything else follows from it: near particles
are larger, faster, brighter and in focus, far ones are small, slow and
defocused. That single correlation is what makes a plane of divs read as
volume. Break it — same size, different speeds — and the field flattens
immediately.
Depths are distributed towards the back on purpose. An even spread gives a field of same-sized dots, which reads as a texture rather than as air.
Travel
angle is the direction, in degrees, with 0 drifting straight up. Particles
wrap on a track whose both ends sit outside the frame, so nothing ever pops into
existence on screen. drift adds a per-particle sideways wander on its own
clock, which keeps the field from moving as a rigid sheet.
speed={1} puts a near particle across the frame in about eight seconds.
Cost
count divs per frame, each with a radial-gradient background and a small blur.
Seventy is comfortable at 1080p. Several hundred is not — raise size and drop
count instead, since a bigger particle carries the same read for less.
Continuous, unlike `confetti-burst`, which is a single impulse. One depth value per particle drives size, speed, brightness and focus together — that correlation is what makes a plane of divs read as volume. Travel wraps on a track whose ends sit outside the frame.
Agent notes
Install first, then import the copied source component locally. AI guide →
@/remotion/primitives/particle-field- Use when: frame-level motion primitives and reusable animation wrappers.
- Customize: backgroundColor, color, count, angle, plus copied source for timing, layout, colors, and typography.
- Rule: do not import this component from the
remotion-uinpm package; it is copied into your project.
Usage
import { ParticleField } from "@/remotion/primitives/particle-field";
<AbsoluteFill>
<ParticleField count={70} angle={8} />
<YourScene />
</AbsoluteFill>API Reference
| Prop | Type | Default | Description |
|---|---|---|---|
| backgroundColor | string | "#05070f" | Plate behind the field. `transparent` layers it over footage. |
| color | string | "#e8b86d" | Particle colour. |
| count | number | 70 | How many particles. |
| angle | number | 8 | Direction of travel in degrees. 0 drifts straight up. |
| speed | number | 1 | Traverse speed. 1 crosses the frame in about eight seconds. |
| size | number | 14 | Diameter of the nearest particle, in px. |
| minSize | number | 2 | Diameter of the furthest particle, in px. |
| depthBlur | number | 3 | Defocus on the furthest particles. 0 flattens the field. |
| drift | number | 4 | Sideways wander, in percent of the frame. |
| intensity | number | 1 | Overall brightness. |
| glow | number | 1.6 | Halo per particle, as a multiple of its size. 0 draws hard dots. |
| seed | number | 1 | Changes the layout without changing any other prop. |