Tarun Vishwakarma

Aston Martin Vulcan

Role
3D & Creative Development
Stack
three.js, Blender, Next.js, GSAP

The Aston Martin Vulcan as an interactive 3D film, live in the browser: pull the cover off, drive it out of the bay, and ride a lift up to a race circuit at night after rain.

The Aston Martin Vulcan under its cover in a concrete bay, the film’s opening frame, rendered live in three.js

How it’s built

The stage, in Blender
Python scripts rebuild every set from scratch on each run: an underground garage dressed with Poly Haven props placed as collection instances, a lift shaft behind a roller shutter, and a circuit’s pit straight at night after rain, with floodlight towers, a grandstand and pit garages.
The cover
A real cloth simulation: a 5.3 × 7.8 m sheet dropped on a remeshed collider of the car, with self-collision so the folds pool on the floor, then dressed in a denim twill.
The film
Keyed beats the page plays in turn: the reveal; scroll drives the car out past labelled parts; a button opens the shutter; scroll carries the car onto the lift and up.
The finale
The rain stops in the air, rises and becomes the car’s silhouette, then an X. The web replays Blender’s geometry-nodes arithmetic in a shader, so the pointer can push the points about.
Export
Headless Blender writes the car to glTF with its materials, encodes the baked Cycles lightmaps to RGBM WebP with a packed flicker map, and renders an equirectangular probe for reflections.
Sound
A background score finished in Python as if played from a PA stack at the far end of the garage, and the car’s own takes (the starter’s crank, the V12 at the reveal) finished alongside it. Sound starts off.

What it does

  • A loader drawn as the car’s side profile.
  • Labels on the parts the camera passes: the V12 under the bonnet, the brakes, the carbon tub and the rear wing.
  • A roller shutter opened from a pedestal button, a lift that rides up a lit shaft, and a wet circuit under floodlights.
  • A finale in which the rain becomes the car and then an X whose points the pointer pushes about.

Screens

The bay, in Blender’s viewport
The circuit, in Blender’s viewport

Where it sits

Next.js 16 · React 19 · three.js · postprocessing · GSAP · Lenis · Motion · Blender (Python) · glTF Transform · TypeScript

By the numbers

Keyed frames before the circuit
714, in four beats
Cover sheet
5.3 × 7.8 m, cloth-simulated
Car model
1.4 MB glTF
Built by Python scripts
The stage, the cloth, the circuit and the audio

Get it

netspdTerminal network speed testNext project