04 -- 3DGS Workflow
0 4 -- 3DGS Workflow
📑 Table of Contents — click to navigate
- 01 — Hardware Setup Device specs, firmware, SD cards, batteries, connectivity, accessories
- 02 — PointCloud Studio Installation, versions, settings, project management, data processing
- 03 — Scanning Workflows Field scanning strategies, movement, environment, multi-scan projects
- 04 — 3DGS Workflow Gaussian splat generation, settings, GPU requirements, processing time, quality
- 05 — Hybrid Workflows Combining LiDAR with external cameras, drones, RealityScan, Postshot pipelines
- 06 — RTK & GCP RTK setup, GNSS fusion, coordinate systems, control points, accuracy
- 07 — Troubleshooting Common issues and community-verified solutions
- 08 — Third-Party Tools CloudCompare, RealityScan, Postshot, LFS, D5 Render, Blender, BricsCAD
- 09 — Bot Knowledge Official answers, product specs, known limitations from bot and support team
Applies to: C1 and S20 (unified unless noted)
Related: Master Index | 02-PointCloud-Studio | 05-Hybrid-Workflows | 07-Troubleshooting
Overview
3D Gaussian Splatting (3DGS) creates photorealistic viewable scenes from your scan data. The C1/S20 onboard cameras provide the images; the LiDAR provides scale and camera positioning.
Two paths to produce 3DGS:
1. In PointCloud Studio -- simpler, integrated, but limited to ~10-minute scans
2. External pipeline -- Reality Capture + Postshot/Lichtfeld -- handles longer scans, better quality
GPU Requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| NVIDIA GPU | RTX 3060 / 12GB | RTX 4090 / 24GB+ |
| VRAM | 12 GB | 24 GB+ |
| CUDA | 12.8+ | Latest |
| Disk | SSD | NVMe (3000+ MB/s) |
Real-world performance:
- RTX 3060 12GB: ~10-13 hours for medium quality on large scan (avsupport)
- RTX 5090 32GB: 3-4 hours for ~10-minute scan; 12+ hours for 0.2s interval scan (mr_red1991_63830)
- Bottleneck is GPU memory -- "2% an hour because of memory of GPU" (mr_red1991_63830)
Method 1: PointCloud Studio (Integrated)
When to Use
- Scans under 10 minutes
- Simple, single-scan projects
- Don't need external camera integration
Step-by-Step
Beta.7 and earlier:
1. Process point cloud first (see 02-PointCloud-Studio)
2. Ensure boxes checked during processing: Undistort Left, Undistort Right, Export colorized point cloud
3. After point cloud is finished -> click "3D Gaussian" button in Data Management
4. Click "+" -> browse to project's output/ folder
5. Match the "task name" to your project
6. Select quality settings (see below)
7. Click "Process"
Beta.9 (current):
1. During Data Calculation setup, enable "Gaussian Generation" checkbox
2. 3DGS generates automatically after point cloud processing
3. If you forgot: click "Data Calculation" again -> select project -> enable "Gaussian Generation" (Luna)
Quality Settings
| Setting | VRAM Usage | Processing Time | Output Quality |
|---|---|---|---|
| Speed | Low | Fastest | Basic |
| Balanced | Medium | Moderate | Good |
| Quality | High | Slow | Best (may exceed VRAM) |
Start with lowest settings first (avsupport). Even on RTX 5090 32GB, both Balanced and Quality go into the red for VRAM (iris.digital.pl).
3DGS Process Stages
- GLOMAP/SfM stage: CPU-bound -- VRAM doesn't affect this stage. May appear stuck at 14% or 45% for hours -- this is normal.
- Gaussian training: GPU-bound -- this is where VRAM matters most.
What to Watch During Processing
- CPU activity = processing is happening (even at "dreadful 14%")
- GPU activity = training stage
- Do NOT let PC go to sleep -- screensaver is fine, sleep is not (avsupport)
- Processing time scales roughly 1:4 (30-minute scan 2 hours processing)
Quality Improvements by Version
- Beta.1->Beta.4: Background separation improved (less "falling sky" where sky fuses with trees); some transparency introduced in difficult areas (avsupport)
- Beta.7: Greyscale masks now include values outside 0/255 -- improved edge handling
- Beta.4->Beta.7: Significant improvement in point cloud coloring (philippkreiser)
Method 2: External Pipeline
Use when scans exceed 10 minutes or you need higher quality than PCS produces.
Reality Capture -> Postshot Pipeline
This is the community-standard pipeline developed by iris.digital.pl.
Step 1: Export Data from PCS
Process point cloud in PCS with these settings:
- Undistorted Photo Output: ON (generates Undistort/ folder)
- Export colorized.las: ON
You need these files:
- colorized.las (dense colored point cloud)
- xyzopk.txt from Undistort/ folder
- All folders from Undistort/ (left, right, left_mask, right_mask)
Step 2: Import into Reality Scan 2 (RS2)
- Import images: Add ALL undistorted images from
Undistort/left/andUndistort/right/ - With masks OR without masks -- community is unsure which is correct
- Import external photos: Add any supplementary phone/camera photos
- Import trajectory: In Alignment menu -> Import Trajectory -> select
xyzopk.txt - Settings for trajectory import (verified working by AVsupport):
- Image X = lon Image Y = lat Image Z = alt
- Omega Phi Kappa
- Euler as XYZ photogrammetric OPK conversion
- Coordinate system: Computer Vision
- Ignore first line: Yes
- Local Euclidean
- Use de focal length to group camera intrinsics
- Accuracy from file and edit missing components
- Import LiDAR: Import
colorized.las - Mobile LiDAR Exact Geo=Yes
- Local Euclidean
- Use camera poses from priors
- Single camera
Step 3: Alignment in RS2
- With all images in the project, click "Alignment"
- This takes ~2 hours for a 10-minute scan (iris.digital.pl)
- LiDAR cloud + C1 camera reproductions should appear in RS2
Step 4: Export from RS2
Export cameras: Export as .csv or COLMAP format
CSV header fix: The exported CSV first line may be incorrect. Replace with:
#name,x,y,alt,yaw,pitch,roll,f,px,py,k1,k2,k3,k4,t1,t2
Paste this line in if the export is wrong (iris.digital.pl).
Export sparse point cloud: This file is large -- go to CloudCompare for cleanup.
Step 5: CloudCompare -- Point Cloud Prep
- Import the sparse point cloud from RS2
- Run subsampling to reduce point count
- Run SOR filter (Statistical Outlier Removal) to remove noise
- Save the clean, light version
- Minimum number of gaussians = number of points -- plan accordingly for your desired splat size
Step 6: Postshot -- Train 3DGS
- Import into Postshot:
cameras.csvfrom RS2- ALL photos (C1 undistorted + external)
- Subsampeled point cloud from CloudCompare
- Postshot v1.1 has 4 quality levels for camera alignment
- Train the gaussians
Postshot vs PCS quality: "Most of the GS I've posted was trained in Postshot" (iris.digital.pl). Postshot consistently produces better quality than PCS.
Alternative: Reality Capture -> Lichtfeld Studio
Same RS2 workflow, but export as COLMAP and import into Lichtfeld Studio (free, open-source). See 08-Third-Party-Tools.
Upload & Sharing
SuperSplat (Free)
- Purpose: Editor and viewer -- cannot train splats
- Upload .ply from PCS or Postshot output
- Features: color correction, black point adjustment, cleanup
- Public sharing via superspl.at links
- Note: By uploading you agree to their terms -- they may own your data (avsupport)
Arrival.space
- Web-based viewer with portal navigation
- Connect multiple scans via portals for virtual tours
- Embedding capability
Known Issues
"Falling Sky" / Background Bleed
- Symptom: Sky/background color bleeds into trees, building edges
- Cause: Poor foreground/background segmentation + overexposed images
- Improved in Beta.4+ but still present
- Workaround: None in PCS. External pipeline (RS2->Postshot) may produce better results.
Scan Duration Limit
- Critical: Scans >10 minutes universally fail 3DGS creation in PCS (iris.digital.pl)
- Point clouds are fine -- only the GS generation fails
- Fix: Use Reality Capture + Postshot pipeline
3DGS for Multi-Scan (Stitched) Projects
- Problem: Can create 3DGS from individual scan, but unclear if possible from combined/stitched point cloud
- Community question: Unresolved -- likely requires external pipeline
Transparency in Difficult Areas
- Some Beta versions introduced transparency in gaussians where geometry is ambiguous
- "It's not pretty" on poor segmentation cases
Best Practices
- Use lowest quality setting first -- test before committing to long processing
- Disable computer sleep -- processing may fail on resume
- Keep scans under 10 minutes for PCS 3DGS
- Use 0.5s interval (GS mode) for balanced quality/size
- For longer scans: External pipeline (RS2->Postshot) is mandatory
- NVMe SSD significantly improves processing speed (mda237_10136)
- Point Cloud mode + 0.2s gives more images but much heavier files -- only for advanced use