TerraLand 3 - Streaming Huge Real-World & Custom Terrains For Open-World Environments

AssetStore | Our WebStore

30% Off For ver. 2 Users

TerraLand 4 is here

AssetStore Link: http://u3d.as/1c8w
Compatible with Unity 2018.3 & up

TerraLand On Discord

** TUTORIALS **
** Ver. 2 & 3 Differences **

TerraLand creates high resolution real-world Terrains in your scenes from ESRI & user-customized sources.

Generated scenes can be:

  • Static & In-Editor
  • Dynamic & streaming in Runtime from large datasets in online/local servers

Streaming Dynamic Scenes


Static Scenes

The built-in Streaming system in TerraLand is the only solution to bring streaming high resolution terrains into your scenes as the base for large world maps. This feature takes Unity Terrains to a whole new level where huge worlds will be updated in a smart behavior around the player using combination of multi-threading & coroutine functions without worrying about performance.

While TerraLand can load splatmaps in runtime, renders from World Machine, Geoglyph, World Creator, Houdini & etc. can be converted to streaming tiles easily.


Using TerraLand Terrain's processors custom heightmap data files from MOON and any other surfaces can be easily created and edited.

TerraLand operates on top of Unity's native terrain objects while all current mapping solutions create mesh objects. Benefits of using terrain objects are obvious.

The streaming system dynamically loads and generates terrains out of cached heightmap & imagery tiles in server in real-time.

Supported imagery types in the streaming system are satellite images, colormaps, normalmaps & splatmaps.


Here are some of the main features in TerraLand 3:

  • full source code included
  • complete suite to generate, edit, update, resample resolution, smooth, split, stitch, texture, convert to mesh & export terrains
  • data file processors to slice very high resolution heightmaps & imagery files into tiles suited for streaming
  • image processors to automatically remove shadows, create colormaps and generate splatmaps
  • no sign-up needed in external websites or sources
  • no tokens from mapping providers are required
  • unlimited server requests for heightmap & imagery
  • accurate centimeter area selection
  • highest resolution global coverage
  • features ESRI’s updating community driven data source
  • compatible with Unity’s terrain system and any other 3rd party assets
  • user-friendly & intuitive user interface
  • fastest multi-threading terrain downloads & generation
  • never leave unity even in complex projects
  • easy to learn with lots of video & documentation resources
  • active support through emails and forum posts
  • professional community involving in high-end projects
  • used in many enterprise and educational projects

3503476--279397--World.jpg

3503476--279396--Streaming1.jpg

3503476--279398--WorldMachine.jpg

3503476--279404--Moon.jpg

3503476--279403--Earth_Online.jpg

3 Likes

TUTORIALS


https://www.youtube.com/watch?v=yc-SX5_WNsw

https://www.youtube.com/watch?v=V5zfio-42ZM

https://www.youtube.com/watch?v=7pX-q2dpla8

More Info...

Any high resolution 1 meter heightmap Lidar data from own customized external sources can be used as streaming tiles in TerraLand.


Besides TerraLand's Cached Streaming, there is also Online Streaming feature in place. ESRI servers feed Elevation & Satellite Imagery into the Run-Time Engine and TerraLand converts data into 3D on the fly.

TerraLand is not only a real-world terrain generator but a complete suite for terrain enthusiasts which makes it useless to have any other assets in the Terrain Editing category and covers all your needs regarding base terrains in Unity.

TerraLand gives accurate coordinates data to users so you can do detailed geo-location & geo-referencing operations on created terrains in the scene.

TerraLand Tournament is a driving simulator in the desert of White Rim Trail area. All assets and full source code of this project is part of TerraLand.

https://www.youtube.com/watch?v=mHHJza5Sl88

2 Likes

@TerraUnity congratulation for the release. I have just updated to new version.

1 Like

@antoripa Thanks a lot for being with us. Hope it becomes useful in your projects :)

upgraded to V3 does the streaming feature allow for reset origin to prevent floating point errors?

1 Like

@John-G Thanks for the upgrade.

Yes, this feature is handled by a script called "FloatingOriginAdvanced" on the main camera as in static scenes like before. This becomes vital in Streaming environments when the player is constantly drifting form the origin and the world size may be endless/huge.

