Smoothen Operation on surfaces in TerraLand Terrain
In the Editor, the terrain is static for a certain defined area with certain boundaries and terrains do not get updated while in Play mode.
In contrary the upcoming Runtime Engine in TerraLand gives you the ability to start from a certain location on Earth and travel through the whole earth without any limitations of how far you navigate in your scene, the terrains will be generated dynamically on the fly around the player based on its world position.
We have been asked many times about the unwillingly artifacts and banding created on terrain surface when applying elevation data on them.
Whether you are in the Editor or Runtime modes, you may find your terrains with unwanted jaggies, terraces, banding and non-smoothed terrain heights as the following picture which shows a terrain with 1024 heightmap on it:
Below picture shows the same terrain after 1,2 and 3 steps of real-time smoothness:
The Smoothing Operation in TerraLand is available in both Editor & Runtime
In the Editor plugin, the smoothing operation is part of “TerraLand Terrain” component in “Smoothen Operation” section of the UI. So from there you can smooth out terraced terrain surfaces in the editor.
In the Runtime demo, the smoothing settings is located at the “Main Settings” menu and the parameter is called “Terrain Smoothness Steps”. Changing the value to higher means more smoothing on surface while 0 value means no smoothing at all as the original obtained data from server.
Please note that more smoothing steps result in more washed away surfaces and obviously losing some high frequency details.
You can also lower the defined heightmap resolution to save performance, memory and also extra Smoothing operations as follows:
512 Heightmap Resolution with no Smoothing applied:
256 Heightmap Resolution with no Smoothing applied:
So in the end, it is up to you to choose between available options based on your needs and requirements. Also as the upcoming product comes up which TerraLand is just a part of it, terrain surfaces will benefit from using natural Erosion & Terrace filters along with custom terrain shaders, so that non of these artifacts will exist and no extra steps are required.
To show you exactly what these info and pictures mean, I’ve setup a sample project for you to open it up in Unity and check different conditions for yourself. The project coordinates are based on your custom settings. There are corresponding Preset files which can be loaded in TerraLand Downloader’s “Preset Management” tab at the top so that you can see all setup parameters in your TerraLand UI.
On each main terrain parents in the Hierarchy, you will see different Pixel Resolutions for terrains which is based on the area heightmap resolution and this value is simply:
Area Size (8000) / Heightmap Resolution (1024/512/256) = Pixel Resolution
Every time the Pixel Resolution value is closer to the original data resolution, so there will be less resampling and so the less banding and artifacts in terrain surface.