Atlanta Space Machine — a narrated, subtitled 3D tour of Atlanta (12 splat scenes + aerial)

I just launched Atlanta Space Machine, an interactive 3D tour of Atlanta built on PlayCanvas Engine:

You float above the city in a Google photorealistic 3D Tiles aerial, then drop into any of 12 walkable splat scenes on the ground. Every scene has narration from an old school Southern narrator reading from the archival record, with subtitles on by default. Two scenes have seasonal toggles (the same graffiti-covered ruins captured months apart).

The PlayCanvas rundown:

  • Engine 2.21 with the unified gsplat system: octree LOD streaming, SOG format, splat budgets with dynamic LOD balancing
  • 10 scenes captured and processed with XGRIDS, two captured with an Avata 360 and trained in LichtFeld Studio
  • Ammo physics for ground and collision, mobile touch controls with a virtual joystick
  • The seasonal toggle is an entity swap between two splat sets sharing one scene
  • Narration and subtitles run on cairn.js, a caption layer for walkable 3D that I built for this project and open-sourced (MIT). It’s engine-agnostic but PlayCanvas was the reference implementation: GitHub - cairn-spec/cairn: Cairn — captions for spatial media. Zone-triggered, accessible captions and narration for walkable 3D scenes. · GitHub

The engine’s splat pipeline honestly carried this project — the octree LOD streaming is what makes 12 scenes viable on a phone. Happy to answer anything about the capture workflow, the caption layer, or how the scenes are put together.

Short walkthrough video: Atlanta Space Machine walkthrough (hero)

3 Likes

Very cool, lots of nice splats!

Two suggestions:

  • when you converted xgrids data, it seems you have not used the ‘environment’ when creating streaming sog, and so the sky in some (all?) of them is missing.
  • the scene could benefit from this, where you do not see splat tiles popping in, but hide that behind the loading screen till the lowest quality loads, and then show it: Performance | PlayCanvas Developer Site

Thanks — both of these are gold. The environment flag is an honest oversight from my first conversion runs; I’ll re-export the scenes where the sky matters most and compare. And the coarse-LOD-first pattern is exactly what my scene entries need. The machinery’s already in my bootstraps, so I’ll wire up frame:ready and report back. Really appreciate you taking the time to look at the scenes closely.

1 Like