Particles
A light layer of particles emitted from the pattern.
Particles lift off the pattern: they drift out, flow in, orbit or rise, then fade. Each pattern has its own default behaviour: ring patterns rise gently, scanning gathers particles in, speaking follows the voice.
{
"fxSpec": "1.8",
"object": "orb",
"pattern": "glowing",
"materials": {
"particles": {
"strength": 1,
"style": "drift",
"count": 24
}
}
}
Cost and low power
Particles are ordinary dots, so they count like any other element. Sheddable in low power (disable: ["particles"]), and off by default in low power when your spec says nothing.
life is in real seconds. sync: 1 turns a steady stream into one burst per life; audio couples brightness to the voice level.
Props
A stateless particle layer emitted from the pattern. In an FX Spec: /materials/particles. Off until particles.strength is above 0.
| Prop | FX Spec | Type | Range | Default | Description |
|---|---|---|---|---|---|
particles.audio | /materials/particles/audio | number | 0–1 fraction | 0 | How much brightness follows the audio level. |
particles.count | /materials/particles/count | integer | 0–200 | 28 | Particles alive at once. |
particles.life | /materials/particles/life | number | 0.1–30 s | 4.5 | Seconds each particle lives (wall clock). |
particles.seed | /materials/particles/seed | number | −∞–∞ (UI 0–100) | 0 | Seed of the particle layout. |
particles.size | /materials/particles/size | number | 0.05–4 x | 0.8 | Particle size, relative to the object's dots. |
particles.spread | /materials/particles/spread | number | 0–1 fraction | 0.18 | How far particles travel, as a fraction of the frame. |
particles.strength | /materials/particles/strength | number | 0–1 fraction | 0 | Amount of the particle layer; 0 turns it off. |
particles.style | /materials/particles/style | choice: drift · attract · orbit · rise | 0 | How particles move: drift out, attract in, orbit, or rise. | |
particles.sync | /materials/particles/sync | number | 0–1 fraction | 0 | Pulls births together; 1 = one burst per life. |
Per-pattern defaults (applied only while the material is on, and only to props you leave unset):
| Pattern | Defaults |
|---|---|
breathing | particles.count 20 · particles.life 6 · particles.spread 0.12 · particles.style orbit |
glowing | particles.count 20 · particles.life 6 · particles.spread 0.12 · particles.style orbit |
drifting | particles.count 22 · particles.life 6 · particles.spread 0.22 |
speaking | particles.audio 1 · particles.count 32 · particles.life 3 |
signaling | particles.audio 1 · particles.count 32 · particles.life 3 |
waveform | particles.audio 1 · particles.count 32 · particles.life 3 |
scrolling | particles.audio 1 · particles.count 32 · particles.life 3 |
metering | particles.audio 1 · particles.count 32 · particles.life 3 |
completing | particles.count 12 · particles.life 5 · particles.spread 0.2 · particles.style rise |
loading | particles.count 12 · particles.life 5 · particles.spread 0.2 · particles.style rise |
tracking | particles.count 12 · particles.life 5 · particles.spread 0.2 · particles.style rise |
stepping | particles.count 12 · particles.life 5 · particles.spread 0.2 · particles.style rise |
measuring | particles.count 12 · particles.life 5 · particles.spread 0.2 · particles.style rise |
generating | particles.count 8 · particles.life 5 · particles.spread 0.1 |
typing | particles.count 8 · particles.life 5 · particles.spread 0.1 |
notifying | particles.count 16 · particles.life 2.4 · particles.spread 0.28 · particles.sync 1 |
reconnecting | particles.count 14 |
locating | particles.count 14 |
scanning | particles.count 24 · particles.spread 0.3 · particles.style attract |
broadcasting | particles.count 18 · particles.spread 0.24 |