D23 Piston Peak Model - Rebuilding in 3D from Social Media Footage
- Behind the scenes
The thing in the room
At the D23 fan event in August, Walt Disney Imagineering put a scale model of Piston Peak National Park on a plinth in the Horizons pavilion. Nineteen feet by nineteen. The whole land: the lodge, the geyser basin, the rally course, the red rock, every tiny pine tree.
If you were there, you walked around it. If you weren't, you got what everyone else got — a few hundred photos and a couple of dozen videos, all shot from whatever angle people could reach, all showing you a flat picture of a profoundly three-dimensional object. You cannot lean over a JPEG.
So: could you put the model back together from the footage?
It turns out you can. Not with a laser scanner, not with special access, not with anything Disney handed out. Just other people's videos, a gaming graphics card, and about a day of computer time. And the footage that did the work was not the footage I expected.
Drag to orbit. Scroll to zoom. That is the actual model, rebuilt.
What on earth is a "Gaussian splat"?
The 3D you are used to — video games, Pixar films, the model viewer on a theme park's website — is built out of surfaces. Millions of flat triangles stitched into a shell, with pictures painted onto them. It is a papier-mâché approach to reality: build the shape, then decorate it.
Gaussian splatting throws that out.

Instead of surfaces, you fill space with millions of tiny, soft, coloured blobs. Each one is a smudge of fog. Each smudge knows four things: where it sits, how far it stretches in each direction (they are squashed and stretched, not round), which way it is angled, and what colour it is and how see-through.
To draw a frame, the computer sorts every smudge back-to-front from wherever your eye is and paints them over each other. That is the whole trick. There is no surface anywhere in the file. A pine tree in this model is not a tree-shaped object — it is a few hundred green smudges that happen to look exactly like a tree from every angle anyone photographed.
("Gaussian" is just the mathematical name for that soft-edged blob shape — the same bell curve you have seen on a graph, in three dimensions. "Splat" is graphics jargon, and older than you would guess.)
Why bother?
Because it is astonishingly good at the things surfaces are bad at.
Surfaces hate fuzzy edges. A pine tree, a spray of water, a wire handrail, the fuzz on a model's landscaping mat — a triangle mesh either misses them completely or spends ten thousand triangles doing a mediocre impression. Fog does not have that problem. Fog is the fuzzy bit.
And the appearance is baked in per-blob, including how the colour changes depending on where you look from. The wet sheen on the geyser rock genuinely shifts as you orbit, because each smudge stores a little function describing that, not a single flat colour.
The catch
It is not geometry. You cannot import a splat into Blender, or 3D print it, or measure it. You have a thing that renders beautifully and describes nothing. For looking at Piston Peak, that trade is worth making.
Step one: throw most of it away
Eleven videos and fifteen photo galleries came to about 11 GB. Sampling two frames a second gave 8,246 candidate images.
1,930 of them were used. Under a quarter.

