Search Unity

  1. Unity 2018.3 is now released.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. We've updated our Terms of Service. Please read our blog post from Unity CTO and Co-Founder Joachim Ante here
    Dismiss Notice
  4. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

[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:
    612
    @Print3d Feel free to ask questions and share your progress on anywhere, yeah I agree that Discord style apps get flooded time to time and people lose track of subjects.

    Currently it is absolutely possible to have a huge area (260km2 as yours) split into tiles in a cached server and stream them in runtime. At level start all active tiles around player are accessible to populate assets on them and also after each row/column update, list of updating tiles are there to remove old assets on them and update it with corresponding assets for placement.

    I recommend not to use satellite images at all in the server. WHY? Because having satellite images in server means you have to download gigabytes of imagery data to be put in server and in runtime TL's streaming system needs to load each tile's image pixels from scratch and apply it to its terrain data for rendering. And in the end, no matter how much high-res the images are, they will never be suitable for close-ups and they soon become blurry/pixelated. Unless you are looking for simple GIS mapping applications which gets boring soon and graphical aspects are not that important in the end.

    As in "RuntimeOffline" script (which handles streaming in runtime), you have the option to define a custom terrain material for streaming terrains, you can use a shader which generates colors and does runtime splatting such as the one we showed in this video:



    In this video, no Satellite Images are used but only heightmaps and the colors on terrain surface is procedurally generated using a custom terrain shader which does blending between colors based on surface angle as a simple setup.

    For a more advanced texturing and splatting distribution on surface, you can go the other way which is supported in TL's streaming system which is splatting streaming terrains. Using this feature, you can only have heightmaps in place and texturing is done using pre-processed splatmaps (e.g. produced in World Machine) instead of satellite images, so detail textures can be tiled on surface just as we have painted them by a brush. Watch this video tutorial which explains how to do the same for your own:



    The splatting streaming terrains shown above is similar to having sat images in server but this time splatmaps instead which requires pre-processing and generating these maps and has the same runtime performance overhead as having satellite images.

    So the best option here is to only have heightmaps to generate heights (considering average of 10 meters per pixel for the original resolution) and let the texturing on the GPU and shaders to procedurally generate colors/splats based on slope, height, aspect, normals... This way, you save a lot of room for other performant elements in the scene while having better rendering on surface.

    I've seen a lot of these shading implementation before, @ForceVFX has done some here & here I'm not sure if there is procedural implementations involved or not but maybe you could ask him to help in this.

    Also for generating and placing geo-referenced elements such as buildings and roads, we have been doing it for years now but never released our solutions as a public package, you can see our recent WIP implementations here: https://forum.unity.com/threads/ter...eal-world-gis-data.377858/page-9#post-3497378

    The good news is we have plans to have this system included in our upcoming product after its initial release to generate geo-referenced cities and urban areas with all elements from GIS servers plus our own procedural algorithms for assets creation and placement in the scene. But that's not going to happen soon though.

    First, let's stick to accessing tiles in the runtime and try to populate assets on them, right? ;)
     
    Print3d likes this.
  2. Print3d

    Print3d

    Joined:
    Oct 22, 2017
    Posts:
    35
    Ok i got the first part and that's straightforward... What i'm missing is how i can manually place even a simple cube created with ProBuilder on the map at a specific place and get it to be generated on runtime with the terrain itself.
    I mean, the terrain is only showing in play mode... I know it gets generated, but how can i access it to add assets and the likes? I need to see the satellite imagery because i want it to be at that exact spot... Then, once i placed it i could delete the satellite data, no problem with that!
    To make it even clearer, i'd like to be able to edit the terrain like in the static world mode for the dynamic one: is that even possible? Thank you :)
     
  3. ForceVFX

    ForceVFX

    Joined:
    Jan 21, 2011
    Posts:
    517





    My next demo..220 Kms..
    p-
     
  4. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    612
    It is absolutely possible and I will prepare a scene demo for this as the demand is high.

    What do you exactly want to do with satellite images?
     
    Print3d likes this.
  5. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    612
    What filters do you use for splatmap generation? (slope, height, aspect, normals!). We are planning to improve the LandCover/Splatmap generator in MapsMaker of TerraLand and your input will definitely help in this. This way you don't need external programs such as WM to process your heightmaps. Plus, we already have Erosion & Terrace filters in place which output pretty nice results, not on a par with WM though.

    These implementations are under heavy development for our upcoming product:

    UncannyValley_1.jpg
    UncannyValley_2.jpg
    UncannyValley_3.jpg
    UncannyValley_7.jpg
    UncannyValley_16.jpg
     
    Bartolomeus755 likes this.
  6. ForceVFX

    ForceVFX

    Joined:
    Jan 21, 2011
    Posts:
    517
    show me the terrain!....naked, bare bones..just textures..it the only way to see anything. I see a little bit of splat textures, but a whole lot of rocks, tress, plants..


    new color map fromTL3 down loader, created from original colors and 5 splat channel map, that was created.

    This is the lowest quality, for my sat image tool, I want to achieve, now I can, thanks toTL3!!

    (I keep asking myself, why do I spend so much time on this terrain texture nonsense, when your going to cover it up with grass.trees & rocks, anyway...)...hmmm..art?

    I am still working, everyday, all day, on this terrain tool, I have a simple goal, take a real world location, and have full control on all aspects of the scene. I want to add, subtract stuff, add seasons, use it as a terrain template, it is hard to match the abstraction, of.....reality.

    Most valuable lesson: Start all terrains, with what shader you will be using..and work backwards.

    I promise, when my little 'World Machine OCD' episode is over, I will do what I can to make your next version STELLAR! (after the holidays)....Describing what filters I use, why and how.

    side note, I've upgraded my tool, it now generates, both 4 splat & 8 splat map channels, and all screen caps before..garbage, 'cause...my splat channels were overlapping, the erosion was wrong, etc.


    Quick Question: Can I get the entire image set, from the downloader..in one raw file? I am getting border seams, that are not there in World Composer, from the exact location, provider.

    p-
     
    Last edited: Dec 27, 2018
    TerraUnity likes this.
  7. Print3d

    Print3d

    Joined:
    Oct 22, 2017
    Posts:
    35
    I just want to use those as a reference to model my environment exactly as it is in real life. Then i could overwrite those with different textures and so on. But for roads, buildings, paths and cliffs i need it first as a reference
     
    Last edited: Dec 27, 2018
  8. ForceVFX

    ForceVFX

    Joined:
    Jan 21, 2011
    Posts:
    517
    THANK YOU!!...."overwrite those with different textures"....gave me a whole new idea, with color maps and splat textures..

    .
     
    Last edited: Dec 26, 2018
    Print3d likes this.
  9. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    612
    @Print3d & @ForceVFX Thank you, just working on a new scene demo to cover all your needs and get you started.

    Did not completely understand what you mean here? But regarding data provider in TerraLand already answered your question here: https://forum.unity.com/threads/rel...world-environments.532304/page-4#post-3873139

    TL's data source for obtaining heightmap/imagery is ESRI only. Would you please elaborate more on the border seams you are mentioning, maybe pictures or videos!
     
    Last edited: Dec 26, 2018
    Print3d likes this.
  10. Print3d

    Print3d

    Joined:
    Oct 22, 2017
    Posts:
    35
    Not sure what i did there but no problem mate :) your projects are shaping up nicely!
     
  11. davedev

    davedev

    Joined:
    Jan 12, 2009
    Posts:
    61
    I am having a height map issue with a large terrain when rendering to a resolution of High. The same terrain creates heights when rendered as Medium resolution, but shows no heights when rendered as hight and also displays a weird, wall-like artifact when created at High resolution.

    high-med.jpg
    Do you know how I can fix this?

    I’ve attached the presets for the Downloader.

    What would be the best settings for a static, large, 1000 km x 1000 km, satellite and height mapped terrain viewed from higher 500m+ altitudes?
     

    Attached Files:

  12. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    612
    @davedev First of all a 1000x1000 km area is so large that the result with a static scene won't have enough details in most cases and the Dynamic World mode in TL is recommended where you have more controls on each tile heightmap/imagery resolution and also the total number of tiles in the runtime scene.

    Unless you are looking for a static scene and does not care about the final resolutions for a large area mostly suited for flight sims and high altitude fly overs.

    Regarding the heightmap artifact, I have checked out the preset files and the same happens here too; so after further investigation and testing on it, seems like the servers does not like the area size with that resolution and can not render the area into a heightmap. So that's the ESRI's server limitation. 600km instead of 1000km works though.
     
  13. Skribble

    Skribble

    Joined:
    Oct 29, 2012
    Posts:
    15
    Hello there,

    I bought TerraLand from Unity Asset Store and i've created an account in your website, also i sent my receipt invoice.

    I've been playing around and trying to follow tutorials and so, looking great so far. I see a lot of potential in this asset and totally worth it.

    One question i have is.. im using the "Offline Streaming" demo included in the project and im loading an area of 20kms x 20kms with 8x8 tiles, it works ok but when i load the scene, i dont see the assets being unloaded / loaded.

    how this is handled ? there's a view size limit for determine the distances for the assets to load / unload ?

    Also, i would like to add more content to the map ( houses, rocks, trees.. etc.. ) there's any tutorial where i can see how edit the map in the editor and save those assets for loading them / unloading them as happens with the terrain?


    To give you a better overview.. im working on a mmo game ( what a surprise :D ) and the map side is working great, but i need to add more content like characters, enemies and buildings..


    Best Regards
     
  14. ghtx1138

    ghtx1138

    Joined:
    Dec 11, 2017
    Posts:
    62
    Hello

    I have a couple of pre-purchase questions. Will TL3 work with 2018.3? Does TL3 work with HDRP?

    Thanks

    <edit> Their website is down? Are you still around @TerraUnity?
    <edit edit> Still active on Discord. New release imminent.
     
    Last edited: Jan 12, 2019 at 3:40 AM
  15. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    612
    @Skribble Thanks for the kind words, I will upload a video which does what you asked regarding accessing streaming terrain tiles and populate own assets on them. This feature will be included in the next update release happening in a few days. Keep an eye here for the video showcase.
     
  16. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    612
    Yes, a new release is coming in a few days with official Unity 2018.3.x compatibility.

    Yes, TerraLand has no conflicts with HDRP as it does not include any custom graphics assets and shaders, so it is already HDRP/LWRP compatible. we use it extensively in an in-house HDRP project.

    Thanks fro the edits, the website is up now and the new update release is on the way as already mentioned.
     
  17. ghtx1138

    ghtx1138

    Joined:
    Dec 11, 2017
    Posts:
    62
    Hey @TerraUnity I have another question. Can I use TerraLand for a flight sim, viewing terrain from a great height.

    I'm particularly interested in views of terrain that show distances over 10,000m without Camera Far Plane Clipping.

    The picture below is from Google Earth, 13,000m up looking over the English Channel. Can I do this with TerraLand?



    There is another (apparently dead) product on the Asset Store which has a picture of an aeroplane, some mountains and some very distant terrain in the background. That is the image I am particularly hoping to make. All of my experiments with meshes show that the Camera Far Clipping Plane cuts in around 10,000m but like the image above the view from 13,000m high means you can see well over 13,000m in the distance.

    I hope this is clear. Please let me know if I can add more to the question.

    Thanks
     
  18. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    612
    @ghtx1138 You can absolutely create huge areas using TerraLand, have you seen this video?



    As you already know, having these large scenes is not possible with static terrains in the editor, so a runtime solution is needed, that's why we made TerraLand's Offline Streaming system which streams tiles in the runtime from a cached server on your local/online hard drive location.

    In the video above the whole area is 160x160 km and as we set it up to be 1 unit = 1 meter so the background terrain covers a 160,000 x 160,000 units area in the scene. The high-res tiles stream around the player on demand.

    The floating point errors are also handled by shifting the origin after a certain distance using a camera script explained here: https://forum.unity.com/threads/rel...-open-world-environments.532304/#post-3504450

    And last but not least, a new update is going to be released in a few days focused on streaming features, which will automatically create 2 layers of background mountains to cover hundreds of kilometers automatically at level start and populate your own assets on streaming terrains based on user specified rules. I'll upload a showcase video when the demo scenes are ready.
     
    blacksun666 and Bartolomeus755 like this.
  19. ghtx1138

    ghtx1138

    Joined:
    Dec 11, 2017
    Posts:
    62
    @TerraUnity thanks for replying. I apologise for asking the question again - can I go high up in the air and see a large terrain? Like the google Earth picture I posted above.

    I understand the streaming tiles and floating origin concepts. But every demo I have seen is around the top of the mountain height or lower (not just TerraLand - everyone seems to have this "problem"). I am interested in 10km+ heights. My experiments appear to show that 10,000m is the limit of the Camera Far Clipping Plane. And I was wondering if Terraland has solved that problem?

    Thanks and my apologies again for asking the same question again.

    Cheers
     
  20. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    612
    @ghtx1138 no problem in asking more questions ;) I recommend watching the video again and read what is said.

    How come did you find that 10k units is the maximum far clipping plane of the camera? The background mountain in the video is 160,000 units and when level starts you are at the center of this region, the camera can see through the edge of this terrain so its far clipping plane is set to be more than 80,000 units.

    It doesn't matter if you are on the ground or 10k high above, you can see the terrains fading out into the global fog at far viewing distances, and obviously you can alter the density of the fog to increase/reduce see-able area.

    FYI, in HDRP there is a great feature called Camera Relative Rendering to translate all rendering aspects into the camera position instead of the world origin which gives much higher precision rendering in large worlds, but you still have to deal with physics origin shifting... however in Unity 2018.3 you can also shift physics origin in settings: https://docs.unity3d.com/Manual/class-PhysicsManager.html and in code: https://docs.unity3d.com/ScriptReference/Physics.RebuildBroadphaseRegions.html

    P.S. 1 unit = 1 meter: https://forum.unity.com/threads/wil...new-quality-in-rendering.512495/#post-3357172
     
  21. ghtx1138

    ghtx1138

    Joined:
    Dec 11, 2017
    Posts:
    62
    @TerraUnity Yes you are right - I was very wrong about a 10k unit Far Clipping Plane. Thanks

    Also thanks for letting me know about physics floating origin.

    I look forward to the update.

    Cheers
     
  22. ghtx1138

    ghtx1138

    Joined:
    Dec 11, 2017
    Posts:
    62
    @TerraUnity I have purchased the asset - have asked a question on Discord about converting materials to HDRP.

    I'm not sure Discord or the forum are adequate support tools (I don't know what else to suggest). Great ideas from earlier years are spread over the TL2 & TL3 Unity forum pages. Ideas disappear and get lost on Discord.

    It seems to me there are 3 classes of posts (maybe more) - pre-sale questions, support questions (probably mostly FAQ - eg how many times have you been asked about ESRI? :)), bugs that require preset files and other files to be transferred to you for deeper analysis. And of course marketing posts about future versions coming soon. In addition we have other TL users sharing their work and knowledge with other users. I've read all TL3 posts and am about to go back into TL2 posts - and I am writing stuff down and will probably re-read it all once I know what I am looking for.

    I like this product, it works very well and simply (after 24 hours) - but I get the feeling there is a lot going on under the hood - tools appear to be available in many different panels - and your doco is not that comprehensive sorry to say. Maybe for coders it is enough. But for me there are many concepts I must understand.

    Anyways enough of my ranting. I have a support question.

    I cannot get Terrain To Mesh to work. I have selected a terrain but am getting this error. Thanks for your suggestions

    PS Your new website server is terribly slow. See here for Google page insights

    Cheers

    TerrainToMesh.png