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. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,756
    it's downloading fine here
     
    turboscalpeur likes this.
  2. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    When I clicked the link from Firefox it just brought up a blank about window. So, I right clicked and selected download link as. This is what gave me the 92kb file. So, I tried in Chrome and the link actually goes to a page where you have to perform some captcha before downloading. So, it seems to work fine for Chrome.
     
    turboscalpeur likes this.
  3. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277
    for me it workds
    609 mb
     
    turboscalpeur likes this.
  4. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    302
    Yep, sorry i forgot to precise it; i uploaded it from Chrome and its about 609 MOs.

    I hope you guyz, trying it will enjoy it :)
     
  5. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Grab-Vol5CoastalArea006-x147y98z-25r264.jpg

    Grab-Vol5CoastalArea006-x-158y59z-478r116.jpg

    Above images made using stamps from Coastal Areas Stamps Pack which is now available on my web store. Also just submitted to asset store for approval. :) All of what you see in the above shots comes with Gaia except for the Suimono water and Tenkoku sky system, both made available by Tanuki Digital
     
  6. creat327

    creat327

    Joined:
    Mar 19, 2009
    Posts:
    1,756
    The coastal Areas... not sure exactly what it is. I mean, couldn't you just place any hill stamp and get the same result? :?
    also, did you add some coastal features? like a dock for instance, that would be helpful
     
  7. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    These are stamps, not art packs. Docks would be part of art packs. :)

    The coastal area pack is a set of 10 stamps of complete terrains which contain coastlines, bays, inlets, promontories, and a couple of shoreline cliff type areas as requested by other customers. Taking some time, you could probably stamp and shape something similar with other stamps. But these are already made. :)
     
  8. Black-Spirit

    Black-Spirit

    Joined:
    Sep 14, 2013
    Posts:
    67
    Nothing too much in this scene yet. Just testing settings, and trying to find the sweet spot for optimizations(which aint going to well :p)

    Gaia, Tenkoku, Speedtrees and Unity post FX.

    shot1.jpg
     
    chingwa, TeagansDad, Paulohmm and 6 others like this.
  9. jimmikaelkael

    jimmikaelkael

    Joined:
    Apr 27, 2015
    Posts:
    791
  10. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,213
  11. Daniel-Talis

    Daniel-Talis

    Joined:
    Dec 10, 2011
    Posts:
    425
    Last edited: Apr 18, 2016
  12. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Was able to drum up enough brain power to get through putting together lesson 2 of the using Gaia with Sectr tutorial today. Lesson 2 covers stamping the base terrain and laying stamps of islands. Lesson 3 will cover slicing up the world with Sectr and setting things up for Sectr to stream the scenes for each tile. If all goes well, that will be next Sunday and I will finish off week by week until we get through the series. :)

    Enjoy!

    http://assets.backwoodsgaming.com/tutorials/32k-world-creation-using-gaia-sectr/
     
  13. Phesant33

    Phesant33

    Joined:
    Nov 13, 2015
    Posts:
    34
    Hi guys, plz forgive the ignorance if this is already easy/possible to do. I have created some fairly specific rock/mountain type hero models and wanted to use the tree and details spawner on it? Is this currently possible? Is there some way to merge it with the terrain surface as far as Gaia is concerned (not sure how converting it to a height map would go as it is very detailed and has over hangs - which I'm guessing would not be great for height map type stamping), and has already been nicely optimised re topology etc. I know there is a vegetation painter that was released free to use with the blacksmith assets but thought I would just check incase before I go down that path. (I am guessing that this would also be really useful for ruins, both modern urban or ancient e.g. being able to have things growing out of big man made objects that have been taken over by nature etc etc). If not currently possible, is there any chance of a feature request here :) ?
     
  14. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    773
    Since Gaia only works on standard Unity terrains, it's not able to spawn onto mesh objects. If the mesh can be converted to a height map, it can be used to create a terrain, but this won't work if you have overhangs. The best I can suggest is to try to convert your original model to a simple displaced plane, with the overhangs as separate mesh pieces that can be added on top of it. The displaced mesh can then be converted to a terrain, which Gaia can spawn onto, but the overhangs will require a different solution if you want vegetation on them. I'm not sure how difficult it will be to go from the model you have to what I've suggested, so if this isn't possible, you'll need to use something like the Vegetation Painter you suggested, or Advanced Foliage Shader to add vegetation to your mesh. :(
     
  15. Phesant33

    Phesant33

    Joined:
    Nov 13, 2015
    Posts:
    34
    Thanks for the info, pretty much what I thought, though you also gave some interesting suggestions I hadn't considered. Not sure on the plans one as it sounds like a lot of work. I think I'll have to go with the painter or the foliage shader you mentioned, never heard of it - will look it up, thanks!
     
  16. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    773
    #tip From the description of your existing mesh, it sounded like it might be. But knowing what the limitations are ahead of time can help you plan future terrains that will work. Here's one I use in an island scene:

    Island-Terrain-Mesh-Mix.jpg

    I created the original terrain with Gaia, and then exported it as a mesh (Gaia has a tool to help with this). I then used special stamps I made to carve under areas that would later be tunnels and caves. I used a 3D modeling app to cut sections from the exported terrain that would go over these areas, and added the actual tunnel and cave openings. I also created things like the rock bridge, and overhanging rock tower. Then I imported all of these mesh sections back into Unity to place over the terrain.

    As you can see, they are mostly all rock anyway, so no need to plant on them, but there are a couple of exceptions. The rock tower has a section of terrain sticking up in the middle to provide vegetation on top. I couldn't do that with the mountain, since it's hollowed out inside, so I added a second terrain on top. Of course, this is all easier if you plan it that way from the start. Modifying a non-height mapped mesh to allow conversion to terrain sounds a lot tougher.;)
     
    Last edited: Apr 29, 2016
  17. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    Don't know if it's applicable but on the Unity wiki @Eric5h5 posted a script for converting meshes to height maps. I have a copy on my system but couldn't find it a the moment. I tested it by drawing an odd shaped environment made in blender and imported and it worked great.
     
    Phesant33 likes this.
  18. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    #tip Gaia can convert meshes to stamps in the scanner - which you can then apply to your terrains.

    Not specifically - but you could do this instead - which is a bit of a trick - but would work.

    Convert your mesh to a stamp using the scanner. Stamp that into the terrain where you want it to go - and then use Gaia to place grass and trees and other objects.

    Finally place your original mesh slightly above the terrain in the location you selected. The grass and trees will poke through the mesh - and then you get the best of both worlds.
     
    Last edited: Apr 29, 2016
    BackwoodsGaming likes this.
  19. ghiboz

    ghiboz

    Joined:
    Sep 7, 2012
    Posts:
    465
    hi all!
    I've a question: it's possible create a terrain with gaia composed by 4 terrains as a grid?
     
  20. Phesant33

    Phesant33

    Joined:
    Nov 13, 2015
    Posts:
    34
    Ah, didn't think of that, will give that a go too.
     
  21. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Gaia currently allows you to only work on one terrain at a time - so it would be clunky to work with - but doable. The issue would be getting the terrain edge heights to match up nicely.
     
  22. ghiboz

    ghiboz

    Joined:
    Sep 7, 2012
    Posts:
    465
    thanks @AdamGoodrich and it's possible change the size of the terrain or not?
     
  23. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    You can generate any size you like within unity constraints. There is not a way to reside afterwards without respawning and restamping.
     
  24. neff11

    neff11

    Joined:
    Sep 7, 2013
    Posts:
    35
    adam can u list the assets of your pics on page 108?
     
  25. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    90% of what he is using are the sampler assets that come with Gaia. It looks like he may also be using one of the Speedtree desktop packs for some extra trees, but other than that, not sure if he added more grasses.

    A couple of the pics he mentions using Tenkoku but another post later he says he is just using directional light. I think all of those were when he was playing the the open source volumetric light which he had linked to.

    Might be helpful if you used the Reply on the specific post you are asking about since he has several on that page. Or maybe exactly which assets you are asking about if there is a certain piece or effect that you are looking to reproduce.
     
    AdamGoodrich likes this.
  26. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    Nice. Looking forward to finishing my game and have time to learn how to use all of the assets I have :)
     
    BackwoodsGaming likes this.
  27. neff11

    neff11

    Joined:
    Sep 7, 2013
    Posts:
    35
    but isnt better marmoset/ amplify? (than tenkkoku)
     
  28. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    To be honest, no clue. But from looking at them, they are totally different things. Tenkoku is a complete day night system with weather and star maps and some effects. If anything, I would think you would use the Marmoset Skyshop stuff with Tenkoku or one of the other day/night assets. And I believe amplify is just camera effects.. Again, something you would use alongside Tenkoku. Assets I would compare to Tenkoku would be more along the lines of Unistorm, Environment Gator, and Time of Day. All of which you could use with Skyshop and Amplify. Again, that is my assumption from looking at the asset pages but never having used either Marmoset Skybox or any of the Amplify products.
     
    chingwa likes this.
  29. DuckyDev

    DuckyDev

    Joined:
    Apr 18, 2016
    Posts:
    7
    Hey all, so reading through this I'm seeing that true runtime terrain generation, texture placing, plus object spawning would be a performance-death, but what about once at scene load? I'm trying to find something that allows me to create a 'new world' just once before the game starts, even if that means the player has to wait for it to load for 60 seconds initially. Would this behavior be one suited for Gaia?
     
  30. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    773
    Considering that the session manager has an option to create, texture, and populate terrains at the touch of a button, using a collection of random stamps, I'm thinking it would be pretty easy. :)
     
  31. DuckyDev

    DuckyDev

    Joined:
    Apr 18, 2016
    Posts:
    7
    Cool. I've read a little in this thread about the session manager (but didn't see it in any of the videos I've watched yet), just seems sometimes that functions available in editor are either explicitly editor-only, or obfuscated enough to make it feel that way. As long as I can call whatever function said button runs from within a script, that'd be perfect.
     
  32. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    #resource Gaia sampler assets, HDRI Skybox (can't remember which one), Speedtree Desktop Tree Pack, Volumetric Lights (open source)

    Some people are doing this now. The hooks are there, but not documented as it is not the nice or even fast experience I think it should be. If you want to dive in, an are prepared to read documented code, then pm me to join my Gaia slack channel.

    I should probably do a tutorial on the session manager - its incredibly powerful.
     
    Last edited: Apr 29, 2016
    wolfen231 and BackwoodsGaming like this.
  33. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    #tip Hey everyone - just found this cool video on how to use AQUAS with Gaia. It's a great example of powerful the extension system is - and AQUAS is both pretty and FAST!

     
    Last edited: Apr 29, 2016
  34. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Please? hehe
     
  35. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,789
    As @Shawn67 mentioned, all of these assets have very different purposes. I suppose the name Marmoset "skyshop" could be a bit confusing, but it isn't a sky system in the sense that Tenkoku is. Marmoset just allows to integrate HDR Skybox textures into your scene for more realistic static image-based lighting and reflections... to be honest Unity 5 have duplicated/integrated many of the benefits of SkyShop, and I'm not sure it's as necessary an asset any longer. (they did have their glory days though!)

    Tenkoku on the other hand is a Dynamic sky system that renders sun/moon/stars/clouds/weather based on real earth coordinates and calculations. You can control the passing of time and the sky updates automatically.

    Amplify is a super-texturing method that has nothing to do with skies.
     
  36. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    In addition to their super texture solution they also have a lovely bloom, colour, occlusion, motion and lut packages. I have always felt I am buying quality stuff when I purchase their assets.
     
    chingwa, S4G4N and TeagansDad like this.
  37. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Must make a note to watch this later when I get home from work - having just got Aquas the other day :)
     
    S4G4N likes this.
  38. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Hi,

    I don't know if this has been mentioned before, but I'm using the Random Terrain Generator and when adding Stamps using "Add Stamps," it doesn't appear to be respecting the "Chance" settings. For instance, I have Mesa Chance and Island Chance set to 0, yet these stamps keep getting added to the Operations list.

    Thanks!
     
  39. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Hmmm.... Seems to be working for me... Are you using latest 1.5.3 version ?

    As a work around before you play back the session, you can disable or delete the offending stamps.

    I do that every now and again any way when I have a nice randomly generated terrain sometimes and when a random stamp ruins it near the end.

    Don't forget you can also manually add stamps to the terrain at any time to further customise what is generated.

    Have a bunch of ideas on how to improve this whole process but that needs to wait until I have the time to do it :)
     
  40. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    I do have 1.5.3. I'm also manually deleting the stamps, but unfortunately it is also not adding certain stamps even though their "Chance" is set to 1.

    Here are my settings from the Session Manager. You can see the third stamp is a Mesa stamp, even though my Mesa Chance is set to 0. Also, I have Waterfall Chance set to 1 but no waterfall stamp is being added.


    GaiaSettings.png

    Regards,
    Kyle Gillen
     
  41. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Hey Kyle. Not sure on the Mesa stamp but as far as it not adding stamps even though their chance is set to one, Setting the chance to 1 is only enabling that type of stamp as an option. There is a chance that stamp type will be stamped. It doesn't guarantee they will all be used. I believe Adam is probably using some type of randomizer routine to cycle through the list based on those options with higher chance. The mesa showing up is odd though. :(
     
  42. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    That makes sense. Unfortunately, I just tested with Valley chance set at 1 and every other chance set to 0, and I got 20 different stamps, but not one of them a valley, so I think there is something not right here. It just seems like it's not using the chance settings at all in my case.

    I'll try deleting the package and re-downloading/re-importing it.

    Edit: Okay, I deleted the package from my project and re-imported it. Same issue :(.
     
    Last edited: Apr 19, 2016
  43. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Yep something is odd here - I have found that it generally works a charm. Will take a look and see if i have maybe introduced a bug.
     
    BackwoodsGaming likes this.
  44. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,181
    Okay, so I'm debugging
    I ended up debugging the code myself and found the error. I've PMed you the fix so as not to post sensitive code here. Problem solved!
     
    AdamGoodrich and BackwoodsGaming like this.
  45. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Nice catch!!

    I have made the fix to the code base and it will be in the next release :)

    For anyone else experiencing this issue - it was generally working, but the code issue @gilley033 found was causing issues with a couple of the stamp types.

    To fix replace GetWeightedRandomFeatureType() with the following code in GaiaSessionManager.cs.

    Code (CSharp):
    1.         GaiaConstants.FeatureType GetWeightedRandomFeatureType()
    2.         {
    3.             //Choose a random number
    4.             float randomPick = UnityEngine.Random.Range(0f, 1f);
    5.  
    6.             //Work out the random number ranges
    7.             float sumRanges = m_genChanceOfHills + m_genChanceOfIslands + m_genChanceOfLakes + m_genChanceOfMesas + m_genChanceOfMountains +
    8.                 m_genChanceOfPlains + m_genChanceOfRivers + m_genChanceOfValleys  + m_genChanceOfVillages + m_genChanceOfWaterfalls;
    9.  
    10.             //Stop divide by zero
    11.             if (sumRanges == 0f)
    12.             {
    13.                 sumRanges = 1f;
    14.             }
    15.  
    16.             //Set our way through it - crude but effective
    17.             float currStep = 0f;
    18.             float nextStep = 0f;
    19.  
    20.             nextStep = currStep + (m_genChanceOfHills / sumRanges);
    21.             if (randomPick >= currStep && randomPick < nextStep)
    22.             {
    23.                 return GaiaConstants.FeatureType.Hills;
    24.             }
    25.  
    26.             currStep = nextStep;
    27.             nextStep = currStep + (m_genChanceOfIslands / sumRanges);
    28.             if (randomPick >= currStep && randomPick < nextStep)
    29.             {
    30.                 return GaiaConstants.FeatureType.Islands;
    31.             }
    32.  
    33.             currStep = nextStep;
    34.             nextStep = currStep + (m_genChanceOfLakes / sumRanges);
    35.             if (randomPick >= currStep && randomPick < nextStep)
    36.             {
    37.                 return GaiaConstants.FeatureType.Lakes;
    38.             }
    39.  
    40.             currStep = nextStep;
    41.             nextStep = currStep + (m_genChanceOfMesas / sumRanges);
    42.             if (randomPick >= currStep && randomPick < nextStep)
    43.             {
    44.                 return GaiaConstants.FeatureType.Mesas;
    45.             }
    46.  
    47.             currStep = nextStep;
    48.             nextStep = currStep + (m_genChanceOfMountains / sumRanges);
    49.             if (randomPick >= currStep && randomPick < nextStep)
    50.             {
    51.                 return GaiaConstants.FeatureType.Mountains;
    52.             }
    53.  
    54.             currStep = nextStep;
    55.             nextStep = currStep + (m_genChanceOfPlains / sumRanges);
    56.             if (randomPick >= currStep && randomPick < nextStep)
    57.             {
    58.                 return GaiaConstants.FeatureType.Plains;
    59.             }
    60.  
    61.             currStep = nextStep;
    62.             nextStep = currStep + (m_genChanceOfRivers / sumRanges);
    63.             if (randomPick >= currStep && randomPick < nextStep)
    64.             {
    65.                 return GaiaConstants.FeatureType.Rivers;
    66.             }
    67.  
    68.             currStep = nextStep;
    69.             nextStep = currStep + (m_genChanceOfValleys / sumRanges);
    70.             if (randomPick >= currStep && randomPick < nextStep)
    71.             {
    72.                 return GaiaConstants.FeatureType.Valleys;
    73.             }
    74.  
    75.             currStep = nextStep;
    76.             nextStep = currStep + (m_genChanceOfVillages / sumRanges);
    77.             if (randomPick >= currStep && randomPick < nextStep)
    78.             {
    79.                 return GaiaConstants.FeatureType.Villages;
    80.             }
    81.  
    82.             currStep = nextStep;
    83.             nextStep = currStep + (m_genChanceOfWaterfalls / sumRanges);
    84.             if (randomPick >= currStep && randomPick < nextStep)
    85.             {
    86.                 return GaiaConstants.FeatureType.Waterfalls;
    87.             }
    88.  
    89.             //We should never get to here - and we did its because they fed us BS
    90.             return (GaiaConstants.FeatureType)UnityEngine.Random.Range(2, 7);
    91.         }
    92.  
     
  46. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Hi Adam,

    This asset looks great. I was wondering if it is possible to have something else instead of mountains or water surrounding the terrain. I was thinking of walls or fences from the 3dforge exteriors kit.

    Creating my walls with the terrain.

    Is this something that is possible?
     
    Arganth and S4G4N like this.
  47. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,020
    Not been able to work on my game today yet and felt needed a breather so had a bit of a play with Gaia.

    I have been experimenting with unity lighting in general and noticed it can be off when working in the editor. I noticed the light clarity was subdued on both my monitors.

    This is not a gaia problem but I noticed that by baking the lighting fully I got a better representation of the scene.

    Has anyone else noticed this? If so I think baking the scene lighting is essential before doing any serious changes to lights etc.
     
  48. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    It depends on what lighting you are using.. If you are just using basic Unity lighting, then yes. Without building your lightmaps in the Lighting window, you will notice a lot of light issues with some of the models in the scene. I noticed this with the shadowed sides of any models being completely black when using basic Unity lighting.

    However, if you use an asset that does your day/night system.. Most times these assets do this for you and baking lightmaps through the lighting window can actually screw things up. I had that issue with Time of Day and it took me forever to figure out why things were all screwed up. Deleted the lightmap files and everything was perfect. With Time of Day, Environment Gator, and Tenkoku, I've never had to manually bake anything. They just seem to work. :)
     
  49. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    You should be able to do something like that if you own the exteriors kit. It might take some work, but I'm thinking you could probably use @smada luap's Simple Fence Builder asset to accomplish it. I think there were some count limitations I saw mentioned in his thread but he showed where to make the changes to the code in order to increase them.
     
    AndyNeoman likes this.
  50. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Don't think I've posted any pics in here for a while :)

    Went for a run around my current WIP which used one of the stamps from Shawn's packs. The time's set at early evening here...

    screen_1920x1080_2016-04-20_18-50-00.jpg

    I probably need a few more trees to spawn in but I'll finalise all that once all the houses, etc. are placed :)

    As well as there being a (relatively) flat area in the centre of this stamp, there's also lots of narrow ravines around the edges - a perfect spot to hide things like this for the player to find/be sent to on a quest

    screen_1920x1080_2016-04-20_18-52-07.jpg