Search Unity

  1. Are you interested in providing feedback directly to Unity teams? Sign up to become a member of Unity Pulse, our new product feedback and research community.
    Dismiss Notice

GAIA - AAA terrain generator, procedural texturing, planting and scene creation

Discussion in 'Assets and Asset Store' started by AdamGoodrich, May 21, 2015.

  1. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    The particles from the car use one of the unity default shaders, those are not updated to HDRP automatically by Gaia. You can update those to HDRP, see "Upgrading Materials" in the HDRP manual: https://docs.unity3d.com/Packages/c...definition@11.0/manual/Upgrading-To-HDRP.html

    Pegasus is still up to date, but does not offer any integrations with other PW packages, but they should work well together though.

    To a certain degree yes, because it has some sound capabilities built in that allow you to create ambient audio in different environments, but it is more difficult to make those interactive and react to what is happening in your scene than with Ambient Sounds.
     
    Mark_01 and S4G4N like this.
  2. RagingTruth16

    RagingTruth16

    Joined:
    Feb 25, 2020
    Posts:
    1
    need help not a programmer yet still learning C# and others
    but what is the shader i need help with? or missing?


    Shader warning in 'Hidden/EnviroBilateralBlur':
    use of potentially uninitialized variable (BilateralUpsample) at line 180 (on d3d11)
     
  3. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    You would need to identify the shader that creates this warning, if you double click on the warning message it should open the shader. This one looks like it is part of Enviro, you would need to contact Enviro support for that. This warning is most likely harmless though and you can ignore it.
     
  4. Artini

    Artini

    Joined:
    Jan 29, 2016
    Posts:
    83
    Thanks a lot for the answers.
    I still would like to max visuals in Gaia Pro 2021 (even at the cost of drop down FPS).
    Any suggestions about how to do it?
    Is it possible to switch to use Ray Tracing on Nvidia RTX 2080?
     
  5. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    304
    I'm a new user just sorting everything out so I have some basic questions.

    Can biomes apply to water? I would like arctic in the north and tropics in the south. Mixing different water settings with a mask makes sense but I don't know if that's possible. I also have Aquas if that helps. Should I instead be asking them about this?
     
  6. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    Some pointers:
    • Choose the "Powerful Desktop" setting for Target Platform when creating the terrain
    • Increase the "Global Spawn Density" setting on the biome controller before spawning the biome, this spawns more stuff in general
    • Use HDRP for better lighting & usage of the new Flora Grass System
    • Increase the LOD Bias in the project graphics settings
    • Increase the Global Detail Density on the Flora Global Manager (tread with care, you can set up quite high settings there)
    • Check the layer culling settings on the Gaia Player Component and increase them for higher drawing distances
    • If water reflections are important, check the water reflection settings on the Gaia Water game object and increase resolution & drawing distances
    In theory you could, but I think you would not gain much from it, raytracing is most impressive if you can see light bouncing off surfaces or reflections on metallic surfaces, neither of which you would have in the default Gaia output.
     
  7. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    They can in terms of what you would spawn under water or on the beach, but the biomes would currently not affect the water settings. What you could do is take a look at the water settings in the Gaia Water object, these are passed into the water shader / water material on the water surface.
    In theory it would be possible to interpolate between two sets of water settings according to the position of the player on the terrain, e.g. you make a water profile for arctic water and one for tropical, and as the player travels further south (assuming south = warm) you fade from the arctic settings to the tropical settings on the water shader by evaluating the player position.
     
  8. Artini

    Artini

    Joined:
    Jan 29, 2016
    Posts:
    83
    Thank you so much - great tips.
     
  9. vlastan

    vlastan

    Joined:
    Nov 15, 2015
    Posts:
    36
    Hi. Does Gaia Pro have an indirect instancing system to handle vegetation rendering like to GPUI or Vegetation studio pro ?
     
    newguy123 and PutridEx like this.
  10. mukki014

    mukki014

    Joined:
    Jul 30, 2017
    Posts:
    162
    @AdamGoodrich Hi sir since I installed Gaia pro my Android package become really huge in build (size of apk) I've also find out that it includes different resources folder so they get included in build. How do I overcome this problem? Should I rename it between build and after. Gaia 1 never does that. Or if rename the resources folder to '_resources' or 'resources_bak_ would Gaia continue to work in editor?
     
  11. SunnySunshine

    SunnySunshine

    Joined:
    May 18, 2009
    Posts:
    766
  12. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    After taking a look I can not find anything in there that sticks out.
    If you are importing Gaia and its crashing there is not a whole lot we can do as we have no control over the import process.

    I would recommend clearing your Unity Cache and trying again. If the issue persists then I would contact Unity Support to figure out why this is happening.
     
  13. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    This depends on what you need from Gaia.

    If you are simply using Gaia to create your world, then you could potentially open another project, and make the terrain and then export the terrain into your android project. This way there is only what you need. You will have to grab the terrain data, terrain layers, and textures that you used for your terrain and import them to the new project.

    There is also a solution for clearing out the things you don't need in Gaia as well which can be found here: https://proceduralworlds.freshdesk.com/a/solutions/articles/33000246883
     
    mukki014 likes this.
  14. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    Gaia Pro 2021 has the new flora system which is an accelerated grass system.
     
  15. bcv

    bcv

    Joined:
    Sep 1, 2012
    Posts:
    26
    I've been running some VR tests and noticed that the water system makes the framerate drop to 45fps under HDRP. If I disable water it shoots back up to 90fps. Is this ready for VR? Thanks
     
  16. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    304
    I have a feature request: add latitude/longitude and day of the year to the lighting system. I have another asset for doing this but the lighting isn't nearly as good as Gaia.
     
    BryanPW likes this.
  17. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221
    Gaia is VR ready yes, just remember that you are rendering max performance for both eyes. Usually, VR and HDRP do not mix due to performance. I would recommend if you want to keep HDRP and VR then remove the water reflections. That will save you a decent chunk of performance. Just note that you will need to cut some corners moving forward.
     
  18. torstenfock

    torstenfock

    Joined:
    Oct 31, 2018
    Posts:
    2
    Hi,
    we're using Gaia to render Water for a Oculus Quest project, but the underwater reflection renders only for one eye. Any workaround or fix for this issue? Do we need to set something in order to ensure correct rendering?
    We're using Unity 2020.1.4f and the URP.
    Thanks in advance for any hints.
     
  19. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    304
    I've created a continental terrain so my heightmap is only a couple meters high. The biome textures are not spawning properly because of this. Is there a global Y scale function for the biome spawning so I can fit the range into my terrain height bounds?

    EDIT: Tooling around with the biome spawning, I see this probably isn't what I need after all. Customizing each layer would be better, but it would be nice to have a quick and dirty "scale all" function to experiment with different landscapes.
     
    Last edited: May 30, 2021
  20. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    Can you please make a support ticket: https://proceduralworlds.freshdesk.com/support/home
     
  21. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221
    Each resource with the spawner can be adjusted to the sea level or world space height.
    You would need to adjust the heightmask for the spawner or each resource.
     
  22. Minimilian

    Minimilian

    Joined:
    Jan 19, 2021
    Posts:
    17
    Hello there, happy Gaia Pro 2021 user here, hopefully you can help me.
    I am facing an issue, namely this:

    ArgumentException: The scene is not loaded.
    UnityEngine.SceneManagement.Scene.GetRootGameObjects (System.Collections.Generic.List`1[T] rootGameObjects) (at <be28439f7b014fc38435d198c0640ff7>:0)
    UnityEngine.SceneManagement.Scene.GetRootGameObjects () (at <be28439f7b014fc38435d198c0640ff7>:0)
    Gaia.GaiaScenePlayer.Start () (at Assets/Procedural Worlds/Gaia/Scripts/Scene Managment/GaiaScenePlayer.cs:56)

    I have 3 scenes which are pretty much identical, except for a few details.
    For the sake of simplicity, I replicated a scene, including Player and all, and then changed the details in the replica scenes. I switch from scene to scene via Unity UI buttons, with the help of an external asset if that matters.

    I am perfectly happy with how everything works in Play mode, but I keep getting this error when I exit from it.

    I thought I messed up something, but even re-building the whole Gaia Runtime doesn't seem to solve, nor does re-importing.

    Any tip to unlock me from this situation?
    Thanks, regards.

    Max
     
  23. NotQuiteSmith

    NotQuiteSmith

    Joined:
    Oct 27, 2013
    Posts:
    88
    Hi,
    Microsplat seems to confuse Gaia's masking (after conversion, the "Sea Level" is wrong and Gaia UI thinks the terrain is only 1m from top to bottom) - has anyone seen/fixed this issue? I did ask on the Microsplat forum but no replies yet.

    upload_2021-6-18_16-59-47.png
     
  24. NotQuiteSmith

    NotQuiteSmith

    Joined:
    Oct 27, 2013
    Posts:
    88
    Hi,
    Is it OK to use the standard Unity terrain tools on a Gaia terrain? i.e. if I just want to smooth out a small piece, can I use "Paint Terrain" and "Smooth Height" in the Unity terrain component?

    If not, what's the best way to smooth something like that? It seems strange to scale/manipulate a stamper (to get rid of the square edges) just for a small operation.

    Thanks.
     
  25. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    Yes, you can use the Normal Unity Tools as the Gaia Terrain is still the standard Unity Terrain just more advanced.

    Secondly, if you are not using Gaia Water, then you can change Relative to Sea Level to World Space. Which might help in this case.
     
    NotQuiteSmith likes this.
  26. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    Can you please tell me what Unity version you are using?
     
  27. Minimilian

    Minimilian

    Joined:
    Jan 19, 2021
    Posts:
    17
    2020.3.12.f1, but at the time of writing I was using the .10 or .11 version. I can't remember for sure, but I have had this for long enough that I suspect it's with me since 2020.3.9

    I just waited until I started polishing the project a little, to ask for more info.
    Please note that this does not interfere with my work in any noticeable way. I can edit, play, and even build with no problem. Still, it's kinda annoying. Also, who knows, it might be a symptom of something, for what I know.
     
  28. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    I have a potential solution that may help figure out the issue: Can you please go to Freshdesk: https://proceduralworlds.freshdesk.com/support/home and create a ticket so I can send you a package?
     
    Mark_01 likes this.
  29. Minimilian

    Minimilian

    Joined:
    Jan 19, 2021
    Posts:
    17
  30. cowj

    cowj

    Joined:
    Mar 10, 2019
    Posts:
    7
    Terrain Addition / Deletion support in pro2021, dose it has any video to show what it means?
     
  31. tongchimlang

    tongchimlang

    Joined:
    Mar 12, 2014
    Posts:
    13
    Hi. I am using 4096*4096 sized terrain. I started navigation baking a while ago like 15 minute and exporting tiles is still same. Nothing changed.
    How to bake Navmesh large Terrain?
     

    Attached Files:

    • 11.jpg
      11.jpg
      File size:
      181.7 KB
      Views:
      22
    • 22.jpg
      22.jpg
      File size:
      154.9 KB
      Views:
      22
  32. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    Not currently, but we are making a ton of videos. I will try and cover this soon!

    In simple terms, with Gaia Pro 2021 you can ingest terrains in the Terrain Loader, to add terrain.

    In the new World Designer Gaia Pro 2021 and Gaia 2021: you can use the Gaia World Designer to add terrains to the world and (recenter) the terrains that are already made. The same goes for removing terrains as well. This video briefly talks about this and I do kinda show it off:
     
    Mark_01 likes this.
  33. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    Honestly, I have been using the "unofficial Unity NavMesh, and I say that because it's not in Unity it's on GitHub (made by Unity) which can be found here: https://github.com/Unity-Technologies/NavMeshComponents

    This one is sooooo much better!
     
    Mark_01 likes this.
  34. jmfortin29

    jmfortin29

    Joined:
    Aug 16, 2019
    Posts:
    1
    Hi,

    I am looking to use Gaia Terrain generation with the recent Unity Perception package to generate a dataset of random forests environments for deep learning. I would like the environment to be randomly regenerated every X frames, but I can't seem to get runtime stamping to work. I used the same functions as the stamp button in a MonoBehaviour script, giving the stamp a new heightmap, but terrain doesn't change in the scene at all during runtime.

    I see you talked about that issue back in 2019 and were planning on adding it in Gaia 2, which I am using now. Has anyone got this to work ?

    Here is some code I tried :

    Code (CSharp):
    1.         // Load the stamp
    2.         TextAsset stamp = Resources.Load<TextAsset>(path);
    3.         if (stamper.LoadRuntimeStamp(stamp) == true)
    4.         {
    5.             Debug.Log("Loaded stamp at " + path);
    6.             stamper.FlattenTerrain();
    7.             stamper.FitToTerrain();
    8.             stamper.m_settings.m_height = 6f;
    9.             stamper.m_distanceMask = AnimationCurve.Linear(0f, 1f, 1f, 0f);
    10.             stamper.m_settings.m_rotation = 0f;
    11.             stamper.m_updateTimeAllowed = 1 / 15f;
    12.             stamper.UpdateStamp();
    13.             stamper.Stamp();
    14.         }
    15.         else
    16.         {
    17.             Debug.Log("Failed to load stamp");
    18.         }
    19.  
    Which comes from RuntimeStamper script.

    I checked that the right Stamper object is retrieved from the scene. I also tried different asset types to load the new heightmap and can confirm it is correctly loaded. I feel like I am missing something obvious, like an unset flag somewhere, but I can't put my finger on it.

    Any help appreciated, thanks ! :)
     
  35. newguy123

    newguy123

    Joined:
    Aug 22, 2018
    Posts:
    682
    Is there any benefit with either Gaia-Pro-2021 and/or Gena-Pro, to also use the Asset "GPU Instancer", or does Procedural Worlds already take care of such things and I dont need GPU Instancer?
     
    Duffer123 likes this.
  36. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    I have seen customers use this in the past.
    How much will it help, that I am not entirely sure as I have never used that product.
     
  37. BryanPW

    BryanPW

    Joined:
    Apr 20, 2017
    Posts:
    221

    Gaia products is an editor-only product at this time, I would consider looking into GeNa Pro.
     
  38. Minimilian

    Minimilian

    Joined:
    Jan 19, 2021
    Posts:
    17
    I've used it extensively and it's good. Its usefulness depends on what you do in your scenes though.
    GPU Instancer is a good help whenever you have TONS of instances of something, rendering at the same time. (be it vegetation or not)

    Having so many grass mesh instances on a scene that you can't see the textures below?
    A couple of prefabs rendering several hundreds of times each?

    In those situations, GPU Instancer can be a game changer.
    Now, tbh, I have no idea if Flora would make it useless for vegetation, I still have to test that.

    But it IS good, and surely it CAN help.
     
    BryanPW and newguy123 like this.
  39. NotQuiteSmith

    NotQuiteSmith

    Joined:
    Oct 27, 2013
    Posts:
    88
    Using Gaia 2: I used a standard "tiny" terrain, imported a model (3m wide), set it's layer to PW_Object_Large and then spawned a biome. The default grass setup has a "Collision Mask" that should avoid game objects on that layer. There's a patch of grass missing, the size of the object, but it's offset about 4m! Can't figure out why! I added colliders, checked the origin of the mesh, tried using a parent gameobject set to that layer, etc.

    What should I check?
     
  40. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    Which Rendering pipeline are you using? In general the layer-based masks in Gaia work by rendering an overhead top-down view of the scene on the selected layers, so anything that is visible on that layer should create collision information.
    We had users report that additional rendering settings in HDRP / URP could influence this rendering of the collision info as well. We had one case in URP where another asset was including custom renderers in the renderer list in the URP Pipeline asset which would disturb the rendering for the collision info.

    What you could do to analyze this further is:

    Open Assets\Procedural Worlds\Gaia\Scripts\MaskSystem\BakedMaskCache.cs and comment out line 327 by adding two slashes at the beginning, like so:
    //OrthographicBake.RemoveOrthoCam();
    Save the file, and click the refresh button in the collision mask. This time around the camera that captures the collision image will be kept in the scene (Look for "Ortho Bake Cam" in the scene. You can select it now and see in the "Game" tab what collision info it would be capturing. I hope that this gives some information why the capture would be offset for some reason.
     
  41. NotQuiteSmith

    NotQuiteSmith

    Joined:
    Oct 27, 2013
    Posts:
    88
    Thank you - will check first thing tomorrow!
    URP - BTW!!
     
  42. NotQuiteSmith

    NotQuiteSmith

    Joined:
    Oct 27, 2013
    Posts:
    88
    This gave a great view of the objects marked with PW_Object_Large.

    There are 4 objects A1, A2, A3 and A4 (A1/2/3 are duplicates, positioned in different places - I was hoping they'd behave the same way). Weirdly, all the positions in the orthocam look correct and it updates dynamically as I move objects around, etc.) - however only A2 excludes grass objects (it's very slightly offset but hardly noticeable)! But I think that's misleading...

    I attached some images, the top-down view of the scene (the right side in each image is the orthocam).

    1. Position of objects in scene
    2. It looks like the orange mask is flipped along Z..! I have the "Gaia Pro Sample - Grass" object selected (to see the mask) and the pivot is shown. The mask holes don't match the objects (even though the orange texture matches the terrain)
    3. I moved A2 DOWN (-z) and when I refreshed the collision mask, the "hole" had moved UP. It's a coincidence that this was correctly positioned originally - it was already lying on the X axis (slightly off, hence the hole was slightly off too originally).

    I don't think I have any weird rotations - terrain is 0,0,0 rotation for example.

    Any ideas?
     

    Attached Files:

    Last edited: Aug 30, 2021
  43. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    I double checked, and it is a bit weird: We do flip the image that is recorded in the SRPs (URP / HDRP) on purpose since we discovered it was recorded flipped for a technical reason, but it seems like this is either flipped twice in your case, or the original flip was not necessary anymore. Could you please tell me your unity and URP package version?

    Could you also please try to open the file
    Assets\Procedural Worlds\Gaia\Scripts\Utils\OrthographicBake.cs
    and comment out the lines 144-149 like so:


    #if HDPipeline || UPPipeline
    //Material flipMat = new Material(Shader.Find("Hidden/Gaia/FlipY"));
    //flipMat.SetTexture("_InputTex", m_tmpRenderTexture);
    //RenderTexture buffer = RenderTexture.GetTemporary(m_tmpRenderTexture.descriptor);
    //Graphics.Blit(m_tmpRenderTexture, buffer, flipMat);
    //Graphics.Blit(buffer, m_tmpRenderTexture);
    //RenderTexture.ReleaseTemporary(buffer);
    #endif

    I would suspect that fixes it for you, since that will remove our built in flip. I just need to check against the versions you were using, it could very well be that there is something in the newer pipeline versions that makes our flipping workaround obsolete.
     
    NotQuiteSmith likes this.
  44. NotQuiteSmith

    NotQuiteSmith

    Joined:
    Oct 27, 2013
    Posts:
    88
    Thanks - I'll look at this ASAP
    Unity: 2020.3.9f1, URP 10.5.0
     
  45. kvelertak

    kvelertak

    Joined:
    Nov 11, 2020
    Posts:
    3
    Hi folks,

    I'm thinking to purchase the Gaia 2 pro to improve my game, but I have some questions if is possible to do with your system. I'm really interested in all optimizations for the multi-terrain, tree, grass and so on. My game is an open world where you have some villagers and they collect and reap resources (the typical stuff). Then I need these few features can be done:

    - chop trees and get stones. Not sure if with the Gaia spawned trees you can interact with them, for sure I can spawn the trees as game objects as usual, but then I supose that I'll get the current performance, and I want improve that.

    - delete the spawned grass. For example if I create a wheat field the grass bellow have to be removed

    - Now I use the inbuilt unity terrain layers to draw some things in terrain in runtime. Like paths or fields.

    - The user can modify the terrain mesh if he needs to flatten some terrain area to construct a building or something, if I understood well Gaia uses the same Unity terrain, then I supose that it can be done.

    are all that points possible with Gaia?

    Thanks in advance.
     
  46. NotQuiteSmith

    NotQuiteSmith

    Joined:
    Oct 27, 2013
    Posts:
    88
    This didn't work unfortunately. Looks the same as before. Is there anything else I should have done maybe?
     
  47. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    I forgot to tell you: You would need to click the small refresh button in the collision mask - the mask baking result is cached, so that would persist until the mask is refreshed either manually or when the parameters change, or during spawning.
     
  48. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    Gaia puts out Unity standard terrains, so anything you could do to an Unity standard terrain during runtime you could do to a Gaia terrain as well. Please note though that the Gaia tools itself are design-time only: All the modifications on grass or the terrain height would be things that you would need to code yourself or use other 3rd Party solutions for it. Our other spawning tool GeNa Pro has runtime capabilities for spawning and terrain modification.
     
  49. Kobix

    Kobix

    Joined:
    Jan 23, 2014
    Posts:
    86
    Hello, two short questions: is it possible to generate terrain runtime and save/load it?
     
  50. PWPeter

    PWPeter

    Joined:
    Dec 16, 2018
    Posts:
    533
    Unfortunately not, the Gaia tools are design-time only and make use of features of the Unity Editor that are not present in a standalone build. You would be able to load a terrain in runtime that you built during design time by putting it into a separate scene.
     
    Kobix likes this.
unityunity