Soul is an immersive, 3D scrolling website that offers a unique journey of reflection and inspiration. As you scroll, you'll discover beautifully crafted lines that resonate with the essence of life, touching your heart and soul, all while exploring a captivating 3D space environment.
- 3D Scrolling Experience: Utilizes Three.js to create a captivating 3D background that responds to user scrolling.
- Interactive 3D Elements: Includes various 3D objects like a torus, planets, stars, a satellite, and a rocket.
- Dynamic Camera Movement: Camera position and rotation change based on scroll position.
- Inspirational Quotes: Features a collection of thought-provoking quotes designed to inspire and enlighten.
- Responsive Design: Adapts seamlessly to various screen sizes, ensuring a great experience on both desktop and mobile devices.
- Background Music: Includes an option to play ambient music, enhancing the overall atmosphere of the site.
- Custom Typography: Uses a combination of custom fonts to create a visually appealing and unique typographic style.
- HTML5
- CSS3
- JavaScript
- Three.js for 3D graphics and animations
- Custom fonts from Adobe Typekit
To run this project locally:
- Clone the repository
- Install dependencies (if using a package manager)
- Open
index.html
in your browser
Note: For the best experience, use a modern web browser with WebGL support.
index.html
: Main HTML filestyle.css
: CSS styles for the projectmain.js
: JavaScript file for 3D background, animations, and interactionsImages/
: Directory containing texture images and other assetsmusic.mp3
: Background music file
- Scene setup using Three.js
- Creation of various 3D objects (torus, planets, stars, satellite, rocket)
- Texture mapping for realistic object appearances
- Dynamic lighting with point and ambient lights
- Camera movement tied to scroll position
- Animation loop for continuous rendering and object rotations
- Background music toggle functionality
Feel free to modify the 3D elements, textures, colors, or quotes to suit your preferences. The main JavaScript file (main.js
) contains the logic for creating and animating the 3D scene, which can be adjusted to change the visual experience.
Contributions, issues, and feature requests are welcome. Feel free to check issues page if you want to contribute.