
Gaussian Splatting Best Practices: Capture, Solve, Train & Art Direct
7 min read
1. Capture
Camera & settings
- Camera: action cams (GoPro, DJI Osmo Action 6) work very well — small sensor keeps depth-of-field blur near zero, and they're easy to mount on a monopod/selfie stick for hard-to-reach angles.
- No blur, ever — this is the #1 rule. No motion blur, no depth-of-field blur, no lens flare.
- Shutter: fast, 1/400–1/1000s (even up to 1/800–1/1000 recommended). Faster if moving quickly.
- Aperture: close it down as much as light allows for maximum sharpness/depth of field.
- ISO: raise only if needed for exposure — noise is preferable to blur, never the other way around.
- Color profile: flat/Log (D-Log M, S-Log, etc.) — never baked-in contrast. You can grade later; you can't recover clipped data.
- Lens: avoid extreme fisheye if your camera offers a corrected/narrower FOV mode — easier for the algorithm.
- Lighting: overcast days are ideal — no lens flare, no moving shadows. Direct sun causes shadows to shift mid-scan if the scan takes several minutes.
Movement technique
- Translate, don't just rotate. The algorithm needs parallax (camera physically moving through space) to understand depth — standing still and spinning in place doesn't work.
- Plan your camera path before scanning, based on where the virtual camera will actually be used later. Think of it as capturing a light field — every angle you'll want to reproduce.
- Minimum 3 passes: eye-level, low angle pointing up, high angle pointing down. Add more orbits for detail.
- Densely and evenly distribute camera positions through the volume — don't cluster on one plane. Aim for each point in the scene to be seen from many angles (~20 is a good rule of thumb).
- Quality drops sharply outside your scanned camera path — if the virtual camera needs to go somewhere, you needed to physically be there.
- Over-scan rather than under-scan. Going back to reshoot is far more costly than a few extra seconds of footage.
- Multiple cameras (e.g. 2x synced Osmo Action 6) speed up large scans and reduce the risk of the sun/shadows moving mid-scan — useful for big spaces, not required for smaller ones.
From video to images
- Record continuous video rather than individual stills — easier to operate one-handed on a pole, no remote shutter needed.
- Downsample the frame rate before extracting stills — e.g. 50fps source down to ~1–5fps extracted — rather than feeding every frame to the reconstruction software. Fewer, well-chosen images process faster and often reconstruct better than a huge redundant set.
- Export as a full-resolution JPEG sequence at max quality.
- Review extracted images immediately for fingers, lens obstructions, or missed spots before leaving the location.
2. Solving (Structure-from-Motion) — RealityScan / Reality Capture
Alignment settings (from Jörg's screenshot)
These are tuned as "big scene" settings — used successfully on a ~3,000 image dataset, alignment took 1–2 hours. No GPS/camera priors used (georeferencing off), so this is a purely photo-based reconstruction, not GPS-anchored.
Workflow
- Drag in all extracted images, set alignment quality to High.
- Run alignment — large image sets (thousands of photos) can take 1–2+ hours.
- Visually inspect the camera position path after alignment — a clean, expected path matching where you actually walked = good scan. Stray cameras floating outside the space, below the floor, or clustered oddly = bad alignment, needs redoing with different settings.
- Export three things into a dedicated folder for training: registration, sparse point cloud, and XMP files (one per image).
3. Training
Option A — PostShot (paid, ~€17/month for PLY export; free tier = training/viewing only)
- Import images + XMP files together.
- Use all images, enable photometric compensation (critical if exposure drifted during the shot — prevents floaters).
- Camera poses: set to import (already solved by RealityScan).
- Splat3 profile. Start around 1–3M max splats, scale to 6M if needed.
- ~500,000 training steps target, but watch training live and stop once quality plateaus (one real scan stopped at ~162,000 steps with no further gains).
- Typical training time: 1–2 hours for a room-sized scene.
Option B — LichtFeld Studio (free, open-source, GPL-3.0)
- By Janusch Patas (MrNeRF). Unifies training, editing, and export in one native app — no more stitching COLMAP + trainer + viewer separately.
- Requires an NVIDIA GPU, compute capability 7.5+ (RTX 20-series or newer, GTX 16-series works), driver 570+/CUDA 12.8+. AMD/Intel not supported. First install can be a large download (~20GB reported) — budget time.
- Drag your RealityScan/COLMAP dataset folder in directly to start training.
- Live training view with pause/resume from checkpoints; trains meaningfully faster than reference implementations (~2.4x claimed).
- Built-in cleanup tools: brush, lasso, polygon selection to remove floaters natively, no separate app needed.
- Export as PLY (what Octane needs) or SOG, plus a standalone HTML viewer for easy sharing.
- Plugin ecosystem available: 360-camera capture pipeline, remote training monitoring, Python/MCP automation.
- Free alternative worth knowing: Brush (open-source, browser-based) — less explored but no GPU-vendor lock-in.
4. Cleanup (both pipelines)
- Toggle a wireframe/outline view to spot floater artifacts more easily.
- Select and delete individual or box-selected splats (only affects currently visible splats, not occluded ones).
- Export the cleaned result as PLY once satisfied.
5. Art Direction — Octane (Cinema 4D or Blender)
Octane added native Gaussian Splat support in 2026.1 (same core engine across C4D, Blender, 3ds Max, Houdini — .ply import).
Setup
- Create an Octane Gaussian Splat object, point it at your cleaned PLY.
- Splats render in Octane's Live Viewer, not the standard editor viewport (in C4D) — in Blender, enable Octane's geometry-node compatibility on the imported object so it's treated as renderable geometry, not a raw point cloud.
- Add an Octane HDRI/environment set to black — splat scenes assume a black background; skipping this causes gray wash-out and white speckle/ember artifacts.
- Scale check against a reference object (e.g. a human-scale mannequin) before setting up physical camera values — the splat algorithm doesn't inherently know real-world scale, and accurate DOF/exposure depends on it.
Current known limitations (all Octane hosts)
- Splats always render on top of volumes (can't put fog correctly behind them).
- Can't receive shadows from regular scene geometry (but regular geometry can receive shadows cast by splats).
- Render layers and network rendering not fully supported yet.
Camera (physical lens simulation)
- Universal/Octane camera type with real focal length + f-stop for accurate depth of field.
- Auto-focus / click-to-focus on a point in the splat scene.
- Shape bokeh via aperture edges/blade count — smooth vs. harsh discs.
- Vignetting pushed up creates a swirly "cat's eye" bokeh at frame edges.
- Aberration → astigmatism at small negative values for a vintage "Helios lens" swirl look.
- Field curvature for extra character.
- Highlight compression to recover detail in blown-out areas.
- Film LUTs (e.g. Fuji Eterna) plus bloom/glare tuned to a bright cutoff so only true highlights glow — big difference between "flat" and "cinematic."
Lighting & relighting
- Splats have baked-in real-world lighting from capture. You can strip default lighting and relight (right-click splat object → Octane tag → set lighting mode to Power and Color, then add area/sky lights), but results are inconsistent — surfaces lit from a different angle than captured often look visibly wrong. Works better as a stylistic effect than for accurate relighting.
- To recreate real sun/shadow interaction with added objects: build a fake directional sun + shadow-catcher geometry (e.g. a large cube), since the real sun is far too bright to capture directly in a photo-based scan.
- Non-splat objects (props, cars, spheres) placed into the scene pick up ambient light from the splats like an in-3D HDRI automatically — but need the fake sun setup to cast/receive correct shadows.
- For cleaner flat surfaces (e.g. floors) than raw splats give: re-derive an actual mesh via photogrammetry from the same photo set, delete the floor splats, and swap in the mesh.
- Octane sky → Medium settings can add volumetric fog/haze (scatter medium, density, phase) for atmosphere.