Editing and cleanup
A trainer’s raw output is rarely what ships. Every 3DGS trainer leaves behind some floatersSmall, semi-transparent Gaussians left floating in empty space, disconnected from any real surface, that appear as speckling or haze from viewpoints the optimiser wasn't trained against; typically caused by insufficient view coverage, reflections or moving objects the optimiser had no other consistent way to explain., stray background noise, and geometry outside the region a scene actually needs, and getting from a trained PLY to something presentable is its own step in the pipeline, done with its own tools rather than inside the trainer. By 2026 that step splits into two working styles: an interactive GUI editor for the judgement calls a human still has to make, and a scriptable CLI for the parts of the job that are the same every time.
The standard cleanup pass
Whatever tool does the work, the operations are the same four: crop the scene to the region that matters, so a room capture doesn’t ship with the corridor and stairwell that happened to be in frame; remove floaters, the semi-transparent Gaussians left hanging in empty space from insufficient view coverage or a reflection the optimiser had no consistent way to explain; cull by opacity, dropping the near-invisible Gaussians a trainer left behind without pruning; and adjust colour and transform so the scene sits correctly, and looks correct, once it’s composited into whatever delivers it. None of this is optional the way a style choice is optional: an uncropped, un-cleaned PLY is usually several times larger than it needs to be and visibly worse to look at from the angles a viewer will actually take.
SuperSplat: the editor for judgement calls
SuperSplat (playcanvas/supersplat), covered in depth elsewhere in this knowledge base, is the browser-based editor most of this pipeline’s manual cleanup happens in: box and lasso selection for floater removalThe post-training cleanup step of deleting floaters from a trained scene, either manually by box or lasso selection in an editor such as SuperSplat, or automatically via a statistical outlier filter such as splat-transform's floater and cluster filters., cropping, colour adjustment and transforms, with export back out to PLY, compressed PLY or SOG. It’s free, open source, and, as of its v2.28.1 release at the end of June 2026, under active development. The reason it’s the default for this step is that cleanup is fundamentally a looking-at-the-scene task: deciding which speck of haze is a floater and which is a genuinely thin structure needs a human looking at the render, not a fixed rule.
splat-transform: the CLI for the repeatable part
playcanvas/splat-transform is the scriptable counterpart, an MIT
licensed command-line tool and library, currently at v2.7.1 (released
30 June 2026), that reads and writes PLY, compressed PLY, SOG, SPZ,
.splat and a handful of other formats. Its flag set maps directly onto
the manual cleanup pass: --filter-box and --filter-sphere crop by
region, --filter-floaters and --filter-cluster remove isolated
Gaussians automatically, --filter-value culls by any column
comparison, opacity included, and --translate, --rotate and
--scale handle transforms, all combinable in one invocation and
scriptable across a batch of files. This is the tool to reach for once
a cleanup recipe has been worked out by eye in SuperSplat and needs
applying identically across a folder of client captures, rather than
repeating the same manual selection by hand on every one.
Blender as a heavier editing environment
Two current Blender addons take splat editing further than either tool above, into a full 3D content-creation environment. KIRI Engine’s 3DGS Render addon (Kiri-Innovation/3dgs-render-blender-addon), free and Apache-2.0 licensed, reached v5.0.0 in June 2026 and continues to see commits; it brings splats into Blender’s viewport for point-cloud editing and real-time-rendered compositing alongside ordinary meshes. SplatForge is the commercial equivalent, a one-time-purchase addon built for scenes up to 100 million Gaussians, adding Blender-native culling, densification, pruning, slicing, opacity adjustment and colour grading, with an Eevee viewport for real-time preview while editing. Neither replaces SuperSplat for a quick cleanup pass, but both matter the moment a splat needs to sit inside a scene built from meshes, lit and shaded the way the rest of a Blender project is, rather than existing as a standalone asset.
In practice
For this pipeline, the routine cleanup pass is still PostShot’s PLY into SuperSplat for crop, floater removal and colour, then export as SOG, exactly as described in the PlayCanvas article. splat-transform earns its place the moment that pass needs repeating across more than one or two scenes, or needs to run unattended as part of a build step, since its filters do by rule what SuperSplat does by selection. The Blender addons are worth opening only when a splat needs to sit next to CG geometry in the same shaded scene; for a splat shipping on its own to a browser, they’re more tool than the job needs.