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

Wild Tram — 3D Festival Landing Page

Festival landing page in one HTML file: a vintage tram swallowed by 16,000 swaying leaves, light shafts and a paint-drip headline.

A complete, scrollable festival landing page with the 3D built into it: a vintage tram swallowed by 16,000 swaying leaves, light shafts and a paint-drip headline. 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, one instanced leaf mesh with shader sway and depth haze, code-built tram, additive light shafts, bloom. What a visitor can do: move to look around, scroll to walk up to the tram, click to flash the headlights, 4 presets (Jungle, Blossom, Autumn, Midnight). Best for: Music festivals and events, energy and drinks brands, eco campaigns, streetwear drops. Three.js loads from a CDN through an import map and the type (Inter, Rubik Wet Paint) 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.