Reconstructing TH OWL campus buildings from real-world image data using 3D Gaussian Splatting, refined with SuperSplat, and integrated into Unreal Engine 5 as an interactive first-person environment. Developed as a university project at TH OWL, Detmold, Germany.
This project converts campus image data into real-time interactive 3D environments using 3D Gaussian Splatting. Two independent pipelines were designed and evaluated — one GUI-based for high visual fidelity, and one fully automated for scalability on a DGX server.
- Camera: GoPro with ~80% image overlap
- Markers: AprilTag markers placed around the campus for spatial reference
- Locations: InnovationSPIN building (~60 GB dataset) and Detmold campus (~6 GB dataset)
💡 Choose your pipeline: Use Pipeline 1 for a GUI-based local workflow, or Pipeline 2 for automated server-side processing.
Dataset: InnovationSPIN building, ~60 GB
Mode: GUI-based, local machine
RealityScan
- Download from the Epic Games Launcher (free)
- Sign in with an Epic Games account
- Open the launcher → Library → RealityScan → Install
- Import your captured images into RealityScan
- RealityScan automatically runs COLMAP internally (Structure-from-Motion)
- Export the project — this generates the 3 files needed for Gaussian Splatting training:
cameras.txt— camera intrinsicsimages.txt— camera poses per imagepoints3D.txt— sparse 3D point cloud
- Export resolution capped at 2,000,000 pixels to prevent VRAM crashes
LichtFeld Studio
- Clone from GitHub:
git clone https://github.com/MrNeRF/LichtFeld-Studio- Open LichtFeld Studio
- Import the COLMAP output folder (containing
cameras.txt,images.txt,points3D.txt) - Set training parameters and click Train
- Export the trained
.plyfile - Requires a CUDA-capable GPU (tested on RTX 4060 with 8 GB VRAM)
| Parameter | Value |
|---|---|
| Iterations | 30,000 |
| Maximum Gaussians | 2,000,000 |
| SH Degree | 3 |
| Tile Mode | 1 |
✅ High visual fidelity — building facade, windows, entrance, vegetation all clearly reconstructed
✅ Strong GUI control with real-time feedback
Dataset: Detmold campus building, ~6 GB
Mode: Headless, SSH, Docker, fully scripted
All installation, setup, and training is fully automated via the bash script.
No manual dependency installation needed.
# 1. Clone this repository
git clone https://github.com/Nithya-Kanakam/Gaussian-Splatting.git
cd Gaussian-Splatting
# 2. Edit the script — set your GPU_ID and WORKSPACE path
nano bash/gaussian_splatting.sh
# 3. Place your images inside the scene folder
# Path: /data/pool/(your_username)/gs_pipeline/my_scene/images
# 4. Run the script
bash bash/gaussian_splatting.shThe script will automatically:
- Pull the Docker container (
nvcr.io/nvidia/pytorch:24.01-py3) - Clone the Graphdeco Gaussian Splatting repo
- Install COLMAP, PyTorch submodules, and all dependencies
- Run COLMAP
convert.pyfor camera pose estimation - Run
train.pyfor Gaussian Splatting training - Export the final
point_cloud.plyto the output directory
Full-resolution training on the 6 GB dataset required ~80 GB GPU memory. The DGX server had ~30–50 GB available. Reducing input resolution by factor 4 made training feasible.
✅ Scalable and reproducible automated workflow
✅ ~45 min training time
After training, the .ply output was imported into SuperSplat for post-processing:
- Visualised the reconstructed Gaussian Splat model
- Manually removed floating artifacts, noise, and redundant splats
- Focused the model on the main building structure
- Re-exported as a cleaned
.plyready for Unreal Engine
The refined .ply was imported into Unreal Engine 5.1.1 using the X3DGS plugin:
- Installed via Epic Games Launcher; project configured with X3DGS for
.plyGaussian Splat support - Reconstructed campus rendered as a fully navigable first-person environment
- Built on UE5's first-person template
- Interactive game elements added: targetable blocks + rifle asset (shooting interaction)
- Result: a small gamified campus tour running in real time on reconstructed real-world geometry
⚠️ Note: Constrained to UE5.1.1 — newer UE versions do not have stable.plyGaussian Splat import support via available plugins
Campus Intelligence — Explore. Learn. Optimize. Shape a better tomorrow.
The vision is to transform the static Gaussian Splat campus model into a full Campus Intelligence platform with four interactive game modes:
| Module | Concept |
|---|---|
| 🌱 Sustainability | Plant trees, place solar panels, optimise walking routes — earn a Sustainability Score |
| ⚡ Efficiency | Control lighting and heating in campus buildings, turn them from red to green — earn an Efficiency Score |
| 📚 Knowledge | Explore hotspots, discover labs and SmartFactoryOWL projects, answer quizzes — earn a Knowledge Score |
| 🗺️ Exploration | Free navigation, guided tours, hidden locations — digital campus tour for students and visitors |
The long-term goal is a Campus Intelligence system where users explore, learn, and make decisions inside a photorealistic digital twin of TH OWL — built on top of the Gaussian Splat reconstruction.
This project demonstrates that 3D Gaussian Splatting can effectively bridge real-world image capture and interactive digital environments. Two complementary pipelines were built and validated — one focused on visual quality, one on automation and scalability. The reconstructed InnovationSPIN campus was successfully integrated into Unreal Engine 5 as a navigable, gamified environment. Despite hardware and data acquisition constraints, a complete end-to-end workflow was achieved, proving Gaussian Splatting as a practical foundation for future campus-scale interactive applications.
See RESULTS.md for full pipeline comparison, training metrics, and output images.
3D Gaussian Splatting COLMAP RealityScan LichtFeld Studio SuperSplat
Unreal Engine 5.1.1 X3DGS Plugin NVIDIA DGX A100 Docker PyTorch Python Bash