A unique universe builder made with Three.js, React, and Typescript. The project does not aim to imitate a real-life universe; there's no gravity nor collision. It's all about creating star and planet constellations while also allowing for their customization. There are numerous customization options—you can create stars, planets, moons, colorize them, add clouds, water, rings, and more.
I plan on adding new features such as gas planets and biomes, but for now, I'm content with the current state of the project.
The live / preview version is available: https://b0g3.github.io/PlanetGen3D/
Unfortunately, this project is not perfect and could use some improvements. I plan on rewriting it, although it's not a top priority at the moment. Using Three Fiber instead of traditional Three.js with the complexity of this project proved to be a bit challenging. Additionally, I'm considering adding a state management library like Zustand or Redux to avoid using React contexts and to assist in managing infinitely nested states, such as celestials and their satellites.
Furthermore, I have plans to enhance the project by introducing new features, making the planets more unique with biomes, cliffs, rivers, and more. Apart from the stars and terrestrial planets, I also have plans for gas giants.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.