CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/glass-capsule-product

Product Inside a Glass Capsule

A product floats inside a transmissive glass capsule, like a luxury museum object or futuristic sample container — refraction through the shell, a frosted inner layer, a band of condensation, slow rotation and a soft pedestal glow.

ReactWebGL3DImageInteractiveFont#three#3d#glass#capsule#refraction#product#premium#scientific#transmission#pbr

Usage

import GlassCapsuleProduct from '@crazygl/hero-glass-capsule-product';

export default function Page() {
  return (
    <GlassCapsuleProduct
      heading={'Sealed\nto perfection.'}
      productModel="https://crazygl.com/samples/nokia-phone.glb"
      layout="content-left"
    />
  );
}

Customise

  • ProductproductModel (GLB/GLTF) auto-fits to the capsule interior and keeps its authored PBR by default; productScale, productLift, plus a tinted-studio override (useGlbMaterials, productColor, productMetalness, productRoughness).
  • Capsule glasscapsuleTint, glassRoughness, glassThickness, glassIOR, dispersion, frostAmount, and condensation shape the refraction, frost, and fogged base.
  • MotionrotationSpeed, floatAmount (bob), and parallaxStrength (pointer orbit).
  • Lighting & stageaccentColor, glowStrength, exposure, optional environmentImage HDRI override, and bgTopColor / bgBottomColor backdrop.

Best for

  • Beauty, supplement, and wellness brands
  • Premium tech-device and gadget launches
  • Collectibles and limited editions
  • Any "scientific / clinical / precious" product story
01 · Install the package

One command, zero config.

npm install @crazygl/hero-glass-capsule-product
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 ProductInsideAGlassCapsule from '@crazygl/hero-glass-capsule-product';

export default function Landing() {
  return (
    <ProductInsideAGlassCapsule />
  );
}
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 ProductInsideAGlassCapsule from '@crazygl/hero-glass-capsule-product';

export default function Page() {
  return (
    <section>
      <ProductInsideAGlassCapsule
        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

Glass Logo Sculpture

Upload a logo (SVG / PNG / GLB) and watch it become a real 3D glass paperweight: Three.js MeshPhysicalMaterial with true volumetric transmission, per-wavelength dispersion, clearcoat, Beer-Lambert attenuation, ContactShadows, an HDRI-lit studio rig and pointer-driven parallax orbit that visibly bends the photographic background through the body.

Glass Typography

A headline cast in transparent optical glass: Three.js TextGeometry extruded into a real 3D object, rendered with MeshPhysicalMaterial (transmission, IOR, dispersion, clearcoat) so it visibly refracts the moving gradient behind it. Pointer parallax tilts the camera and CTA hover sweeps a bright edge highlight across the letters.

Product in Liquid

A product floats suspended inside a thick, slowly churning liquid blob that genuinely refracts it. Tinted glass, chromatic dispersion, drifting bubbles and crawling caustics give a sensual, premium feel.

Glass Tile Logo

The logo is reconstructed from a grid of small glass blocks. Each tile floats apart, refracts the background through real MeshPhysicalMaterial transmission, then assembles into the silhouette on load. Hover separates the tiles slightly. Built with Three.js InstancedMesh + HDRI reflections + soft contact shadows.

Ice Encased Logo

Your logo is frozen inside a chunky beveled cube of real refractive ice. Three.js MeshPhysicalMaterial with IOR 1.31, clearcoat, Beer-Lambert blue attenuation and chromatic dispersion bends the studio HDRI around the brand. Frost on the front face melts on load to reveal the logo inside a clear ice-cube body.

Rain on Glass

Looking through a glass pane in the rain — droplets refract the background, slide down with gravity, and leave thin trails.
Live customizer

Product Inside a Glass Capsule

Product Model (GLB / GLTF)A 3D product model suspended inside the capsule. GLB or GLTF; the model's authored PBR is kept by default.Product Size1.16Fits the model to the capsule interior; 1.0 leaves a clean glass margin on all sides.Product Vertical Offset0worldNudge the product up or down inside the capsule.Keep Product MaterialsKeep the model's authored PBR materials. Turn off to apply a single tinted studio material across the whole product.Glass TintBeer-Lambert attenuation colour of the glass body. Pale cool tints read as scientific; warm tints as luxury display.Glass Roughness0.06Surface roughness of the outer shell. Below 0.1 is crisp optical glass; 0.2+ softens into satin.Glass Thickness0.55Volumetric path length for refraction + tint. Thicker bends the scene more and deepens the tint.Index of Refraction1.21.0 = no bend; ~1.45 is real glass; 1.8 exaggerates the lensing.Chromatic Dispersion0.45Per-wavelength IOR spread → rainbow fringing at the rim. 0.3–0.6 is a believable prism edge.Frosted Inner Layer0.23Roughness of the inner satin shell that softens the product. 0 = clear glass; 1 = heavy frosting.Condensation0.3Droplet specks fogging the lower band of the glass. Keep under 0.6 so the product stays readable.Rotation Speed0.13rad/sSlow rotation of the capsule + product around Y. 0 = static (pure parallax); paused under reduced-motion.Float Amount0.5Vertical bob of the floating capsule. 0 = grounded; 1 = a gentle drift.Mouse Parallax0.5Accent / Glow ColorColour of the pedestal glow under the capsule and the base ring.Pedestal Glow0.8Soft additive light pooling beneath the capsule.Exposure1.05Environment (HDRI override)Optional HDRI/photo to drive reflections + refraction. Leave blank to use the built-in studio HDR.Background TopBackground BottomHeading FontInteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.