Unity WebGL Player | NumberFlow Terrain

NumberFlow Terrain

Environment settings control the sun, a spotlight, and the camera. When Tile is enabled the terrain is tiled in a 2x2 grid.

Height Field settings control parameters of the NumberFlow diagram that generates the height field. Morph Speed controls how fast the terrain changes over time. Octaves and Persistence are parameters of the primary Perlin noise function used to generate the heights. Secondary controls the influence of a secondary Perlin noise function.

Shader settings control details of the shader.

The terrain data is generated with a single 64x64 texture. It contains both a normal map and a height field. Shader details are obtained by sampling the texture multiple times.

The height field is generated each frame by a NumberFlow diagram. Another NumberFlow diagram is used once to generate a 32x1 gradient color map.

The terrain mesh is 65x65. The vertices are aligned with the pixel centers. One extra row and column are added which wrap around for seamless tiling.

The maximum, average, and minimum frames per second are displayed at the top right.

A Unity Web Player build would only be a 79KB download. But this is a WebGL build, which is quite a bit larger.