Unity VR 3DGS Viewer · Meta Quest 2

Project Overview
I built a Meta Quest 2 VR viewer in Unity to explore 3D Gaussian Splatting (3DGS) reconstructions. The app focuses on natural, comfortable viewing in-headset while balancing fidelity and performance on mobile VR.
Experience & Features
- Map-style Home: Start from a campus map; select scenes via controller trigger.
- Quick Return: A “Main Page” button follows the user near the lower-right of view for easy back navigation.
- Info Panels: Each 3DGS scene includes an info panel with background and highlights.
- Free Roam: Natural walking and head-look. For smaller scenes, flying is intentionally omitted to maintain comfort.
- In Plan: Skybox switching (e.g., starry/daytime) and a linear guided tour mode (parallel to the map mode).

Technical Notes
- 3DGS Import: Collected data, reconstructed scenes, and imported 3DGS into Unity.
- VR UI & Interaction: Controller-trigger interactions; refined layout for the home panel and the follow-along return button to reduce “where is the button?” moments.
- Quest 2 Performance: Reduced splat counts for heavy models (e.g., sculptures), tuned UI readability and layout, and pursued a quality–framerate balance.

Progress
- Completed: Unity environment setup and required plugins; 3DGS file import; VR nav prototype; reconstructions for the central square and several key buildings; MVP demo and peer feedback.
- Current Content: Around 8 scenes (sculptures and buildings) accessible from the home map for free exploration.
- Known Challenge: Native 3DGS rendering on Quest 2 pushes performance; mitigations include model simplification and UI/interaction optimizations. Continued exploration of better render/load strategies.

My Role
- End-to-End: Interaction flow, scene organization, UI and info panels.
- 3DGS Pipeline: Data collection, reconstruction, import, and precise placement/scale tuning.
- Performance & UX: Model simplification, UI polish, readability and accessibility adjustments.
- Build & Delivery: Quest 2 APK builds and live demos.
Next
- Expand 3DGS scene coverage and enrich info panels.
- Add skybox switching and a linear guided tour mode.
- Keep optimizing performance without sacrificing visual quality.
References
- graphdeco-inria/gaussian-splatting: https://github.com/graphdeco-inria/gaussian-splatting
- aras-p/UnityGaussianSplatting: https://github.com/aras-p/UnityGaussianSplatting

