Characters, digits and small symbols fall through a real 3D perspective volume. Near glyphs are large and bright, far ones shrink and dissolve into depth fog. Move the cursor and the falling stream curves around it, like rain hitting an invisible umbrella.
import DataRain3D from '@crazygl/hero-data-rain-3d';
export default function Page() {
return (
<DataRain3D
heading="Streams of data."
charset="symbols"
count={3000}
symbolColor="#bcd8ff"
/>
);
}charset (digits / hex / katakana / symbols), customChars, count, fallSpeed, glyphSize.symbolColor, headColor (hot leading edge), backgroundColor.depthRange, fogDensity, cameraFov.umbrellaRadius, umbrellaStrength (the clear zone the cursor carves).transparent to composite over your own page background.npm install @crazygl/hero-data-rain-3dThe component takes the same props you see in the live customizer on the right — every default ships poster-quality.
import DataRain3D from '@crazygl/hero-data-rain-3d';
export default function Landing() {
return (
<DataRain3D />
);
}The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';
import DataRain3D from '@crazygl/hero-data-rain-3d';
export default function Page() {
return (
<section>
<DataRain3D
heading="Say hi."
subheading="Your new hero."
/>
<article>
<h2>Welcome</h2>
<p>Your content keeps its own voice below the hero.</p>
</article>
</section>
);
}