2022 - Procedural Terrain with Biome
In this project, I developed a framework in Unity that allows for procedural terrain generation with various biome features, and I created a custom editor script to give designers fine control over how the terrain is generated. This system was primarily designed to create diverse environments in the RPG game I am working on, but it is flexible enough to be used in other projects.
To enhance the environmental detail, I used ScriptableObjects to define settings for different biomes. For instance, I could easily add cactus plants to desert regions or adjust the density of vegetation in forest areas. Each detail, such as size, frequency, and its associated biome, is configurable through these settings. I also integrated native C commands for efficiently placing objects on the terrain.
To handle terrain textures dynamically and ensure high performance, I implemented compute shaders to procedurally generate the terrain’s biome textures. These textures are basically distorted voronoi textures where each color channel is mapped to a specific biome texture. Consequently, this provided precise control over biome transitions and created highly optimized workflows for large-scale terrains.