Search Unity

TerraWorld - Automatic Level Designer for Real-World Locations

Discussion in 'Assets and Asset Store' started by TerraUnity, Nov 27, 2019.

  1. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    809
    This looks really good. I had a couple questions:

    1. Is this able to generate at run-time? I would like to be able to generate procedurally.
    2. How do you handle spawning custom assets that are POI's (Points of Interest)? Let's say if I wanted to spawn some assets that were houses or towns can this be automated or do I need to do it by hand? If so, does it handle flattening and texture changes underneath the asset?
    3. Any plans for path and road generation (I am thinking dirt or gravel paths and roads.)

    Thanks!
     
  2. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Thanks, No, current version does not generate scenes at runtime and it is Editor only.

    All spawning and placement of the assets whether it's a house or a tree model are handled by Scatter nodes in the BIOMES tab based on various rules you define for that layer. About flattening or texture changes, it does not have this functionality but you can roll out your own logic for this since the generated terrain is Unity's built-in terrain using splatmaps for texturing and can be customized using the built-in API.

    TerraWorld does not have road and street generation yet. But you can still use built-in terrain tools to paint heights and textures on it or use any other 3rd party assets to do that for you along with syncing with TerraWorld layers in scene.
     
    StevenPicard likes this.
  3. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    809
    Thanks for the great reply!
     
  4. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
  5. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Last edited: Nov 22, 2020
    StevenPicard likes this.
  6. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    809
    TerraUnity likes this.
  7. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
  8. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Filter layers placement based on terrain textures tutorial:

     
  9. adamstepinski

    adamstepinski

    Joined:
    Aug 7, 2015
    Posts:
    32
    Thanks for this wonderful asset,

    How can you turn off VFX settings (Fog, scattering, etc) from code? I'm doing settings menu for my game and need to let players with low-spec PCs turn off the effects
     
  10. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Thanks, so glad to see you liked it so far :)

    All VFX and post processing effects can be turned off when the gameobject "Scene Settings" under TerraWorld in scene hierarchy is disabled. That's exactly what VFX On/Off buttons do when pressed. Also it may be possible that some post processing effects are still enabled on your main camera which you can disable them too.

    Making these on/off switched in runtime code is also too easy and for the reference, you can find the script "TerraWorld.cs" in project and search for specific sections to see how it controls scene elements.
     
    adamstepinski likes this.
  11. adamstepinski

    adamstepinski

    Joined:
    Aug 7, 2015
    Posts:
    32
    Is it possible to bake lights with GPU-instanced trees and rocks?

    Thank you for the previous answer, and for this one :)
     
    Last edited: Nov 30, 2020
  12. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    809
    I picked this up and I'm having fun playing around with it while learning. :) So far it gives great results! Definitely an awesome purchase!

    If there is ever a partnership with another developer I'd love to see you and the developer of CityGen3D collaborate.
     
  13. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Unity mentions that since ver. 2018.1 it supports light baking for GPU instances but never tried this myself since our scenes always use dynamic lighting everywhere, but that would be nice if you could setup a small scene and test for this and let me know if any steps needs to be done on our side!
     
    adamstepinski likes this.
  14. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Thank you so much for the kind words and great feedback :) You can also join our Discord server and discuss about anything there, waiting for you: https://discord.gg/QgPpNpE

    FYI, we have urban area generation including geo-referenced buildings and road system in our pipeline for TW but still not there and more things need to be done before jumping into that.

    Regarding the mentioned asset, I've also supported him by buying a license from his site during the Beta phase and glad he could finally make public release on store. So with that being said, having an official integration between TW and CityGen3D while we are working on our solution is a great idea and we are open to discuss on this subject.
     
    StevenPicard likes this.
  15. tcn5150

    tcn5150

    Joined:
    Dec 1, 2012
    Posts:
    18
    New user here, able to load the demo scene, but not to create a new one. Upon loading a template or fetching terrain data, I'm seeing this error, and nothing works from that point on. Has anyone else seen this error?

    System.NullReferenceException: Object reference not set to an instance of an object
    at TerraUnity.Unity.TImage.SaveObject (System.String path) [0x000c7] in X:\XXXX\TerraWorld\Assets\TerraWorld\Core\Common\Scripts\Sources\TImage.cs:125
    at TerraUnity.Unity.TImage.GetTexture (System.String assetname) [0x0000e] in X:\XXXX\TerraWorld\Assets\TerraWorld\Core\Common\Scripts\Sources\TImage.cs:149
    at TerraUnity.TMask.GetTexture (System.String fileName) [0x0000b] in X:\XXXX\TerraWorld\Assets\TerraWorld\Core\Common\Scripts\Core\TW\TMask.cs:620
    at TerraUnity.TTerrainGenerator.InitializeTerrain (TerraUnity.TTerrain TWTerrainData) [0x000c7] in X:\XXXX\TerraWorld\Assets\TerraWorld\Core\Common\Scripts\Sources\TTerrainGenerator.cs:421
    at TerraUnity.TTerrainGenerator.GenerateTerrain (TerraUnity.TTerrain t) [0x00019] in X:\XXXX\TerraWorld\Assets\TerraWorld\Core\Common\Scripts\Sources\TTerrainGenerator.cs:390
    at TerraUnity.TTerrainGenerator.ApplyOnTerrain (TerraUnity.TTerraWorld TW) [0x00038] in X:\XXXX\TerraWorld\Core\Common\Scripts\Sources\TTerrainGenerator.cs:378

    Using Unity 2020.3.0b12959, Windows 10.
     
  16. tcn5150

    tcn5150

    Joined:
    Dec 1, 2012
    Posts:
    18
    Does anyone know if the "Dynamic GPU Colliders" that Terra previewed in this video are available in this package?

     
  17. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Is it a permanent issue? Do you have any other errors in the console prior to this one? Are you using the latest TerraWorld version from the store?
     
  18. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    The "Dynamic GPU Colliders" feature was an experimental one and unfortunately still not practical due to Unity's outdated mesh API and dynamic mesh colliders which causes huge spikes when regenerating mesh colliders in runtime. While this is a great feature to reconstruct surfaces from GPU, we wish that Unity comes back with a multi-threaded collision updates through PhysX so that it becomes useful.
     
  19. MusicaRoca

    MusicaRoca

    Joined:
    Aug 11, 2019
    Posts:
    5
    Generates over 999+ errors for me. The created terrain looks very strange.
    Windows 2020 / 2019.4.16f1 .
    Same Error on my MAC Pro.

    2020-12-18.png
     
  20. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    @MusicaRoca These are all shader compilation issues. Is it a SRP template or Standard Rendering pipeline? TW currently only works in the Standard Rendering pipeline as stated in the first lines of the product description and SRP support is on the way.

    If you still have these issues in a Standard template, then make sure your graphics card drivers are up to date and you have imported the TW package in a fresh empty project with no errors prior to importing. Get back to us with the results.

    For better follow-up and online support you can also join our Discord server here: https://discord.gg/QgPpNpE
     
  21. samoBroceliande

    samoBroceliande

    Joined:
    Apr 24, 2020
    Posts:
    2
    hi, there nice asset but before ordering i have some questions :D
    you said in january that the urp version of TW was on is way do you have any date when you are going to release it ?
    is there is any trouble with urp ?
    I'm looking for an asset like yours for big terrain with '' infinite view'' i saw the video with the background image it slooks really nice.
    i've looked the videos and your documentation file.
    so as i understand if i want to make random trees with collider i can use the Terrain Tree Scatter ?
    my project is in unity 2020 with VR and URP...

    thank you for your answers
     
    Last edited: Dec 23, 2020
  22. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Hi, there is no trouble with URP and we are just migrating our foundation codes to support SRPs which take a bit of time but will be available soon. Join our Discord server to get notified about the updates: https://discord.gg/uZKmAy9

    Regarding vegetation models with colliders in scene, it has been already implemented as Dynamic Player Interactions in the upcoming version which will be available in a few days from now. Take a look at its initial stage in action:

     
    BryanO likes this.
  23. BryanO

    BryanO

    Joined:
    Jan 8, 2014
    Posts:
    184
    Is this update in the nightly builds?
     
  24. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    No, it will be part of the upcoming original release on store in a few days.
     
    BryanO likes this.
  25. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
  26. sgtkoolaid

    sgtkoolaid

    Joined:
    May 11, 2010
    Posts:
    883
    i have this issue. 12 errors in total.
    Assets\TerraWorld\Core\Common\Scripts\Core\TW\_Triangulator\Triangle\Properties\AssemblyInfo.cs(10,12): error CS0579: Duplicate 'AssemblyConfiguration' attribute.
    not sure what happened.
     

    Attached Files:

  27. aganm

    aganm

    Joined:
    Sep 25, 2019
    Posts:
    96
    I tried the newest version but my issue isn't solved.
    TerraWorld still doesn't work with Unity DOTS. (package com.unity.entities)
     
  28. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    This means you have 2 versions of Triangle.NET in project which causes class name collisions, RAM asset combined with TW is detected as the cause for previous reports.

    We have already ported all related codes under namespace "TerraUnity.TriangleNet" but seems like some of the scripts still missing this namespace in them, thanks for the report.

    So simply find the scripts with these errors and add the namespace to those files.

    We'll import another package including Triangle.NET such as RAM and update these scripts and include in the next update too.
     
  29. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Yes, we had a round of debugging for this case and can confirm that entities package causes class/function collisions with some of our scripts. The weird and hard part is that firstly it does not direct to any specific line to our codes so we have no idea which script(s) have conflicts and secondly, we are dealing with hundreds of scripts which we need to resolve each class dependency one by one to debug. We'll investigate further on this case and let you know here soon.
     
  30. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    First of all, please make sure that you are using the latest version from the store.

    Then simply find folder at:

    Assets\TerraWorld\Core\Common\Scripts\Core\TW_Triangulator\Triangle\Properties

    and delete this folder (including AssemblyInfo.cs) from project and all errors will be gone.

    This fix applies to any assets such as RAM which also use Triangle.NET for mesh manipulation and since we have already put all other codes under our namespace you won't receive any errors using these assets in combination with TerraWorld anymore.
     
  31. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
  32. MatheusPereiraBarros

    MatheusPereiraBarros

    Joined:
    Feb 21, 2015
    Posts:
    4
    Hello, guys.

    Firstly, my respects for you. Really great asset! I made a excellent purchase.

    I searched how to add rain effects in TerraWorld, but I not found any option about this.

    How to add rain in TerraWorld scenes?

    Best regards!
     
  33. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    @MatheusPereiraBarros Glad you liked it so far. Regarding rain effect, you can use any 3rd party assets or self-made solutions on top of TW created scenes.

    Current version does not have this functionality built-in but we have a solution called "Runtime FX Spawner" which takes any particle/effect prefabs to spawn based on user-defined conditions which is suited for effects like rain, snow, ground dust, explosions, fog, dust particles, bugs and etc. You can see it in action here:



    It will be released to public sometime soon. To get the latest news on our upcoming updates join our Discord here: https://discord.gg/QgPpNpE
     
  34. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Last edited: Jan 20, 2021
  35. cj31387

    cj31387

    Joined:
    May 23, 2012
    Posts:
    143
    Getting this null ref every time i try to generate a terrain. On Unity version 2019.4.14f1

    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. TerraUnity.Edittime.TerrainRenderingManager.SetMainTerrainMaterialDefault (UnityEngine.Terrain terrain) (at Assets/TerraWorld/Core/Common/Scripts/Sources/TerrainRenderingManager.cs:879)
    3. TerraUnity.Edittime.TTerrainGenerator.InitializeTerrain (TerraUnity.Edittime.TTerrain TWTerrainData, System.Int32 index) (at Assets/TerraWorld/Core/Common/Scripts/Sources/TTerrainGenerator.cs:429)
    4. TerraUnity.Edittime.TTerrainGenerator.GenerateTerrain (TerraUnity.Edittime.TTerrain t, System.Int32 index) (at Assets/TerraWorld/Core/Common/Scripts/Sources/TTerrainGenerator.cs:388)
    5. TerraUnity.Edittime.TTerrainGenerator.ApplyOnTerrain (TerraUnity.Edittime.TTerraWorld TW) (at Assets/TerraWorld/Core/Common/Scripts/Sources/TTerrainGenerator.cs:375)
    6. UnityEngine.Debug:LogException(Exception)
    7. TerraUnity.Edittime.TDebug:LogErrorToUnityUI(Exception) (at Assets/TerraWorld/Core/Common/Scripts/Sources/TDebug.cs:68)
    8. TerraUnity.Edittime.TTerrainGenerator:ApplyOnTerrain(TTerraWorld) (at Assets/TerraWorld/Core/Common/Scripts/Sources/TTerrainGenerator.cs:381)
    9. TerraUnity.Edittime.TTerraWorld:WhenAllDone() (at Assets/TerraWorld/Core/Common/Scripts/Sources/TTerraWorld.cs:317)
    10. TerraUnity.Edittime.TTerraWorld:EachTerrainDone(TTerrain) (at Assets/TerraWorld/Core/Common/Scripts/Sources/TTerraWorld.cs:310)
    11. TerraUnity.Edittime.TTerrain:WhenAllDone() (at Assets/TerraWorld/Core/Common/Scripts/Sources/TTerrain.cs:571)
    12. TerraUnity.Edittime.<RunAllModulesAsync>d__62:MoveNext() (at Assets/TerraWorld/Core/Common/Scripts/Sources/TTerrain.cs:441)
    13. UnityEngine.UnitySynchronizationContext:ExecuteTasks()
    14.  
     
  36. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    That simply means TerraFormer shaders and files are missing in your project, try reimporting the package and see if the error pops up again!

    Make Sure all needed shader and cginc files have been imported in your project at
    ...\Assets\TerraWorld\Graphics\Pro\Shaders\TerraFormer

    TW_TerraFormer-Resources.JPG
     
  37. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    StevenPicard likes this.
  38. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    2,090
    I have to say, I'm quite impressed. About 4 hours ago I read your message on one of my youtube channels:

    youtube.png

    4 Hours later including lunch interruption my new youtube video is live:



    Awesome asset! :)
     
    TerraUnity and StevenPicard like this.
  39. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    @Rowlan Great timing, great connection... right? :) Thanks for the awesome support and video, everyone is excited to see what's coming next...

    P.S. Sorry for the lunch interruption the other day
     
    Rowlan likes this.
  40. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Last edited: Feb 15, 2021
  41. MagicK47

    MagicK47

    Joined:
    Sep 5, 2017
    Posts:
    18
    Network is very poor, relatively large templates or files can not be under
     
  42. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Sorry what was the problem here?
     
  43. MagicK47

    MagicK47

    Joined:
    Sep 5, 2017
    Posts:
    18
    I am in China and may be too far away from your server. No matter downloading templates or downloading other resources, including creating terrain, they are all stuck in the progress bar and will not move. Only low models can be downloaded normally
     
  44. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Our servers are based in US and all customers can get packages without any issues, however, initially we used DropBox for faster downloads which led to Chinese users to fail in receiving packages due to being blocked by China, that's why we have changed servers pointing to our hosting servers only for Chinese users. It made file transfers slower but at the end of the day they should work, so unfortunately we can not do anything more for China's restrictions on internet sources.

    In addition, TW comes with version controlling and cache system so that you only need to download packages once for every computer.
     
    Last edited: Feb 23, 2021
  45. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
  46. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    What is TerraWorld in plain language:

     
  47. BlakeSchreurs

    BlakeSchreurs

    Joined:
    Aug 10, 2016
    Posts:
    48
    I picked this up in the sale, and have been very happy with it so far. First big question though: How do I change the y Height of the terrain and have all of the vegetation go with it? The terrain is far too high, and I need to move it closer to the origin, but when I do, I lose all the GPU / grass scatter.
     
  48. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Glad you liked it so far. It's a good question, simply select "TerraWorld" gameobject in scene and change its position to whatever you like in any directions, press button "EDIT WORLD" and finally press "FORCE UPDATE" button so all GPU/Grass layers will be updated and adopted to new world origin.

    Following image shows all the above steps:

    TerraWorld_MoveWorld.JPG


    If you only need to change the world position in Y axis to bring its height up or down, then you probably don't need to press FORCE UPDATE and if you move around the scene a little bit, placed layers will auto-update their positions but it's always a good idea to go ahead and press FORCE UPDATE to make sure all layers are in place.
     
  49. grionseengel

    grionseengel

    Joined:
    Sep 2, 2017
    Posts:
    11
    Hello, Unity has the following error. Can you help me?

     
  50. TerraUnity

    TerraUnity

    Joined:
    Aug 3, 2012
    Posts:
    1,027
    Hi, this error has nothing to do with TerraWorld and from the screenshot it's a Unity bug, recently there has been a lot of errors with Unity 2020.x editor here and there. So for better follow-up on your questions and ask for help you can join our Discord server here: https://discord.gg/9J6Jk7B
     
unityunity