All Projects → Scrawk → Terrain Topology Algorithms

Scrawk / Terrain Topology Algorithms

Licence: mit
Terrain topology algorithms in Unity

Programming Languages

flow
126 projects

Projects that are alternatives of or similar to Terrain Topology Algorithms

Massivegrass
Unity Terrain に沿って大量の草を生やす(shader 非依存)
Stars: ✭ 79 (-70.3%)
Mutual labels:  unity, terrain
Unity3d Ai And Procedural Generation Framework
Unity3D AI and Procedural Generation Framework.
Stars: ✭ 58 (-78.2%)
Mutual labels:  unity, terrain
Marching Cubes Terrain
Marching Cubes terrain implementation in Unity using the Job System and the Burst compiler
Stars: ✭ 292 (+9.77%)
Mutual labels:  unity, terrain
Dterrain
Destructible terrain in Unity
Stars: ✭ 224 (-15.79%)
Mutual labels:  unity, terrain
Pvtut
Procedural Virtual Texture with Unity Terrain
Stars: ✭ 125 (-53.01%)
Mutual labels:  unity, terrain
Terrain proj
unity 大地形切割、加载、AB
Stars: ✭ 103 (-61.28%)
Mutual labels:  unity, terrain
Dungeontemplatelibrary
🌏: Dungeon free resources (terrain & roguelike generation)
Stars: ✭ 595 (+123.68%)
Mutual labels:  unity, terrain
Interactive Erosion
Interactive erosion in Unity
Stars: ✭ 117 (-56.02%)
Mutual labels:  unity, terrain
Unity resources
A list of resources and tutorials for those doing programming in Unity.
Stars: ✭ 170 (-36.09%)
Mutual labels:  unity, terrain
Proceduralterrain
Procedural voxel terrain generation in Unity
Stars: ✭ 237 (-10.9%)
Mutual labels:  unity, terrain
DungeonTemplateLibraryUnity
🌏: Dungeon free resources (terrain & roguelike generation)
Stars: ✭ 51 (-80.83%)
Mutual labels:  terrain
CLF reactive planning system
This package provides a CLF-based reactive planning system, described in paper: Efficient Anytime CLF Reactive Planning System for a Bipedal Robot on Undulating Terrain. The reactive planning system consists of a 5-Hz planning thread to guide a robot to a distant goal and a 300-Hz Control-Lyapunov-Function-based (CLF-based) reactive thread to co…
Stars: ✭ 21 (-92.11%)
Mutual labels:  terrain
Cloner
An example of use of procedural instancing.
Stars: ✭ 260 (-2.26%)
Mutual labels:  unity
Marching Cubes
Marching cubes in Unity
Stars: ✭ 263 (-1.13%)
Mutual labels:  unity
PlanetRenderer
A repo for my research on planet rendering in c++ | opengl **Now runs on Linux**
Stars: ✭ 62 (-76.69%)
Mutual labels:  terrain
Projectileshooting
Project demonstrating in Unity how to fire a projectile at a target by either specifying its initial velocity or initial angle. Also draws out the projectile's expected trajectory.
Stars: ✭ 260 (-2.26%)
Mutual labels:  unity
snap-to-tin
Snap vector features to the faces of a triangulated irregular network (TIN)
Stars: ✭ 18 (-93.23%)
Mutual labels:  terrain
tdme2
TDME2 - ThreeDeeMiniEngine2 is a lightweight, multi-platform 3D engine including tools suited for 3D game/application development using C++
Stars: ✭ 86 (-67.67%)
Mutual labels:  terrain
terrain
Create a 3d terrain with WebGL.
Stars: ✭ 43 (-83.83%)
Mutual labels:  terrain
Recyclable Scroll Rect
Recyclable Scroll Rect reuses or recycles the least number of cells required to fill the viewport. As a result a huge number of items can be shown in the list without any performance hit.
Stars: ✭ 262 (-1.5%)
Mutual labels:  unity

Terrain-Topology-Algorithms

This project is collection of algorithms that can be used to describe the topology of a terrain. The result of these algorithms can then be used for rendering the terrain or as input to other algorithms.

The formulas were take from a book called Digital Terrain Analysis for Soil Science.

Version 2 adds more curvature types, landform and residual types as well as a better way to visualize the maps using a color gradient and rescaling the wide dynamic range using a logarithmic scale.

The colorized maps can be displayed using a cool to warm or black to white gradient.

Normal map

The normal map is probably the most common algorithm used to describe the topology of a terrain because of its use in rendering. The normal's are a tangent space vector of the surface direction.

Its a good place to start as it requires calculating the first order derivatives of the terrains height map which are also used in many of other algorithms.

Normal Map

Slope map

The slope map describes the steepness of the terrain and is handy for texturing the terrain. Like the normal map this also requires the first order derivatives.

Slope Map

Aspect map

This is similar to the slope map but instead represents the horizontal gradient as opposed to the vertical gradient.

Aspect Map

Curvature map

The curvature map represents the convexity/concavity of the surface. The curvature is a little more complicated to calculate and requires the first and second order derivatives of the terrains height.

There are a lot of ways to measure the curvature. The most useful are vertical, horizontal, mean, gaussian, minimal or maximal curvature but I have provide a few others.

Since curvature uses the second derivatives it can have quite a large dynamic range and can be negative which makes visualizing the map a bit tricky.

Below is the horizontal, vertical, gaussian, minimal and maximal curvatures in that order.

Curvature Map

Curvature Map

Curvature Map

Curvature Map

Curvature Map

Landform map

The landform map combines some of the curvature values to try and classify the type of landform. For example if the landform is convex/concave or accumulative/dispersive.

The idea is the the shape of the landform determines how water flows over it which is a key indicator for soil type and depth.

Below is the shape index and accumulation landforms in that order.

Landform Map

Landform Map

Flow map

This one is a bit different as its a iterative algorithm and is therefore a bit slow. Its works by simulating the path a small amount of water flowing over the terrain will take. The magnitude of the waters velocity can then be used to create a flow map.

Its a good way to make rivers or erosion effects.

Flow Map

Residual map

The residual map takes the heights around a point in a given window and performs some sort of statistical analysis. For example the standard deviation represents the roughness of the terrain.

Options to calculate the mean, standard deviation, percentile and a few others are provided.

Below is the percentile map where the value represents the percentage of heights around a point that are lower.

Residual Map

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].