https://github.com/barrettotte/Terrain-Generation-Study
Using Perlin noise to generate a map texture and then generate an LOD enabled terrain mesh from the map. This system was going to be used in a now abandoned project.
https://github.com/barrettotte/Terrain-Generation-Study
csharp lod perlin-noise terrain terrain-chunks unity
Last synced: about 1 year ago
JSON representation
Using Perlin noise to generate a map texture and then generate an LOD enabled terrain mesh from the map. This system was going to be used in a now abandoned project.
- Host: GitHub
- URL: https://github.com/barrettotte/Terrain-Generation-Study
- Owner: barrettotte
- Archived: true
- Created: 2018-03-28T20:23:13.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-09-23T02:46:36.000Z (over 7 years ago)
- Last Synced: 2024-08-03T05:22:08.575Z (almost 2 years ago)
- Topics: csharp, lod, perlin-noise, terrain, terrain-chunks, unity
- Language: C#
- Homepage:
- Size: 10.1 MB
- Stars: 37
- Watchers: 6
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.txt
Awesome Lists containing this project
README
# Terrain-Generation-Study
Using Perlin noise to generate a map texture and then generate an LOD enabled terrain mesh from the map.
## About:
This was going to be my attempt at creating a No Man's Sky-esque planet/terrain system. The planet would share the same map as the terrain and when a ship would land, the appropriate terrain chunks would be generated. I however lost steam after implementing the terrain chunk LOD system and never got around to the UV, transform, and spherical coordinate system translating. If I create a similar project in the future I will use this as the basis.
## Features:
* Implements a port of LibNoise for C# for noise generation
* Octahedron sphere procedural generation
* Color mapping based off of noise map values
* Terrain chunk generation based off of noise map
* Circular buffer implementation to allow terrain chunk wrapping
* Terrain chunk LOD system for better performance
* Threading for map generation
## Planned, but Never Implemented:
* Fix seams between terrain chunks
* UV, transform, and spherical coordinate translation
* Landing on planet generates appropriate terrain chunks
* Planet rotation
* Planetary generation from seed
* Longitude/Latitude system
## Screenshots:
LOD System Video: LOD.mp4 in this repo.
Flat Color Map Generation

Octahedron Sphere Planet Generation

Mesh Generation

LOD System
