Pointerstable
Antigravity
A particle field that flows around the cursor and settles into formations.
Customize
Formationshape of the cloud
900
countformation.shape580 px
formation.radius0.310
formation.innerRatio5
formation.sides0.500
formation.depth3.00
formation.turns0.000
formation.jitter0 °
formation.angle1.00
formation.aspect0 °/s
formation.spin18 °
formation.tilt1337
seedDeformliving blob distortion
35 px
deform.amount3.00
deform.frequency4
deform.layers0.40
deform.speedParticleshape of a single dot
particle.shape2.75 px
particle.size0.000
particle.sizeVariance0.450
particle.depthScale4.00
particle.length0.350
particle.thickness5
particle.points0.500
particle.depthparticle.rotation90 °/s
particle.spin0 °
particle.angleColourpalette and shimmer
color.palettecolor.mode0.000 loops/s
color.cycle0.850
color.opacity0.590
color.opacityDepthPulseper-particle heartbeat
pulse.enabledpulse.waveformpulse.mode0.290 Hz
pulse.speed0.300
pulse.size0.000
pulse.opacity1.00
pulse.spreadWavebreathing wave from the centre
wave.enabledwave.waveform0.240 Hz
wave.speed524 px
wave.wavelength25 px
wave.displace0.150
wave.opacity0.000
wave.sizeBurstsrandom shockwaves
burst.enabledburst.originburst.waveform3.00 s
burst.minInterval8.00 s
burst.maxInterval0.80
burst.strength700 px/s
burst.speed320 px
burst.widthColour waverecolouring wave rolling across
colorWave.enabledcolorWave.origin1.00 s
colorWave.minInterval4.00 s
colorWave.maxInterval8.00 s
colorWave.duration200 px/s
colorWave.speed1000 px
colorWave.width1.000
colorWave.strength85 %
colorWave.saturation62 %
colorWave.lightnesscolorWave.paletteCursorfollow, repel, idle drift
follow.enabledfollow.returnToCenterfollow.source0.012
follow.smooth0.015
follow.lag0.025
follow.lagSpreadrepel.enabled220 px
repel.radius90 px
repel.strengthrepel.falloff0.120
repel.ease20 px
drift.amount1.00
drift.speedGlow and rendercompositing, trails, quality
glow.enabled400 px
glow.radiusglow.color0.080
glow.intensityrender.blend0.000
render.trailrender.background2000 ms
render.fadeIn2.00
render.dprCaprender.respectReducedMotionpausedUsage
import { Antigravity } from "zerogravity"
<Antigravity />Generated from the controls above. Only props that differ from their defaults are shown.
Props
| Property | Type | Default | Description |
|---|---|---|---|
count | number | 900 | Particles. Range 50 to 8000. |
formation.shape | "ring" | "disc" | "star" | "polygon" | "heart" | "spiral" | "grid" | "wave" | "lissajous" | "blackhole" | "planet" | "torus" | "sunflower" | "arms" | "rays" | "dna" | "atom" | "tree" | "ring" | Shape. |
formation.radius | number | 580 | Radius. Range 40 to 1200 px. |
formation.innerRatio | number | 0.31 | Inner hole. Range 0 to 0.98. |
formation.sides | number | 5 | Sides / spikes. Range 2 to 16. |
formation.depth | number | 0.5 | Spike depth. Range 0 to 0.95. |
formation.turns | number | 3 | Spiral turns. Range 0.25 to 8. |
formation.jitter | number | 0 | Jitter. Range 0 to 1. |
formation.angle | number | 0 | Rotation. Range -180 to 180 °. |
formation.aspect | number | 1 | X stretch. Range 0.2 to 3. |
formation.spin | number | 0 | Spin. Range -90 to 90 °/s. |
formation.tilt | number | 18 | Tilt (planet / torus). Range -90 to 90 °. |
seed | number | 1337 | Seed. Range 1 to 9999. |
deform.amount | number | 35 | Amount. Range 0 to 200 px. |
deform.frequency | number | 3 | Frequency. Range 0.5 to 12. |
deform.layers | number | 4 | Harmonics. Range 1 to 4. |
deform.speed | number | 0.4 | Speed. Range 0 to 3. |
particle.shape | "dot" | "square" | "diamond" | "bar" | "triangle" | "ring" | "cross" | "star" | "dot" | Shape. |
particle.size | number | 2.75 | Size. Range 0.3 to 14 px. |
particle.sizeVariance | number | 0 | Size variance. Range 0 to 1. |
particle.depthScale | number | 0.45 | Depth influence. Range 0 to 1. |
particle.length | number | 4 | Length (bar). Range 0.5 to 20. |
particle.thickness | number | 0.35 | Thickness (bar / ring / cross). Range 0.05 to 1. |
particle.points | number | 5 | Points (star). Range 2 to 12. |
particle.depth | number | 0.5 | Spike depth (star). Range 0 to 0.95. |
particle.rotation | "none" | "radial" | "tangential" | "velocity" | "spin" | "none" | Rotation bound to. |
particle.spin | number | 90 | Spin speed. Range -720 to 720 °/s. |
particle.angle | number | 0 | Base angle. Range -180 to 180 °. |
color.palette | string[] | ["#ffffff", "#d2e1ff", "#e6d2ff", "#c8fff5", "#f0f0fa"] | Palette. |
color.mode | "random" | "radial" | "angular" | "linear" | "depth" | "random" | Assignment. |
color.cycle | number | 0 | Palette scroll. Range 0 to 1 loops/s. |
color.opacity | number | 0.85 | Opacity. Range 0 to 1. |
color.opacityDepth | number | 0.59 | Depth influence. Range 0 to 1. |
pulse.enabled | boolean | true | Enabled. |
pulse.waveform | "sine" | "triangle" | "sawtooth" | "square" | "heartbeat" | "decay" | "organic" | "sine" | Pulse shape. |
pulse.mode | "sync" | "scatter" | "radial" | "angular" | "scatter" | Phase spread. |
pulse.speed | number | 0.29 | Speed. Range 0 to 4 Hz. |
pulse.size | number | 0.3 | Size amount. Range 0 to 2. |
pulse.opacity | number | 0 | Opacity amount. Range 0 to 1. |
pulse.spread | number | 1 | Spatial spread. Range 0 to 6. |
wave.enabled | boolean | true | Enabled. |
wave.waveform | "sine" | "triangle" | "sawtooth" | "square" | "heartbeat" | "decay" | "organic" | "sine" | Wave shape. |
wave.speed | number | 0.24 | Speed. Range 0 to 3 Hz. |
wave.wavelength | number | 524 | Wavelength. Range 40 to 2000 px. |
wave.displace | number | 25 | Displacement. Range 0 to 200 px. |
wave.opacity | number | 0.15 | Opacity. Range 0 to 1. |
wave.size | number | 0 | Size. Range 0 to 1. |
burst.enabled | boolean | false | Enabled. |
burst.origin | "center" | "random" | "center" | Origin. |
burst.waveform | "sine" | "triangle" | "sawtooth" | "square" | "heartbeat" | "decay" | "organic" | "sine" | Front shape. |
burst.minInterval | number | 3 | Gap from. Range 0.2 to 20 s. |
burst.maxInterval | number | 8 | Gap to. Range 0.2 to 30 s. |
burst.strength | number | 0.8 | Strength. Range 0 to 3. |
burst.speed | number | 700 | Front speed. Range 50 to 3000 px/s. |
burst.width | number | 320 | Front width. Range 20 to 1200 px. |
colorWave.enabled | boolean | true | Enabled. |
colorWave.origin | "center" | "random" | "random" | Origin. |
colorWave.minInterval | number | 1 | Gap from. Range 0 to 20 s. |
colorWave.maxInterval | number | 4 | Gap to. Range 0 to 30 s. |
colorWave.duration | number | 8 | Duration. Range 1 to 25 s. |
colorWave.speed | number | 200 | Speed. Range 20 to 2000 px/s. |
colorWave.width | number | 1000 | Width. Range 50 to 2500 px. |
colorWave.strength | number | 1 | Strength. Range 0 to 1. |
colorWave.saturation | number | 85 | Saturation. Range 0 to 100 %. |
colorWave.lightness | number | 62 | Lightness. Range 0 to 100 %. |
colorWave.palette | string[] | [] | Own colours (empty = random). |
follow.enabled | boolean | true | Follow the cursor. |
follow.returnToCenter | boolean | true | Recentre when the cursor leaves. |
follow.source | "parent" | "window" | "parent" | Pointer area. |
follow.smooth | number | 0.012 | Centre smoothing. Range 0.001 to 0.3. |
follow.lag | number | 0.015 | Particle lag. Range 0.001 to 0.3. |
follow.lagSpread | number | 0.025 | Lag spread. Range 0 to 0.2. |
repel.enabled | boolean | false | Push particles away from the cursor. |
repel.radius | number | 220 | Repel radius. Range 40 to 700 px. |
repel.strength | number | 90 | Repel strength (negative attracts). Range -300 to 400 px. |
repel.falloff | "linear" | "smooth" | "sharp" | "smooth" | Repel falloff. |
repel.ease | number | 0.12 | Repel snappiness. Range 0.01 to 0.5. |
drift.amount | number | 20 | Idle drift. Range 0 to 120 px. |
drift.speed | number | 1 | Drift speed. Range 0 to 4. |
glow.enabled | boolean | true | Cursor glow. |
glow.radius | number | 400 | Glow radius. Range 40 to 1200 px. |
glow.color | string | "#c8dcff" | Glow colour. |
glow.intensity | number | 0.08 | Glow intensity. Range 0 to 0.6. |
render.blend | "normal" | "lighter" | "normal" | Blending. |
render.trail | number | 0 | Trail. Range 0 to 0.98. |
render.background | string | null | null | Canvas background. |
render.fadeIn | number | 2000 | Fade in. Range 0 to 6000 ms. |
render.dprCap | number | 2 | Max DPR. Range 1 to 3. |
render.respectReducedMotion | boolean | true | Respect reduced motion. |
paused | boolean | false | Paused. |
onStats | (stats: AntigravityStats) => void | — | Frame statistics: fps, particles drawn, batches, ms per frame. |
ref | Ref<AntigravityHandle> | — | Imperative handle exposing burst() and colorBurst(). |
Dependencies
0 external runtime dependencies
Ships with nothing but React.