TerraLand 3 comes with 3 demo scenes to showcase Streaming features. There is a ReadMe file next to each scene file to give more information regarding the behavior.

In the World Machine demo, you will notice that the 2 parameters ("Area Size" & "Size Exaggeration") which define the total world size end up being 480,000 units in Unity which is beyond practical in engine.

3504450--279529--WorldSizeXY.JPG

"Area Size" is the heightmap size in kilometers and the "Size Exaggeration" multiplies with Area Size to rescale the world in Width (X) & Length (Z). As each 1 unit is considered to be 1 meter so we will have 480,000 units.

The following lines are from the ReadMe file in project:

As any distances above 100,000 from origin is considered huge for 3D engines with single-precision floating-point
calculations instead of double-precision, there is a script named "FloatingOriginAdvanced" on the main camera to handle this limitation. The distance from origin which will offset scene elements is defined by the "Distance" parameter. To get more info on this behavior refer to the following links:
* https://discussions.unity.com/t/611457 page-8#post-3391209*
* https://discussions.unity.com/t/611457 page-7#post-3253566*
* https://discussions.unity.com/t/611457 page-6#post-3081781*

3504450--279530--FloatingOriginAdvanced.JPG

So no worries for the floating point errors in streaming scenes.

5 Likes

I had used the previous version mainly as a downloader for terrain height/image files. For this purpose I found TerraLand to be exceptional... I was able to quickly and painlessly get the terrain data I was looking for, and I'd say it worked better for me then any other software package or method I had previously tried. So big Kudos for that!

In looking over this post though it is unclear to me what new features I would be getting if I decided to upgrade. Can you give a list of what is improved/new since version 2?

2 Likes

A few questions.

Does this cover the entire planet, or are there areas of the world without data such as the poles in some nasa data sets for example?

How is sea level handled? I ask because I'm making a boat game, and my current height map solution places a flat area in the terrain at sea level where any ocean would be. This causes me issues because that means my ocean surface/wave shader would be exactly at the same level as the terrain, and my boat sitting in the water collides with the terrain, so I've had to work around this by raising the ocean level by 30 meters as if there is runaway global warming.... not happy with this. Do terrains generated with your asset handle ocean areas any better, such as dropping ocean areas to a height that would technically be below sea level?

For satellite imagery, I see mention of a "land cover generator". Is this a feature that can be used to remove human structures in a fairly automated way, or would I have to manually edit the images to turn a city into a grassy valley? If not, does this include a feature for making fairly good looking textured terrains without human structures in locations where today you would find lots of roads and buildings?

I already have my game split up into a large number of zones, so I don't actually want to stream in my terrain as each zone has its own terrain set. Can I assume I can easily use this asset without the streaming feature getting in the way?

[quote=“chingwa”, post:8, topic: 702242]
I had used the previous version mainly as a downloader for terrain height/image files. For this purpose I found TerraLand to be exceptional… I was able to quickly and painlessly get the terrain data I was looking for, and I’d say it worked better for me then any other software package or method I had previously tried. So big Kudos for that!
[/quote]

We are so grateful of what you said and appreciate it, glad to have top developers satisfied.

[quote=“chingwa”, post:8, topic: 702242]
In looking over this post though it is unclear to me what new features I would be getting if I decided to upgrade. Can you give a list of what is improved/new since version 2?
[/quote]

Glad you brought this up, should’ve mentioned it earlier but here you go:

