/Marching-Cubes-Terraforming

Terraforming mechanism based on the marching cubes algorithm. Inspired by the gameplay of Astroneer.

Primary LanguageC#

Marching Cubes Terraforming

Implementation of a infinte-world terraforming game mechanic mechanism based on my multi-threaded implementation of the marching cubes algorithm (https://github.com/akoreman/Marching-Cubes-Unity-Job-System). Inspired by the gameplay of Astroneer.

Currently Implemented

  • Spawning and de-spawning chunks to generate infinitely large marching cubes worlds.
  • View frustum culling by calculating the camera draw volume and de-spawning chunks not in camera view.
  • Change the geomtry during runtime by changing the underlying scalar field.
  • Building a mesh collider for the chunks at runtime.
  • First person controls to walk through the world.
  • Uses Unity raycasts to get the points where to terraform.
  • Uses Perlin noise to initialiaze a hilly environment.

Screenshots