Floating dust for calm, cinematic backgrounds: fine specks drift slowly, show up where the light beam hits them and glint now and then. Amount, speed, drift, sway, speck size, the beam and the colour come from data.
Every control here is a view model input in the file. Your app sets the same ones.
Pick your format
Free for your projects, personal or commercial. Don't resell the file itself.
Get the .rivFree. Sent to your inbox, ready to drop in.
How it's built
- 1One script, no keyframesEvery particle is a few numbers the script updates and draws each frame.
- 2Inputs, not code editsAmount, Speed, Drift, Sway, Speck size, Light beam, Dust: all view model inputs.
- 3Transparent on purposeThe artboard has no background, so it sits on top of your own design.
Use it on your site
import { useRive } from '@rive-app/react-canvas';
export function Dust() {
const { rive, RiveComponent } = useRive({
src: '/dust.riv',
artboard: 'Dust',
stateMachines: 'State Machine',
autoplay: true,
autoBind: true,
});
// every input on this page is a view model property
const vm = rive?.viewModelInstance;
if (vm) vm.color('color').value = 0xFFFFE2B0;
return <RiveComponent style={{ width: '100%', height: 400 }} />;
}Inputs: amount, speed, drift, sway, scale, beam, color. All on the Dust view model.