Allows placing specific particles at defined positions when the container loads, instead of random spawning.
Useful for creating fixed reference points, logos, or custom visual arrangements.
| Key | Type | Notes |
|---|---|---|
position |
object |
Canvas position as a percentage — { x: 50, y: 50 } is center |
options |
object |
Full IParticlesOptions override for this specific particle |
Coordinates are expressed as percentages of canvas dimensions, not absolute pixels.
{ x: 0, y: 0 } → top-left corner{ x: 50, y: 50 } → center{ x: 100, y: 100 } → bottom-right cornerIf position is omitted, a random position is used.
{
"manualParticles": [
{
"position": { "x": 50, "y": 50 },
"options": {
"size": { "value": 20 },
"color": { "value": "#ff0000" }
}
}
]
}
{
"manualParticles": [
{ "position": { "x": 10, "y": 10 } },
{ "position": { "x": 90, "y": 10 } },
{ "position": { "x": 10, "y": 90 } },
{ "position": { "x": 90, "y": 90 } }
]
}
Manual particles are added on top of the normal random number.value count.
{
"particles": {
"number": { "value": 40 }
},
"manualParticles": [
{
"position": { "x": 50, "y": 50 },
"options": {
"size": { "value": 30 },
"color": { "value": "#ffffff" },
"move": { "enable": false }
}
}
]
}
number.value — they do not replace the random pooloptions gives the manual particle the same config as regular particles — override only what you need100 or below 0 place the particle outside the visible canvas