Singularity.mp4
An interactive 3D visual experience featuring abstract shapes that respond to your interactions. Built with React Three Fiber and Rapier physics.
Abstract Singularity creates a mesmerizing visual display of colorful 3D shapes that dynamically interact with your mouse movements and clicks. The project uses advanced physics simulations to create natural-feeling movements and interactions between the shapes.
- Interactive Physics: Shapes respond realistically to clicks, touches, and mouse movements
- Colorful Design: Multiple color schemes that change with each click
- Responsive: Works on both desktop and mobile devices
- Immersive 3D: Uses Three.js for high-quality 3D rendering in the browser
- Smooth Animations: Shapes rotate and move with fluid, natural motion
- React: Frontend framework
- React Three Fiber: React renderer for Three.js
- Rapier Physics: High-performance physics simulation
- Three.js: 3D library for the web
Abstract Singularity combines the declarative nature of React with the power of 3D graphics and physics:
- 3D Shapes: Abstract 3D models are loaded and displayed with different material properties
- Physics Simulation: Each shape has a physical presence that interacts with other shapes
- Input Handling: User interactions (clicks, touches, mouse movements) apply forces to the shapes
- State Management: React manages state changes, including color schemes and interaction events
- Rendering Loop: Each frame, physics calculations are performed, and the scene is re-rendered
The shapes feature different materials (metallic, matte, glossy) and are carefully tuned to create a cohesive visual experience.
- Click/Tap: Changes the color scheme and causes shapes to move away from the click point
- Hover/Touch Move: Pushes shapes away based on the direction of movement
- Physics Effects: Shapes naturally drift back to center when not being interacted with
Works best in:
- Chrome
- Firefox
- Safari
- Edge
- Opera
Note: Some browsers in private/incognito mode may have different rendering behavior due to how WebGL contexts and hardware acceleration are handled in these modes.
- Clone the repository
- Install dependencies:
npm install - Start the development server:
npm start - Open http://localhost:3000 in your browser
- The project uses Three.js for 3D rendering
- Physics simulation powered by Rapier
- React integration via React Three Fiber