Matt's Splats

Services like Polycam and Luma AI make it easy to produce 3D captures using Gaussian splatting and share them via a web link. However, they don’t (yet) provide editing tools, so you’ll also be sharing all the ugly artifacts (and potentially sensitive info) in the background.

I wanted a place that I could share an edited collection of my Gaussian splatting captures, so a few weeks ago I published a microsite called “Matt’s Splats”.

https://splats.mattrossman.com

homepage

The first capture I shared here was my 16-year old dog sleeping on the couch, which was well received by Twitter and even sparked development of a Gaussian splatting component for the React-Three-Fiber ecosystem which is now available.

How I make these captures

  1. Record 4K video of the subject on my phone
  2. Upload to Polycam and/or Luma AI
  3. Export the Guassian splatting .ply file
  4. Crop with Super Splat
  5. Export .splat file

I use a mix of Polycam and Luma AI—depending on the scene, one or the other works better. Initially I got better results with Polycam due to their floater reduction algorithm, but Luma later added similar improvements. I usually upload to both and pick whichever looks better.

In Super Splat I start with the rectangle tool to crop roughly around the subject, then go in with the brush tool for finer grain edits. I’ll also show the axes to get the subject centered and straightened.

For rendering, I initially used aframe-gaussian-splatting which was quick and easy to set up, but now that Drei has an official <Splat> component I’m testing that. I’m more comfortable using React-Three-Fiber to compose Three.js code, and there’s lot of synergy it enables with the rest of the ecosystem (postprocessing, performance, etc.).

If you’d like to host your own splat captures, here’s a barebones example you can remix on Glitch using the A-Frame component.