Interactive 3D Solar System built with Three.js and Vite, featuring realistic planetary motion, texture mapping, and modular architecture.
👉 https://atta3554.github.io/solar-system/
- 🌌 Real-time 3D solar system simulation
- 🪐 Planet rotation and orbital movement
- 🌑 Realistic textures (NASA-style assets)
- 🎥 Smooth camera controls (zoom / orbit / pan)
- ⏳ Loading system with preloader UI
- 🧩 Modular architecture (separated managers)
- ⚡ Optimized asset loading system
This project is structured in a modular way for scalability:
- PlanetManager → Creates and animates planets and orbits
- LightManager → Handles scene lighting (sun, ambient, etc.)
- TextureManager → Loads and caches textures efficiently
- InteractionManager → Handles user input and camera controls
- Env → Scene/environment configuration
- Three.js
- Vite
- JavaScript (ES Modules)
Clone the repo:
git clone https://github.com/atta3554/solar-system.gitInstall dependencies:
npm installRun development server:
npm run devBuild for production:
npm run buildThis project is deployed using GitHub Pages.
Make sure Vite base path is set:
base: "/solar-system/";Then deploy dist contents to gh-pages branch.
src/
├── core/
├── planet/
├── light/
├── interaction/
├── utils/
├── App.js
- Textures must be loaded using correct base path (
import.meta.env.BASE_URL) - GitHub Pages requires correct asset paths
- Project is optimized for browser-based rendering (no backend)
- Add galaxy background / skybox enhancement
- Add planet info UI panel
- Add time-speed control
- Add labels for planets
- Improve loading screen transitions
MIT License (optional section if you want)
