Skip to content

This Unity project features procedurally generated planets with mesh generation, noise-based terrain, and biome coloring. Inspired by Sebastian Lague's [Procedural Planets](https://youtu.be/lctXaT9pxA0?si=VMBMCPLRajWCHLck).

License

Notifications You must be signed in to change notification settings

YasharShaikh/Procedural-Planets

Repository files navigation

Procedural-Planets 🌌

A Unity-based project to generate breathtaking procedural planets, combining dynamic mesh generation, realistic terrain shaping, and customizable biome-based color systems.

  • Dynamic Planet Generation
    • Procedurally generate planets with varied terrains and colors based on defined settings.
  • Biome System
    • A fully customizable biome system allowing gradient-based textures, tinting, and noise-based blending for realistic transitions.
  • Shape Customization
    • Adjustable terrain shaping using noise filters for unique planetary surfaces.
  • Material and Texture Management
    • Utilizes Unity's materials to dynamically apply textures and colors based on elevation and biome settings.
  • Interactive Editor Integration
    • Includes Unity Editor tools to visualize and tweak planet settings in real-time.

Preview 👀

💡Objective: Explore and understand procedural generation techniques and their application in creating visually stunning 3D planets.

Procedural Planets

Gameplay 🎮

  • Generate unique planets with just a click.
  • Experiment with settings to customize planet shapes, terrains, and biomes.
  • Use editor tools to visualize changes in real-time.

Getting Started 📃

  • Unity Version: 2023 or higher
  • Basic knowledge of Unity and C# scripting.

Building

  • Clone this repository
  • Launch Unity Hub, add the cloned folder, and open it.
  • Open the MainScene and hit play to see your procedural planets come to life.
  • Use the custom editor tools to tweak shape, color, and biome settings directly in the Unity Inspector.

Core Components 🛠️

Scripts

  • ColorGenerator: Handles biome-based texture generation with gradient and tint support.
  • ShapeGenerator: Manages terrain shaping using customizable noise filters.
  • TerrainFaces: Splits the planet into 6 manageable faces for efficient mesh generation.

Scriptable Objects

  • ShapeSettings: Define terrain noise and elevation properties.
  • ColorSettings: Configure biome colors, blending, and noise-based variations.

Custom Editor

  • Interactive editor script to adjust planet settings and preview changes in real-time.

Contributing 💪

Looking to contribute something to this project? Here's how you can help.

If you believe something needs to be immediately fixed please open an issue and document the problem. Fork this project and create a pull request with your solution to the problem. Thank you.

Reach Out? 💬

About

This Unity project features procedurally generated planets with mesh generation, noise-based terrain, and biome coloring. Inspired by Sebastian Lague's [Procedural Planets](https://youtu.be/lctXaT9pxA0?si=VMBMCPLRajWCHLck).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages