CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/floating-movie-scene

Floating Movie Scene

Your product demo presented like a launch trailer: a floating screen drifts on a dark 3D stage while volumetric spotlights sweep across it, dust hangs in the beams, and a soft reflection pools on the floor. Slow cinematic camera drift; scroll pushes the camera in.

ReactWebGL3DImageInteractiveFont#three#3d#cinematic#screen#video#spotlight#volumetric#product#launch#saas

Usage

import FloatingMovieScene from '@crazygl/hero-floating-movie-scene';

export default function Hero() {
  return (
    <FloatingMovieScene
      heading={'Roll the\nlaunch tape.'}
      screenMedia="https://crazygl.com/samples/screenshot-video-editor-dark.avif"
      spotCount={3}
    />
  );
}

Customise

  • ScreenscreenMedia (image or video; aspect auto-derived), screenScale, screenX / screenY, screenTilt, screenEmissive.
  • Stage LightsspotCount (1–5), spotColor / spotColor2 (two-tone wash), spotIntensity, spotWidth, sweepSpeed.
  • AtmosphereparticleDensity (drifting dust), floorReflection, accentColor (glow + floor pool).
  • CameracameraDrift, parallaxStrength, revealDuration.
  • Stage TonebgTone, floorTone. TypographyheadingFontFamily.

Best for

  • Product launches and AI / video SaaS where the demo is the pitch.
  • Creative agencies wanting a premiere instead of a thumbnail.
  • Landing pages that want a cinematic 3D stage around a screenshot or product video.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-floating-movie-scene
02 · Render the component

Import once, drop it in.

The component takes the same props you see in the live customizer on the right — every default ships poster-quality.

hero.tsx
import FloatingMovieScene from '@crazygl/hero-floating-movie-scene';

export default function Landing() {
  return (
    <FloatingMovieScene />
  );
}
03 · Use it in a page

SSR-safe by default.

The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.

page.tsx
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';

import FloatingMovieScene from '@crazygl/hero-floating-movie-scene';

export default function Page() {
  return (
    <section>
      <FloatingMovieScene
        heading="Say hi."
        subheading="Your new hero."
      />
      <article>
        <h2>Welcome</h2>
        <p>Your content keeps its own voice below the hero.</p>
      </article>
    </section>
  );
}
You might also like

Similar heroes

Stage Screen

A keynote-stage hero: your product screenshot lives on a massive floating screen, lit by sweeping volumetric spotlights through a low-lying carpet of theatre fog.

Floating Screen Recording

A product demo screenshot or video floats on a screen panel with an animated cursor, a glowing motion trail, expanding click ripples, and a zoom-lens magnifier that highlights UI moments.

Hero Video on Curved LED Wall

Your image or video plays across the inner concave surface of a large, cinematic curved LED wall, lit like a virtual production stage with a subtle LED-pixel grid, floor reflection, and pointer parallax.

VHS Product Demo Screen

Your product image or video plays inside a floating retro CRT/VHS-style screen with subtle barrel curvature, scanlines, chromatic aberration, vignette and occasional tracking-noise glitch bursts. Nostalgic but polished.

Floating Dust in Spotlight

A dim cinematic room with a hard-edged spotlight cone. Thousands of dust motes drift through the beam and twinkle as they cross the light.

Floating Product

A 3D product model drifts and slowly turns in a quiet studio atmosphere. The model wears its own PBR textures; soft dust particles drift through the air around it.
Live customizer

Floating Movie Scene

Screen Media (image / video)Image or video shown on the floating screen. Video URLs (mp4/webm/mov) play muted + looped via VideoTexture. The screen aspect is derived from the media automatically.Screen Scale1Overall size of the floating screen. Sweet spot 0.9–1.2.Screen X Offset0worldPush the screen left/right so heading copy can sit opposite.Screen Y Offset0worldRaise/lower the floating screen.Screen Tilt-6°Tilt the top of the screen toward (negative) or away from (positive) the camera.Screen Brightness1How brightly the screen self-illuminates in the dark stage.Spotlight Count3Spotlight ColorSpotlight Accent ColorAlternating spotlights use this second hue for a two-tone cinematic wash.Spotlight Intensity1.8Spotlight Width0.7Half-width of the volumetric cones.Sweep Speed0.12How fast the spotlights cross the stage. 0 holds them still.Particle Density0.9Drifting dust caught in the beams. 0 clears the air.Floor Reflection0.45Strength of the screen's reflection pooling on the stage floor.Accent Glow ColorSoft additive halo behind the screen + floor pool tint.Camera Drift0.5Amplitude of the slow autonomous camera movement.Mouse Parallax0.5Reveal Duration1.6sHow long the screen takes to fade + scale into view on load.Background ToneFloor ToneHeading FontInteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.