This is a side project where I implemented my learnings in Three.js, Framer Motion, and WebGL to build a visually appealing and interactive 3D space interface. It features a central rotating sphere (inspired by the solar system) surrounded by smaller celestial-like spheres, all responsive to cursor motion.
The UI replicates a minimalistic cosmic scene. When users move their cursor, the large central sphere gently rotates in real-time, simulating a realistic motion effect. Smaller spheres are positioned around it, giving the impression of planetary bodies orbiting in 3D space.
This project showcases animation, spatial design, and cursor interactivity — all rendered smoothly through React Three Fiber, @react-three/drei, and Framer Motion.
👉 Click here to view the live project
Here's a snapshot of the 3D Space UI in action:
- 🌍 Central sphere with smooth motion on cursor movement
- 🪐 Multiple smaller spheres scattered around — solar system vibes
- 🎯 Cursor-based rotation control
- 🧠 Optimized 3D rendering using
@react-three/fiber
andthree.js
- 🌀 Seamless animations with
framer-motion
andleva
for tweaking - 🎨 Custom UI components with Tailwind CSS & Radix UI
Below are the key technologies and libraries used:
- React
^19.0.0
- Next.js
^15.3.1
(with Turbopack for fast dev) - Three.js
^0.176.0
— for 3D rendering - @react-three/fiber
^9.1.2
— React renderer for Three.js - @react-three/drei
^10.0.7
— Helpers for Three.js in React - Framer Motion
^12.10.5
— for motion and animation - Leva
^0.10.0
— for GUI controls
- Tailwind CSS
^4
- Tailwind Variants &
tailwindcss-animate
- Radix UI (
@radix-ui/react-*
) — Accessible UI components - Lucide Icons — for lightweight icons
- React Hook Form
^7.56.2
- Embla Carousel — for smooth horizontal scrolling
- TypeScript
^5
- ESLint, PostCSS, and Turbopack
Clone the repo and install dependencies:
git clone https://github.com/your-username/3d-space
cd 3d-space-ui
npm install
This project was born out of my passion for 3D interfaces and immersive visual experiences. It combines interactive design with spatial animation to create a visually engaging UI element that could be used in creative portfolios, hero sections, or conceptual demos.
Aman Singh Aspiring Software Developer | 3D Interface Enthusiast