Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    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. Juryiel

    Juryiel

    Joined:
    Feb 15, 2014
    Posts:
    21
    I'm trying to figure out how to make sure that only one of the possible terrain details spawn at each point. Is there a way to do that? I'm trying to densely spawn terrain details generally randomly (and using Perlin noise), but I don't want them to spawn on the same points. I know if there are only two details I can use the same noise and then invert it for one, but i have more than two

    I've tried the Virgin Terrain setting but that seems like it is only for objects.
     
    Last edited: Sep 1, 2017
  2. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    You probably have to customize the terrain texture settings for Gaia so that no two textures are able to spawn at the same location. EG.

    Texture 1 - Only spawn on level ground ( slope = 0 )
    Texture 2 - Only spawn on sloped ground ( slope < 0 or slope > 0 )
    Texture 3 - Only spawn on high ground that is slope ( height > 200 and slope < 0 or slope > 0)
    Texture 4 - Only spawn on low ground that is not sloped ( height < 100 and slope = 0)

    Of course you could be more selective but that's a simple way of making sure that no two textures are spawned at the same location.

    If you figure out a way that works for you, you might want to consider posting this query and your solution on Adam's new site in case someone else comes along later asking the same thing.
     
    AdamGoodrich likes this.
  3. Juryiel

    Juryiel

    Joined:
    Feb 15, 2014
    Posts:
    21
    First, I'm actually talking about the Terrain Detail (like the grass stuff) rather than the textures :)

    Second, I'm not sure using conditions will work as I both want the grasses to spawn independently of terrain conditions (so generally random) and also the terrain itself is basically flat.

    As a workaround I could base it on terrain textures - so like use gaia to randomly draw 3 instances of an identical textures at random, then condition the terrain details to spawn on different textures only. But the problem with that is that every 4 terrain textures require more resources to draw the terrain, and it's also quite a clunky solution :)
     
  4. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    As far as I am aware the grass and tree spawners use the virgin flag to ensure it won't spawn anywhere something else is. Whether it checks for something different or anything I don't know. If the former then the first tree or grass it chooses to spawn there will be the only one, if the latter then the last tree or grass to spawn there will be the one. If you haven't read through the tutorials you may want to, to see if one of them comes close to what you want and will help you get closer to what you need to do if possible.
     
  5. Juryiel

    Juryiel

    Joined:
    Feb 15, 2014
    Posts:
    21
    But as I said in my first post I am using the Virgin Terrain flag and they are spawning on top of each other. I suspect the Virgin Terrain flag looks for collisions and since it's grass it has no colliders - but I'm mostly making this part up. The part I do know is that I have the flag checked :)
     
  6. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    If it has grass, it is not virgin terrain. Virgin terrain is terrain that only has a texture applied, nothing else. I usually spawn grasses last. that way they do not interfere with anything that requires virgin terrain.
     
  7. Juryiel

    Juryiel

    Joined:
    Feb 15, 2014
    Posts:
    21
    Interesting - since I do have it checked, and grasses ARE spawning on top of each other, there must be some other setting I have off. I wonder what it could be.
     
  8. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    hmm, whats your spawn cycle ?
    Do you do each spawner once through then repeat as needed ?
    I've never really checked to see if any grass is in the same place as another grass, after all a flower can grow in the same place as grass in the real world and you can have multiple plants grow up from the same seed hole.
     
  9. Juryiel

    Juryiel

    Joined:
    Feb 15, 2014
    Posts:
    21
    There's just one spawner, with a set of active rules, each of which can spawn one of several grasses. Maybe if I separate them into different spawners for each grass? I'll play with it some more in a few days.
     
  10. StonedLover

    StonedLover

    Joined:
    Apr 16, 2014
    Posts:
    47
    Any Update on the 2.0 Update with Multiple Terrain support?
     
  11. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    That could work and then act on them in the order you need them to be. But I was also talking about the texture, tree and game object spawners. I was wondering if you were doing things in a certain way that it didn't work the way expected.
     
  12. Juryiel

    Juryiel

    Joined:
    Feb 15, 2014
    Posts:
    21
    There is just the one detail spawner for that scene, it doesn't need any textures or other objects as I made this terrain by hand a very long time ago and am just trying to add grass to it.
     
  13. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    That's correct. Probably best approach would be to make a spawner extension and test the grass at that location. If there is other grass at that location then fail the spawn.

    Sorry - further delayed - Gaia 2 is a part time thing until I get another significant project completed. If you feel that you have the skills and are being blocked by this then send me a support message and we can chat. Gaia 2 is well advanced, but does not yet have the polish it needs to be released to general public.
     
  14. DragonmoN

    DragonmoN

    Joined:
    Nov 27, 2016
    Posts:
    26
    Really nice and comprehensive Tutorial :-D
     
    AdamGoodrich likes this.
  15. reocwolf

    reocwolf

    Joined:
    Aug 1, 2013
    Posts:
    182
    Any tips for creating a big terrain (30k) with gaia?
     
  16. MrG

    MrG

    Joined:
    Oct 6, 2012
    Posts:
    363
    16 x 16 grid of 2K terrains, stitched and streamed?
     
    Last edited: Sep 4, 2017
  17. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Yep i would tend to make them smaller. In Gaia 2 even with multi tile you need a beast of a machine just to load it all into memory.
     
  18. reocwolf

    reocwolf

    Joined:
    Aug 1, 2013
    Posts:
    182
    yes i would tile them and stream. i can cut them with sectr. but i've been playing with gaia and i cant get the random terrain gen to work property.
     
  19. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    AdamGoodrich and BackwoodsGaming like this.
  20. RoyS

    RoyS

    Joined:
    Jan 12, 2009
    Posts:
    664
  21. Grinl

    Grinl

    Joined:
    Sep 4, 2017
    Posts:
    17
    I could seriously use some help with Gaia, I actually bought it and I have been trying to get this file and I am constantly getting an error in Gaia! it keeps saying "EndOfStreamException: Failed to read past end of stream"
    I am trying to build a Skyrim sized world. I wish there was a guide out there to help people like me along. :(

    I used the videos Adam showcased and googled the problem but I found very little to help me.
     

    Attached Files:

    Last edited: Sep 10, 2017
  22. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    If you look up at the top of the page there is an option for search this thread. Multitile is possible with Gaia 1, you just need to develop one terrain at a time. Disable all the terrains except the one you are currently spawning. If you search the thread for multitile, it should come up with several posts where Adam (and others) have explained the workaround. Adam may even have it on the tutorials section of the Procedural Worlds website.

    I think I own stitchscape but have never used it. I've always done the opposite and created a larger terrain and sliced it using... Crap.. Forgot the name of it. Been a while since I've used it.. Oh.. Sectr. I recently added World Streamer to my toolbox. Since I'm using CTS, I figured I'd give Bart's streaming app a try since he co-authored CTS with Adam. So not sure what workflow I'll follow now. I also have @NatureManufacture's Terrain Stitcher. Truth be told, I'll probably opt to try it over Stitchscape just to try to keep some of the common tools being by the same author.
     
    NatureManufacture likes this.
  23. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Sounds like you are trying to read in an invalid raw file. Support here: https://proceduralworlds.freshdesk.com/support/home
     
  24. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Been quite sick - and still am on day 15 of nasty flu so not firing on as many cylinders as usual.

    Also did this for the promo @Xrystal mentioned - environment was made with Gaia, textured with CTS, lighting was Enviro and water was AQUAS. Camera flythrough was done with Pegasus and offline render for the video was done with Helios.



    Game time and weather was controlled by my FREE World Manager API system, which was being driven by timeline.

    http://www.procedural-worlds.com/blog/wapi/

    As soon as I am better again I want to start on a series of more detailed tutorials to show others how to get the best out of Unity.
     
  25. Grinl

    Grinl

    Joined:
    Sep 4, 2017
    Posts:
    17
    Sorry to hear about the health issue. Hopefully it passes quickly!
    Anyhow, the only article I could find regarding my issue is this:
    https://proceduralworlds.freshdesk....88-creating-real-world-environments-with-gaia

    Which sends me to your youtube video here.
    http://www.procedural-worlds.com/gaia/tutorials/import-real-world-terrain/

    I followed exactly your steps to the letter except, even got my screens from Terrain.Party. I imported into Photoshop from png, saved as .RAW then imported into Gaia which gives me the error below. I attached the files I am using, perhaps you can point out where I went wrong?
    The only difference between what I do and what you do in your video is when you saved you chose "IBM PC" when saving as Raw. I don't have that option. I only have "Interleaved" and "Non-Interleaved". I have tried both and neither worked.
    Can you please help resolve this issue because I have no idea whats going on. Unity Terrain importer has no problems importing it in (but it looks really messed up).

     

    Attached Files:

  26. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Why are you using Unity Terrain Importer? Once you finish in Photoshop you need to use the Gaia tools to make it into a stamp. And are you sure you are saving as Photoshop RAW? I only get Interleaved and Non-Interleaved as options when I'm saving something as a PNG. Make sure you are not just changing the file extension in the name, but also changing the file format to Photoshop RAW in the Format drop down. I've never had it give me any option other than what is showed in the videos.

    The option for importing creating a stamp is located in the Utilities menu of Gaia Manager. The option you want is Show Scanner. Then drag the RAW file into the scanner UX in your inspector and setup the options.
     
  27. Grinl

    Grinl

    Joined:
    Sep 4, 2017
    Posts:
    17
    I know I have to use Gaia, I was simply making the point that in Gaia I CANT import it. In the default Unity importer I CAN. I included both of my files (Raw and PNG) in the previous post. Were you able to import those into your Gaia? I know how to import it, as I stated earlier I followed the video step by step.
    Now for the Photoshop thing I have no idea but here are 3 screenshots of my save process which again is exactly like the video but different somehow.
    https://i.imgur.com/N1kDg6c.png
    https://i.imgur.com/uhXCcy9.png
    https://i.imgur.com/bG6Fyqm.png

    I really don't know what is wrong here.
    I am using Photoshop CS6
     
    Last edited: Sep 10, 2017
  28. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    For all the reasons I have now made - many times over - I am not doing support here.

    Go here and log a request and I will try and help you to sort your issue out : https://proceduralworlds.freshdesk.com/support/home.
     
    Mark_01, Xrystal and BackwoodsGaming like this.
  29. camta005

    camta005

    Joined:
    Dec 16, 2016
    Posts:
    320
    I think it's excellent that you have a support system in place, but it's not unreasonable to expect that people will still discuss issues they are having on the official forum thread.


    I discovered the reason that the random terrain generator never selects valleys, villages or waterfalls. In GaiaSessionManager.cs where GetWeightedRandomFeatureType() is defined, the if statements that select valleys, villages and waterfalls are never true:

    Code (CSharp):
    1.             currStep = nextStep;
    2.             nextStep = currStep + (m_genChanceOfValleys / sumRanges);
    3.             if (randomPick >= currStep && randomPick < currStep)
    4.             {
    5.                 return GaiaConstants.FeatureType.Valleys;
    6.             }
    7.  
    8.             currStep = nextStep;
    9.             nextStep = currStep + (m_genChanceOfVillages / sumRanges);
    10.             if (randomPick >= currStep && randomPick < currStep)
    11.             {
    12.                 return GaiaConstants.FeatureType.Villages;
    13.             }
    14.  
    15.             currStep = nextStep;
    16.             nextStep = currStep + (m_genChanceOfWaterfalls / sumRanges);
    17.             if (randomPick >= currStep && randomPick < currStep)
    18.             {
    19.                 return GaiaConstants.FeatureType.Waterfalls;
    20.             }
    To fix the issue change each if statement from:
    Code (CSharp):
    1. if (randomPick >= currStep && randomPick < currStep)
    To:

    Code (CSharp):
    1. if (randomPick >= currStep && randomPick < nextStep)

    This fix is particularly useful for using the Backwoods Gaming Village Stamps with the random terrain generator.
     
    Mark_01, mtornio, Xrystal and 4 others like this.
  30. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    I am fine with this - in fact its awesome - however I also have the right to run support as I choose - and as my time is scarce and precious to me and my family - that's the way I am doing it from now on.

    Nice catch - I made that code via cut n paste ages ago - and I remember changing it at one point - must have introduced that bug. Will make the change and do a patch release shortly. Thank you for sharing.
     
    Mark_01 and camta005 like this.
  31. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Solution is here : https://proceduralworlds.freshdesk.com/support/solutions/articles/33000204317-raw-file-won-t-import
     
  32. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Great catch, I kept trying that and wondered why it didn't work, I just assumed I was understanding it wrong or unlucky that it wasn't working ..
     
    BackwoodsGaming, Mark_01 and camta005 like this.
  33. RoyS

    RoyS

    Joined:
    Jan 12, 2009
    Posts:
    664
    Me, too. I love waterfalls. Hopefully this will be working soon! Good catch on the scripting.
     
  34. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,213
    kerrmedia, Mark_01, Xrystal and 3 others like this.
  35. brunno159

    brunno159

    Joined:
    Oct 24, 2014
    Posts:
    23
  36. Dave3of5

    Dave3of5

    Joined:
    Jan 20, 2015
    Posts:
    32
    Hey,

    Don't have time to read through this whole thread but is there a tutorial about creating your own stamps?

    Thanks
     
  37. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Not specifically.Go into Utilities menu and create a Scanner.

    You can drag an drop 3d models (if they have colliders), terrains, raw files, greys scale images and world machine r16 files into it.

    There is a tutorial that shows off one use case here : http://www.procedural-worlds.com/gaia/tutorials/import-real-world-terrain/ - you can see the scanner at about 4:15.
     
    kerrmedia and Dave3of5 like this.
  38. CaptCanada

    CaptCanada

    Joined:
    Feb 3, 2013
    Posts:
    272
    Hi

    I have created a GAIA terrain with the Evening lighting preset and I seem to be having issues with the light "bleeding" through buildings I have place on the terrain.

    I am using Probuilder to create one building. Once the GI is computed, I have noticed that the directional light comes through the walls and illuminates the interior corners/wall. I have Shadows set to Two Sided for all of the walls in the building.

    This bleed through also happens for a user made building and its mesh components set to Two Sided shadows.

    I am not sure why this is happening, as it doesn't appear to happen when using Unity's default skybox.
     
  39. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    There's no such thing as a Gaia Terrain. Gaia is operating on a Unity Terrain and nothing more. Have you tried the same on a different project to validate ?
     
    AdamGoodrich likes this.
  40. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Gaia just drops in Standard Unity lighting with some Post FX slapped on to save you from having to do it yourself. It's not what Gaia is all about - and is just one of the many value add's I put into Gaia to make it easier to get up and running quickly.

    Sound like your models are broken in some way.
     
  41. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    I've been messing with Gaia texture spawner settings all weekend and still not getting the look I want, so I'm curious - does anyone have any presets for sand + grass?

    I am making an island. The sand is my base texture since I have a waterline, but inland I'm hoping for it to be mainly grass. I have mountains around the island so I have additional textures with slope checks that only appear on those, but for the life of me I can't get the main island to be mostly grass with sand near drop-offs into bodies of water.
     
  42. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    The default setup for Gaia essentially does this - and the best way to set this up is with the visualiser.
     
    BackwoodsGaming likes this.
  43. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,647
    Trying to figure out the Spawn Object component.
    I'm trying to spawn 200 prefabs randomly through out my terrain.
    Right now it only spawns in the area of the yellow circle.
    any clue why?
    I can't seem to post images anymore in this forum? idk why
    Heres a link showing a pick
    https://ibb.co/ewidYk


    if I change location Increment to 100
    Set Max instances to 1000

    It starts spawning how I want but it only spawns 90 of them

    Looks like it always spawns left to right. which isn't what I want.
     
    Last edited: Sep 17, 2017
  44. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    So you have an 8km terrain... (based on spawner range in supplied screen shot), and comment that you are incrementing 100 meters at a time - which leaves you with 8192 / 100 * 8192 / 100 - which is an 80 x 80 grid - which works out to about 6400 possible instances that can be spawned.... and you have limited it to 1000.

    The spawner simply iterates through the terrain based on the location rule you selected - and the reason it stops where it does is that you limited the instance count.

    You can hover over the settings in the spawner for tool tips on what the different settings do - or take a look at http://www.procedural-worlds.com/gaia/?section=tutorials

    As a general point - I now have a ticketed support system - and you are better off trying to catch me there - as I will always answer anyone who sends a message via the support system:

    https://proceduralworlds.freshdesk.com/support/home
     
    BackwoodsGaming likes this.
  45. reocwolf

    reocwolf

    Joined:
    Aug 1, 2013
    Posts:
    182
    any idea why the random generator would be doing exactly the same terai over and over no matter how i change the setting? im doing an8192 terrain
     
  46. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    That's odd. The random terrain generator essentially creates a session I believe. Why don't you try deleting the session file and recreating one if you want a random terrain? But again hasn't happened to me.
     
  47. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Hard to say as you have provided no actual context. Please describe in detail what you are doing and send message via https://proceduralworlds.freshdesk.com/support/home
     
    BackwoodsGaming likes this.
  48. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Am honored to have Jon O'Neal, Lead Environmental Artist from Crowfall talking about his experience Crowdfunding Crowfall, and with the Procedural Worlds toolset. In the environment section in the video below I was amazed by how deeply Gaia, GeNa, CTS and Pegasus were used to bring the scene to life.



    And if you have not voted for CTS yet, please wander over to the Unity Awards web site below and vote for us in the "Best Tool" section - was a total blast to even be nominated :)

    https://awards.unity.com/2017
     
    Last edited: Sep 20, 2017
    S4G4N, Mark_01, Olander and 5 others like this.
  49. Grinl

    Grinl

    Joined:
    Sep 4, 2017
    Posts:
    17
    Hi Adam,

    Do you have a recommended asset/resource list for realistic environments?
    I personally found one developer by the name of Manufactura K4 who create very high quality assets for various climates (Deserts, Tropical Forests, Humid and Snow) but their support for their products is very poor.
    Which means some of these climates are not compatible with Unity 5.
    Do you have any suggestions for an alternative solution that can provide all those varying tree, bush, grass types?
    I have been searching high and low and each developer has their own style, quality and standard. It is difficult to find assets that all seem to "fit" together.

    Thanks!
     
    S4G4N and PaulGK like this.
  50. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    I do have some assets I use a lot but am always on the lookout for more:
    • Terrain Textures
      • @NatureManufacture makes some amazing textures all ready all set up for CTS and Unity (we have one set with CTS and there are more pack coming from him)
      • Poliigon.com has great textures
      • GameTextures.com has great textures
    • Grasses - @turboscalpeur grasses are very high quality
    • SpeedTree - Always solid for trees and shrubs
    • Rocks - Motuproprio has lovely rocks, as does Manufactura K4
    Love to hear suggestions from the community :)