Some brief info was mentioned in the other thread [HERE]( https://discussions.unity.com/t/611457 page-9#post-3505694).

Also wanted to mention 4 main differences between ver. 2 & 3:

  • TerraLand 3 now includes full source codes & no more DLLs *
  • TerraLand 3 focuses on Cached Streaming of huge datasets for the first time in Unity
  • TerraLand 3 is not only for Real-World terrains but also any user-customized terrains whether created by 3rd party programs such as World Machine or other terrain generators in Unity
  • TerraLand 3 is a suite of various Terrain Editing Processors without needing any other assets in the cathegory

* This is probably the most significant feature in TerraLand 3 and this decision is based on faster and wider development for the solution. The features are growing and the need of source code for the community is so demanding. Users are no longer facing a black-box and it helps us all for better bug fixes and community contributions.

In .ver 2 we introduced Online Streaming of real-world terrains from ESRI servers and in 3 we pushed it further so that you can generate Cached Streaming Servers in TerraLand Downloader as a new section called the “Dynamic World” mode:

3506949--279829--DynamicWorld.JPG

You simply define number of total tiles in the server and each tile’s heightmap & satellite image resolution so a local cached database will be created which terrain tiles can be then streamed using the “Runtime Offline” script in runtime. So you won’t need internet connection anymore and streaming is faster and more organized/optimized.

3506949--279830--RuntimeOffline.JPG

Video Tutorial here:

https://www.youtube.com/watch?v=GmwMbIuFq5U

Also “TerraLand Terrain” was always there but with hidden features, so we made various demo scenes and video tutorials mentioned in the first 3 posts in this thread to show the users what can be achieved.

Following are new processors in TerraLand Terrain:

Heightmap Resizer: Upsamples/Downsamples heightmaps of the terrain(s) in the scene and smooth if needed.

Raise/Lower Terrain: Raises or Lowers terrain(s) heights in the scene(Vertical Exaggeration).

Image Slicer: Slices/Splits Image files with any resolution into a grid. Also can act as texture tiles in the streaming system.

Splatmap Alpha Generator: Generates Alpha channel for the texture if not available which is needed for Splatmaps.

Data Splitter & Converter: Splits Heightmap data files with any resolution into a grid and also converts them to the specified format. Generated heightmap tiles can be usable in the streaming system.

Stitch Data Tiles: Stitch & match heightmap data tiles’ neighboring pixels in a directory (e.g. streaming server folder) if there are varied heights in their top, left bottom or right row/column.

Export Elevation Data: Now you can save heightmap data of the terrain(s) in the scene into a grid while choosing its export format. Generated heightmap tiles can be used in the streaming system.

With this toolset in TerraLand with maximum capability to use any user-customized data and options to load splatmaps in runtime, TerraLand is no longer limited to real-world terrains and static/dynamic scenes can be created out of custom terrain generators whether inside Unity or outside (e.g. World Machine).

I’ll update the post if found missing parts later.

1 Like

[quote=“Joe-Censored”, post:9, topic: 702242]
A few questions.

Does this cover the entire planet, or are there areas of the world without data such as the poles in some nasa data sets for example?
[/quote]

Yes, both heightmap & imagery in TerraLand have full global coverage from ESRI servers despite other sources (e.g. NASA SRTM) which have limited coverage in poles (Limited from -60 to 60 in Latitude).

[quote=“Joe-Censored”, post:9, topic: 702242]
How is sea level handled? I ask because I’m making a boat game, and my current height map solution places a flat area in the terrain at sea level where any ocean would be. This causes me issues because that means my ocean surface/wave shader would be exactly at the same level as the terrain, and my boat sitting in the water collides with the terrain, so I’ve had to work around this by raising the ocean level by 30 meters as if there is runaway global warming… not happy with this. Do terrains generated with your asset handle ocean areas any better, such as dropping ocean areas to a height that would technically be below sea level?
[/quote]

Same case scenarios have been already discussed, read them through and ask again if the answer is not covered:

General information:
https://discussions.unity.com/t/611457/3
https://discussions.unity.com/t/611457/16
https://discussions.unity.com/t/611457 page-5#post-2910354

Solutions:
https://discussions.unity.com/t/611457 page-7#post-3230526
https://discussions.unity.com/t/611457 page-7#post-3235283
https://discussions.unity.com/t/611457 page-8#post-3322292

[quote=“Joe-Censored”, post:9, topic: 702242]
For satellite imagery, I see mention of a “land cover generator”. Is this a feature that can be used to remove human structures in a fairly automated way, or would I have to manually edit the images to turn a city into a grassy valley? If not, does this include a feature for making fairly good looking textured terrains without human structures in locations where today you would find lots of roads and buildings?
[/quote]

See a recent post to get started: https://discussions.unity.com/t/611457 page-9#post-3506898

What MapsMaker do in order to generate splatmaps, is color based where you insert an original image (e.g. satellite image) to be processed and then set color filters to generate RGBA layers of the splatmap from them.

If the Automatic Mode is selected, MapsMaker will automatically assign layers to the 4 most dominant colors in the image, if it is off, you can manually select which color ranges to be included in the splatmap, so this way you can filter out any features in the image. However, obviously this won’t be the ultimate solution in order to distinguish between features and filter them out but works in most cases without further editing.

In the following screenshot taken from the scene demo “TerraLand Terrain Processors” in TerraLand 3, we could quickly filter out different regions in the satellite image and generate splatmaps for terrain tiles. The 4 generated layers correspond to water, grass, soil & pavement (for urban areas). So we could use colors to filter urban areas which are buildings & similar stuff:

3507018--279838--MapsMakerSplatmaps.JPG

We also left the used filters preset (Capri, Italy.tlps) which can be directly loaded in MapsMaker to see what was the settings there.

[quote=“Joe-Censored”, post:9, topic: 702242]
I already have my game split up into a large number of zones, so I don’t actually want to stream in my terrain as each zone has its own terrain set. Can I assume I can easily use this asset without the streaming feature getting in the way?
[/quote]

TerraLand has nothing to do with your setup in the scene and it’s up to you to use the streaming features or not by enabling/disabling the “RuntimeOffline” script in the scene. We recommend checking the provided sample scenes and play with them as they are self-explanatory and quickly give you ideas of what is happening in the background.

Excellent, thanks for the quick response. This looks like a better solution than what I am currently using.

1 Like

[quote=“Joe-Censored”, post:12, topic: 702242]
Excellent, thanks for the quick response. This looks like a better solution than what I am currently using.
[/quote]

Also we reserved all rendering techniques and shader solutions for our upcoming product while TerraLand focuses on terrain’s base implementations.

Just created a discord channel for the TerraLand community here: https://discord.gg/uZKmAy9

Will it also be on sale for $25 on the asset store?

Edit: Nevermind, if you buy it on your store is there any way to get an asset store voucher later?

[quote=“MrIconic”, post:15, topic: 702242]
Will it also be on sale for $25 on the asset store?

Edit: Nevermind, if you buy it on your store is there any way to get an asset store voucher later?
[/quote]

We will book one for you if you insist but no difference between them except you are always a month late to the party in UAS.

1 Like

Hi,
I bought TerraLand about two weeks ago, and I am very satisfied with the results. I am happy to see that V3 is released already.
How can I register my bought form the asset store onto your Website, and how I am able to do the upgrade to V3?

@Funkeys glad you liked it so far.

Simply register on our website from here: http://terraunity.com/my-account/ and send us your username and AssetStore's payment Invoice No. to info(at)terraunity(dot)com so that we can approve and setup your account.

Since you are already a customer and recognized on our site, you will automatically receive the extra 30% discount when making the upgrade from here: TerraLand 3's product page

1 Like

The AssetStore version is now live here: https://www.assetstore.unity3d.com/en/#!/content/119097

Those who waited for the AssetStore version can get their hands on TerraLand 3 for only $25 for a limited time as an introductory price of 50% discount.

I see that this says it loads terrain real time in game. I currently use WorldStreamer along with WorldCreator and was wondering if there were any benefits to using this somehow as well?

I use WorldStreamer because I have a very large open world map and because it streams not only terrain (using a grid to determine what around the player needs to be loaded) but it can do it in layers for all assets in the scene (you can have large lower poly things load far away for for LOD and then as you get closer to an area you can start to have smaller or more detailed things take its place. I use lower poly mesh as terrain for long view distances because having that much Unity terrain loaded at once was bad for performance, so I only have Unity terrain loaded just around the player and then as he moves about it will unload the low poly mesh and load in the actual Unity terrain, and of course as he moves away from it, it unloads the terrain and loads the mesh.

I know that I definitely need to keep WorldStreamer because its ability to load the other assets aside from terrain, but is there any benefit you might know of as to why I might use TerraLand over WorldStreamer for the actual terrain streaming part of things? As I mentioned I use World Creator and its just a premade map cut into terrain tiles so I don't need to use any of the other outside api's or anything. I am definitely interested to see if this can help my game in any way.

Thanks,
-MH