Search Unity

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

Discussion in 'Assets and Asset Store' started by TerraUnity, May 20, 2018.

  1. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Hey @KiteLionGames Unity 2018.3 compatibility is coming soon, refer to the following posts to read about it:

    https://forum.unity.com/threads/rel...world-environments.532304/page-4#post-3909112

    https://forum.unity.com/threads/rel...world-environments.532304/page-5#post-4094278

    So check this thread for the new update.
     
    KiteLionGames likes this.
  2. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Whatever you need in this case is absolutely possible through TL's runtime streaming system. You can use TL's buit-in tools and processors to slice your high-res data files into streaming structure tile based server and assign your own custom material for streaming terrains through the "RuntimeOffline" script.
     
  3. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    158
    Any news on the update?
     
  4. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    That sounds complicated, tutorial?
     
  5. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Sorry that it took so long, but will be there in about a week.

    Did you ever read the first post of this thread or watched HERE?
     
  6. KiteLionGames

    KiteLionGames

    Joined:
    Dec 27, 2016
    Posts:
    4
  7. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    Yes, but it just show where you genetate and use satelite images... dosent show exact steps of what Im looking for.
     
  8. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Last edited: Mar 2, 2019
    HQN likes this.
  9. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    TerraUnity likes this.
  10. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
  11. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Let us know if you have issues in setting up custom shaders on streaming terrains! Because I'm not sure what requirements your custom shader need as current implementation is a general approach.
     
  12. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    Thank you! Before I buy assets I always read the manual to learn how its build and how to use, where can I find it?
     
  13. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    mattis89 likes this.
  14. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    336
    How does TerraLand cope with multiple terrain tiles? My current system uses 1km square tiles, each with their own asset-bundle.
     
  15. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Read here: https://forum.unity.com/threads/rel...world-environments.532304/page-6#post-4256392

    TL's streaming system does not care about the size and count of tiles as you can setup active tiles around the player plus many other options to be set based on your target platform.

    Regarding AssetBundles, do you mean that you want them to be streamed by this system?
     
  16. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    336

    I'm actually happy with my own asset-bundle and streaming system. All I was really wondering is if TL could build onto a grid of 1km tiles.
     
  17. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Nice, do you have a reference to your tool-set or pipeline making/streaming asset-bundles?

    You may know that TL's streaming system does not need any data imports in project to build prefabs or asset-bundles created in project, it potentially loads unlimited amount of data (terabytes of raw source data) in runtime and create terrains (later assets) from scratch in real-time which could take weeks for Unity to import them at first place even if system's memory was endless.

    But we are investigating on a hybrid system to also use Unity's asset-bundles to push current system further!
     
  18. katsuwo

    katsuwo

    Joined:
    Oct 23, 2014
    Posts:
    2
    Hi .
    Can this product be used in MIcrosoft Hololens (UWP) projects?
    First, I embed a static map in my project.
    I want to add a map that will be dynamically loaded as the next step to the project.
    I want to use it for the Holelens project, is it possible?
     
  19. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Yes, all possible with TL as far as the target platform supports built-in Unity terrain system.
     
  20. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    TerraLand 3.2 is available in your account on our website & AssetStore.

    Here is the change list:
    • Added Unity 2018.x & 2019.x compatibility (all tools are compatible from Unity 2017.2 and later but all sample scenes require 2018.3 to work properly)

    • Removed manual web/machine config setup as all async connections will be handled automatically now

    • Added automatic runtime assets placement feature on streaming terrains based on more than 20 user-defined parameters for 3 different asset types Ref

    • Added streaming assets placement sample scenes

    • Removed TerraLand Tournament scene (TL Tournament is now available only as a separate package)

    • Removed 3rd party and Standard Assets related files

    • Faster satellite image importing on demand using importer agents

    • Added "Combine Images" processor in TerraLand Terrain component Ref

    • Removed a bug where satellite images importing not called on some Macs Ref

    • Added a Mercator version of the LatLon2Unity.cs script for extremely accurate geo-location operations Ref

    • Updated geo-location scene with comparison methods

    • Implemented exact terrain positions where there was drifting issues on Z axis due to moving away from the Equator on Earth POI for both static & dynamic scenes Ref

    • Added "Scale Factor" option in TerraLand Downloader's "New Terrain Settings" section

    • Added particles offsetting feature in FloatingOriginAdvanced script

    • Updated project launcher to have minimal impact on project settings

    • Updated Satellite Images directory structure as there is no longer needed to have separate folders for each terrain and synchronized with the "Image Tiler" in TerraLand Terrain component

    • Implemented exact Y alignment of different layers for overlapping terrains

    • TerraLand Downloader now prints the highest and lowest elevation values of heightmaps in console when done generating terrains

    • Removed a bug where terrains' dimensions were not affected by "New Terrain Settings" parameters

    • Added Unity's built-in Draw Instanced option and GPU based per pixel normalmaps on generating terrains

    • Added Unity's built-in Grouping ID & Auto Connect options on generating terrains for neighboring tiles

    • Added option "Show Starting Location" in "RuntimeOffline" script to bring up the global map of the streaming server and select the starting point for the server to stream at level start

    • Added 2 layers of Global Terrains options in StreamingAssetsManager to automatically generate background terrains for the area at level start

    • And lots of minor bug fixes and improvements
     
    Last edited: Apr 6, 2019
    sjm-tech and Bartolomeus755 like this.
  21. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    In case you are wondering about the new runtime assets placement feature on streaming terrains

     
    Bartolomeus755 likes this.
  22. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Ver. 3.2 is now live on AssetStore.

    IMPORTANT: After package importing is completed, go to Player tab in project settings in Unity and change the Scripting Runtime Version to .NET 4.x and API Compatibility Level to .NET 4 to bypass all errors. Scripting Runtime

    Changelog
     
  23. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    Hello! I have to ask, have it been reported any issues with streaming involving Enviro?
     
  24. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Since the asset is compatible with Unity stock terrain system you are good to go, also TL has nothing to do with graphics and shaders.

    The only situation I can think of that the streaming system needs custom setup is because it handles everything dynamically and world origin gets offset every x units, so the asset must sync its generated assets position with the "FloatingOriginAdvanced.cs" if not synced automatically.
     
  25. mattis89

    mattis89

    Joined:
    Jan 10, 2017
    Posts:
    1,056
    Okay I see! Well Enviro is a lightning & weather asset so theres a prefab and 2 scripts on the camera and a skybox.. own it so you could try? also does the streaming work like in aaa games or is it additive scene based? (because I try to bypass resource limit at the same time with streaming, limit is 4gb/scene )
     
  26. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    No, don't have one to try it but as said if the weather system is positional and depends on scene origin then it has to be synced with the origin handler in the scene as the game world dimensions can be endless.

    The streaming system in TL is based on cache servers where you can put unlimited amount of terrain data to get streamed in runtime and it is not scene based. Take a look at the recent videos on our YouTube channel here: https://www.youtube.com/user/TerraUnity/videos to get started about the streaming and the 2 first posts in this thread.
     
  27. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Just to show you another use-case of our latest streaming assets placement in TL3... The app loads gpx trace files and tracks the same route from user's GPS device log. All surrounding terrains stream based on tracker position on demand using the offline streaming system in TerraLand from a country size cached server. In this demo, the GPS file logged the coordinates from a 1000 km journey.

     
    Bartolomeus755 likes this.
  28. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    FYI, All tools in TerraLand are still compatible from Unity 2017.2 and later without any issues but a few sample scenes in the package require 2018.3 to work properly; this is why we had to submit the package in Unity 2018.3.

    So you can definitely use TerraLand in both static and dynamic scenes in versions prior to 2018.3 and only the scenes with existing terrain objects in hierarchy won't work in previous versions due to new terrain API changes.
     
    Last edited: Apr 6, 2019
  29. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Bartolomeus755 likes this.
  30. Kvazimado

    Kvazimado

    Joined:
    Oct 27, 2018
    Posts:
    5
    Hey. I have some problems with this asset.


    When you start the cassette, gets out a huge number of errors. After changing the settings to Scripting Runtime Version to .NET 4.x and API Compatibility Level to .NET 4.6, errors disappear after you restart Unity. However, at the time of creating the landscape, namely the choice of size, begin to pour errors reaching 999+ problems. Unity hangs and only reboot saves. What to do?
     

    Attached Files:

  31. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    20
    I have same errors.
    Scripting Runtime Version is .NET 4.x and API Compatibility Level is .NET 4.x
     
  32. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    @Kvazimado @inkostyakov Thanks for reporting. Seems like you are a new TL user which Downloader's UI tries to load some parameters from default values instead of presets.

    Please find the script "TerrainGenerator.cs" in project and open it up in your IDE, then change line "128" from:

    Code (CSharp):
    1. public static string top, left, bottom, right = "";
    to:

    Code (CSharp):
    1. public static string top = "1";
    2. public static string left = "0";
    3. public static string bottom = "0";
    4. public static string right = "1";

    And let us know if it solves the issue!
     
  33. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    20
    Hi! Thanks for responce! Itried you fix, but nothing changed. Still have errors.
     
  34. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    379
    bought it today, but when i go to huez or grenoble in france i get:

    And i have not the green location quad to move to locations

    I cannot go to anywhere with bing, or google.
     

    Attached Files:

    Last edited: Apr 13, 2019
  35. Kvazimado

    Kvazimado

    Joined:
    Oct 27, 2018
    Posts:
    5
    @TerraUnity
    Hi again. The file was fixed and it solved the "yellow" errors. However, a serious error "red", and left. I recorded a video in which it will be seen that when the window moves with the map loading, sometimes the settings appear. However, as you stop moving it, immediately disappear. Errors only occur in Downloader. Log with errors apply
    https://yadi.sk/i/bsdYEMoN4e42pQ - video
     

    Attached Files:

  36. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Weird! Checked these places on my side and everything is working as it should. Seems like it is not specific to these locations so anywhere should have this issue since you do not pass proper coords for previewing.

    When you search for a location, then you have to press button "SET LOCATION" from the search results to select. Guess the given coords are not properly set and that's why maps are not showing and the green area selection is not there. P.S. "Update Area", "Show Area" & "Show Center" checkboxes in the Interactive Map section controls the UI elements for the 2D preview map.
     
  37. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    379
    I tried this all out:
    But the Longitude keeps moving all the time:
     
  38. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    379
    Ok when i input decimals i can go with google to locations (45 / 6) for example.
    But i didnt see a way for the high Resolution terrains, form your videos.
    Bing is not working, i cannot move to other locations then germany and the netherlands(World composer have the same issue at the moment)

    When i want highest or high resolution i get a IO error that the download size is to big.(Google)
    I am note rally satisfied with your software
    upload_2019-4-14_11-58-20.png

    upload_2019-4-14_12-2-26.png
     
    Last edited: Apr 14, 2019
  39. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    From the video I can tell that the returned Lat/Long from search results does not return proper values and they are out of bounds. Seems like your machine can not resolve decimal values or something is malfunctioning the Geo-Coder script and double decimal calculations in the code. Here are the screenshots from our side:

    Google:
    google.JPG

    Bing:
    bing.JPG
     
  40. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    379
    My Bing looks like that:
    upload_2019-4-14_12-15-27.png
     
  41. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    What do you mean by:

    And what do you mean at all?

    Map selection is for previewing purposes only:
     
  42. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    As already stated, seems like there is a local error on the machine you are in since the other asset has problems too. The map can not resolve the location preview because the coords are not correct.

    Test it with another machine and let us know if the problem persists.
     
  43. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    379
    I dont think i have an error with my machine, when the software exceeds a size limit.
    I stay on my worldcomposer, the handling is easier for me.
    May be your software is more polished for me in the future.
     
  44. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    As you wish but can you elaborate more on your sayings dude? Because we want to help but an increasing value in the UI and incorrect coordinates changed by a ghost on your side is out of my helping purposes!

    Ok, just to give you a hint on your side, it may be the reason: This & This ?!
     
  45. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    379
    I cannot change my regional settings. I need this for my work.
    But it should be possible to do it in code?
    Dont get me wrong, i know that the german are a "special" place for this issues, but i have no choice :)
     
  46. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Germans are cool actually ;) If you want to do it in code this & this may help. Look up for the script "GeoCoder.cs" first and try to change the formatting; if it solves it all then you are good to go but I it may be possible to have other places where proper formatting is needed!
     
  47. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    379
    when i zoom in Bing:
    upload_2019-4-14_13-50-15.png
     
  48. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    20

    I created script and put it on any object on scene

    Code (CSharp):
    1. public class SeparatorTest : MonoBehaviour
    2. {
    3.     // Start is called before the first frame update
    4.     void Start()
    5.     {
    6.         string CultureName = Thread.CurrentThread.CurrentCulture.Name;
    7.         CultureInfo ci = new CultureInfo(CultureName);
    8.         if (ci.NumberFormat.NumberDecimalSeparator != ".")
    9.         {
    10.             // Forcing use of decimal separator for numerical values
    11.             ci.NumberFormat.NumberDecimalSeparator = ".";
    12.             Thread.CurrentThread.CurrentCulture = ci;
    13.         }
    14.     }
    15. }
    Now look like Downloader works fine. So I think users which have Windows with NumberDecimalSeparator != "." will have some trouble. I'm using Russian localization. Maybe you can check it?
     
    TerraUnity likes this.
  49. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    729
    Thanks for the confirmation and follow up. Did it completely solve this issue on your side?

    @Kvazimado @Andreas12345 Now that we know the issue is coming from the regional & language settings formatting (ref1, ref2), did you try this solution?
     
  50. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    379
    This is not the problem here, i tried also my own bingKey, to avoid limits.
    Lets say that google dont have issues. Except "requested image exceeds a size limit"
    Bing overlays to me wrong locations.( i have no idea there error comes from, but looks like it isnt your software) :( But bing have the best height data so far? Any other Germans have problems with bing?

    Only thing what i have with google that the green quad layer is flickering.
     
    Razielwar likes this.