The big four, each a different way footage can be useless (a further two were exact duplicates):
- Blurry (2,533). Handheld video at 2 frames a second is mostly motion blur. A blurred frame does not just fail to help, it actively poisons the solve, because the speck-matching finds specks that are not really there.
- Off-topic (2,921). Vloggers vlog. Huge stretches of this footage are a presenter's face, the queue outside, a totally different model of Beastly Kingdom. Each frame was scored by an image-understanding model against a reference shot of the actual model, and anything that drifted got cut.
- Studio (472). Press renders and concept art. Beautiful, and completely wrong — they show a version of the land that does not physically exist on that plinth, so they would drag the geometry towards a fiction.
- Tilt-shift (388). This one is my favourite. Several outlets published photos with a fake miniature effect applied, which is a wonderful joke on a photo of an actual miniature, and a disaster for reconstruction: an artificial blur gradient makes the software think the model is bending away from the camera. They are detectable, because the blur varies smoothly with height in a way real depth of field on a real model does not.
The lesson that surprised me: culling aggressively made the result better, not worse. More data is not the goal. More agreeing data is.
Step two: work out where everybody was standing
Before any of the fog exists, there is a harder problem. You have 1,930 frames that survived the cull. Nobody wrote down where they were standing, what lens they used, or which way they were pointing. The reconstruction needs all three, for every single frame, to within a fraction of a degree.
The technique is called structure from motion, and it is delightfully stubborn.
The computer picks out thousands of tiny distinctive specks in each photo — the corner of a shingle, a particular fleck on the rockwork, the tip of a tree. Then it plays an enormous game of snap: this speck here, is it the same speck as that one over there? Once the same speck is confidently found in enough photos, there is only one arrangement of cameras and specks in 3D that explains all of them at once. Solve for that arrangement and you know where every photographer stood.
It is the same principle your two eyes use, scaled up to thirteen hundred eyes that have never met.
For this model it placed 1,309 cameras and 260,423 reference points, agreeing to within 1.4 pixels. That step alone ran for roughly eight hours.
Every dot is one solved camera position. Drag it around. The coloured trails are individual videographers, each one walking slowly round the model.
Note the gap. The model was against a wall, so there is a 42° wedge nobody could stand in. Everybody was low, too: the typical camera sat about four feet above the tabletop, which is exactly where a phone ends up when a standing adult holds it at chest height. A grazing look across a horizontal object is why the reconstruction is sure about everything standing up — trees, buildings, the rock spire — and vaguer about flat ground. No amount of cleverness recovers what nobody filmed, and you can see it if you orbit round to the back of the viewer: it gets vague. That is not a bug in the software, it is an absence in the world.
And then a third of the survivors still failed
Of the 1,930 frames that passed every filter, 1,309 actually made it into the reconstruction. The rest were submitted, matched against everything else, and quietly failed to find their place.
The pattern is the interesting bit. Four of the video channels registered every single frame — Attractions Magazine, MouseSteps, Park Journey and WDW News Today went in 100%. Meanwhile eleven sources contributed nothing at all, including some of the best photographs anybody took: a set of superb high-resolution stills from a professional shooter registered zero frames out of five.
That looks backwards until you remember what the matching actually needs. It is not looking for good photos, it is looking for overlapping ones. A camera can only be placed if enough of what it sees also appears in other pictures from nearby angles. A slow pan around the model gives the solver a continuous chain of overlapping views, and every frame in it gets placed. A single gorgeous shot from an angle nobody else stood at has nothing to hold hands with, and floats away.
A mediocre frame in a continuous pan beats a brilliant one on its own. If you are ever filming something you want reconstructed later: walk, slowly, keep it in frame, and do not stop.
Step three: teach the fog what it is looking at
Now the actual splatting. It works by argument.
Start with a couple of hundred thousand blobs scattered on the 260,423 reference points from the previous step, coloured roughly right, and otherwise clueless. Then loop, thirty thousand times:
- Pick one of the 1,309 photographs.
- Render the current cloud of fog from exactly where that camera stood.
- Compare the render to the real photograph, pixel by pixel.
- Nudge every blob — position, stretch, angle, colour, transparency — a tiny amount in whatever direction would have made the render closer.
That is it. There is no understanding of trees or rocks or Cars anywhere in the process. It is thirty thousand rounds of "you were a bit too pink there, and that edge should be sharper."
Along the way the algorithm also decides where it needs more blobs. Somewhere detailed — a cluster of pine trees — it splits blobs to buy more detail. On a blank stretch of tarmac it removes them. This run was capped at two million blobs and it spent them where the arguing was hardest.
Eight hours on an RTX 4070 — a mid-range gaming card, not a data centre. The finished cloud is 1.64 million blobs; after trimming away the pavilion wall behind the model, the version in the viewer above holds 1.61 million and downloads as a 21 MB file.

Close up, the trick shows. Every pine needle there is a handful of coloured smudges that never resolves into a leaf, and from any angle anybody actually photographed, it does not need to.
What it actually takes
Nothing here is exotic. If you want to do this to something else, this is the shopping list.
| Source material | 11 videos, 15 photo galleries, ~11 GB, all publicly posted |
| Frames used | 1,930 of 8,246 candidates |
| Camera solve | 1,309 of 1,930 frames placed, ~8 hours |
| Splat training | 30,000 rounds, ~8 hours on an RTX 4070 |
| Result | 1.61 million blobs, 21 MB in the browser |
| Hardware | One gaming PC. 12 GB of graphics memory was the binding constraint |
| Software | All free and open source |
The tools, if you want to look them up: COLMAP and hloc for finding the cameras, with SuperPoint and LightGlue doing the speck-matching. gsplat for the training. PlayCanvas SuperSplat for the web viewer. yt-dlp for the footage.
The single most valuable thing was not any of them. It was throwing away three quarters of the input — and, it turns out, having a few people who filmed slow continuous pans rather than taking perfect individual photographs.
The whole thing, end to end

Two long waits, and everything either side of them is bookkeeping.
Credits, and a note on whose footage this is
This reconstruction exists entirely because other people did the filming. Not one frame is mine. Every camera position in that solve is somebody who stood in the Horizons pavilion and pointed a phone at a model.
Video, in no particular order: Attractions Magazine, WDW News Today, Park Journey, MouseSteps / JWL Media, Walt Disney Imagineering, DIS Unlimited, Daps Magic, Disneyworld Vacationer, Inside the Magic, Undercover Tourist, DSNY Newscast.
Photography: WDWMagic, Disney Tourist Blog, WDWNT, Attractions Magazine, Laughing Place (photos by Ben Breitbart), MiceChat, Disney Food Blog, Scott Gustin, Practically Perfect Pixie Dust, AllEars.
I had assumed going in that the professional stills would carry it and the handheld video would be filler. The numbers say the exact opposite, and I would not have guessed it.
So if you shot slow, patient, continuous video of the whole model — Attractions Magazine, MouseSteps, Park Journey, WDW News Today — this reconstruction is mostly yours. Every frame you shot was used.
The model itself is the work of Walt Disney Imagineering, and Piston Peak National Park is theirs. This is a fan reconstruction of a publicly displayed exhibit, built from publicly posted footage, offered as an explanation of how the technique works. If you shot some of the source material and would rather not be part of it, get in touch and I will take it down.





