Limited-time offerLifetime $349 $199left
← Back to 3D designs
landing pagethree.jsshadersinstancing

Glass Aquarium — 3D Studio Landing Page

Studio landing page in one HTML file: a glowing cube of ocean with a school of 300 fish that swims free as you scroll.

A complete, scrollable studio landing page with the 3D built into it: a glowing cube of ocean with a school of 300 fish that swims free as you scroll. It is one self-contained HTML file, built entirely in code, with no image files, no 3D models and no build step. Under the hood: Three.js, instanced fish with shader tail-swim and steering in JS, caustic sand shader, additive light shafts, glass cube edges, scroll release from tank to open water. What a visitor can do: move and the fish avoid the cursor, click to scatter the school, scroll to let them out of the tank, 4 presets (Reef, Abyss, Lagoon, Koi). Best for: Creative and motion studios, aquariums and marine conservation, dive and travel brands, immersive product stories. Three.js loads from a CDN through an import map and the type (Inter, Manrope) from Google Fonts, so there is still nothing to install. The page is real HTML — a navigation bar, a full-height hero, content sections, a call to action and a footer — so the brand name, headlines and cards are edited as plain text. Colours, counts and speeds sit in a CONFIG block and a PRESETS array, colour themes restyle the page and the 3D together from a small swatch pill, ?embed hides the pill and ?tour scrolls the page by itself.

How to run this

Nothing to install and nothing to configure. Works in any modern browser on Windows, macOS and Linux.

Built with
Single HTML file
Requires
A modern browser
  1. 1. Unzip the download.
  2. 2. Double-click index.html. It opens in your browser and runs. To serve it instead (the microphone and some browsers want a server), run npx serve . in the folder and open http://localhost:3000.

Note — Three.js loads from the jsDelivr CDN through an import map, so the first load needs an internet connection. Its typefaces load from Google Fonts, with system fallbacks if they cannot. It is a full landing page: upload index.html to any static host and it is live. Add ?embed to hide the theme pill, ?preset=N to start on a colour theme, and ?tour to scroll the page automatically.