Search Unity

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

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

  1. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Don't know as I have never seen this. All Gaia does is drop the Unity water prefab into your scene - its Unity water rather that Gaia water. Best bet is to google the forums.
     
  2. Weblox

    Weblox

    Joined:
    Apr 11, 2016
    Posts:
    277
    Thanks for the quick reply. I will try and see what I can find. ;)
     
  3. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Last edited: Mar 3, 2017
  4. henmachuca

    henmachuca

    Joined:
    Oct 14, 2016
    Posts:
    105
    Just wanted to give everyone an update... It turns out that both AQUA and TENKOKU were not showing in Gaia due to:

    - My AQUA is the Lite version, that costs only 5$, and this one has no integration;
    - My TENKOKU was not updated,... the moment I got the last version it worked perfectly.
     
    AdamGoodrich and BackwoodsGaming like this.
  5. adndima

    adndima

    Joined:
    Jun 11, 2015
    Posts:
    47
    It looks great. Please tell us the details of your PC, what size of territory and how many FPS gives this territory?
     
  6. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    I am using AQUAS Lite as well. My advice to you is to just make maximum use of the gaia resources and the source code that's available with the asset. Not because Adam doesn't provide integrations quickly or anything, it's just that the code is clean which makes it easier to write your own stuff quickly.

    I can't remember if it was using the resources file I did it but I nicely managed to replace the standard unity water prefab with aquas lite.
     
  7. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    This was 2k x 2k. Not optimised, about 60fps i think. 3yo pc, 16gb ram, new GTX 1070.

    Its largely irrelevant anyway as the video was done with Helios (offline rendering - frame by frame export, the encoded back together into a video), and this takes the power of your pc out of the equation.
     
    kurotatsu likes this.
  8. kiknchikn

    kiknchikn

    Joined:
    Mar 3, 2017
    Posts:
    21
    Hello everyone,
    Gaia beginner here. I just finished the procedural creation of my second scene. It still has a lot of small details I need to do. Adam, Gaia is incredible. It alone has gotten me into Unity more than ever before. Getting stuck on the terrain was my biggest problem with Unity in the past. I can not wait until I get Gena as well as a subscription to SpeedTree. Keep up the good work.


    Grab 20170303131356 w1900h1200 x-3y85z33r202.jpg
    Grab 20170303132002 w1900h1200 x64y75z20r52.jpg

    Grab 20170303132122 w1900h1200 x140y76z111r126.jpg

    Grab 20170303153202 w1900h1200 x178y82z158r174.jpg

    Grab 20170303153325 w1900h1200 x228y106z287r190.jpg
     
    Last edited: Mar 3, 2017
  9. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    His name is Adam, just thought I'd point that out :)
     
  10. kiknchikn

    kiknchikn

    Joined:
    Mar 3, 2017
    Posts:
    21
    That explains why I couldn't search him by his name in the asset store.
     
    TeagansDad, Goodgulf and kurotatsu like this.
  11. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Awesome stuff and thanks for sharing. Love seeing what people do with Gaia :)
     
    turboscalpeur and kurotatsu like this.
  12. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    Hi @AdamGoodrich,

    Recently when I was trying to play around with Megasplat and Gaia, I kind of felt that I may not really need Megasplat everywhere other than for a bit of tessellation if I could include more splat textures in the unity terrain.

    To this end, if I configured four additional texture spawners in the resources and used them to populate the scene with Gaia, would it be the best approach? Performance wise and all? How many textures would you recommend splatting up this way with gaia?
     
  13. JohnFoundation

    JohnFoundation

    Joined:
    Dec 15, 2015
    Posts:
    8
    First can I say WOW; just years of WOW… Adam you, your work and your friendly (and astonishingly patient) support is fantastic, amassing and and and interest move adjectives here…..

    OK fasnboy moment over.


    So I have a couple of questions,

    1. To the general community - I was prepared to buy Tennkoku for sky and weather until you guys mentioned Enviro and UniStorm. From what I can now see Enviro now appears the better product (given the descriptions and video’s on asset store, the support for multi zones, puddles and multiple satellites AND given the upcoming integration it will have with Gaia). Am I missing something here guys?

    2. I wanted to confirm Adam that you said that you are looking at integrating world Streaming into Gaia 2.0 (hope I didn’t dream that bit)? Looking at World Streamer for some of this but now thinking it may be redundant.

    3. How BIG have you pushed the Gaia?
     
  14. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gaia wont care, it just applies your textures and can apply as many as Unity and your memory can handle. @jbooth would be better to answer your question.

    Why thank you :) I find it harder when people lack respect, but for those who show respect and genuinely want to learn then I am more than happy to help.

    WorldStreamer is a great product and written by a friend of mine. I have some ideas in this space, but my approach will be Gaia specific and different to his. At the moment I am trying to get the basics all working again in the new framework so no promises here.

    I tend to stick to generic setups while I am developing, and at the moment this is 10km x 6km (i deliberately wanted a non square environment), and it working great - we are talking stamping the terrain which consists of 15 x 2km sq tiles in about 140 ms. A lot of this time is actually in Unity doing its terrain updates rather than my calculations. I will look into optimising this further at some point - but its already so quick there hardly seems much point.

    The end result however will be based on the memory in your computer - it all needs to be in memory at once at the moment - and there is an inherent limitation imposed by this. At some point I may take a more memory efficient approach, but there are other things that need to happen before I put in that type of development effort.
     
    Mark_01, TeagansDad, Goodgulf and 2 others like this.
  15. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    You aren't alone.. A lot of us were like that prior to Gaia! I highly recommend both Gena and the SpeedTree subscription. Both awesome investments!!!
     
    AdamGoodrich and kurotatsu like this.
  16. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I think you're supposed to say my name three times, then I appear, like BeetleJuice.

    Anyway, MegaSplat and any other shader I know about for terrain work pretty differently. The traditional splat map technique gets more expensive the more textures you use- basically, you have to draw the terrain once for every 4 textures. So if you have 8 textures in your terrain, you'd have to draw the geometry two times, with each pass sampling 4 texture sets (diffuse + normal, lets say), and then a control map is sampled and the results blended. So that's 18 texture samples and two draw calls, effectively. Move up to 9 textures, and that becomes 27 samples and three passes. Due to the multipass nature, specular terms cannot be properly calculated beyond some number of textures.

    MegaSplat is totally different; MegaSplat has a one or two layer shader, but since two layer is the most popular (and more expensive), we'll use a two layer shader as an example, and assume diffuse+normal as well. The MegaSplat technique requires 3 samples per pixel, per layer, per texture type, regardless of how many textures are in use across the scene, and only ever draws the geometry once. On a Unity Terrain, it uses a control texture, but on a Mesh is uses the vertex data, which is even faster. So this means a two layer MegaSplat shader with 256 textures available requires 1 pass and 12 samples per pixel (mesh) or 13 samples if on a terrain.

    Now, sample and pass counts aren't the only factor in performance, but they offer a decent starting point. MegaSplat certainly has enough high end features that you can light a GPU on fire, but at it's core the technique offers some specific advantages over the traditional technique, and those advantages become greater as your texturing becomes more complex.

    If you have any further questions, feel free to ping me over in the MegaSplat thread- I don't want to turn the Gaia thread into the MegaSplat thread, but I love talking performance and adam rubbed the lamp, so..
     
    Mark_01, antoripa, TeagansDad and 6 others like this.
  17. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    Thanks for the response @jbooth . That makes a whole lot of sense. Haha I had to make the post somewhere since it's related to both.

    I am a lousy painter and the larger my terrain gets, it is difficult to paint all over even with megasplat. I found it quite easy with Gaia to do the texture spawning. So I would still continue to do the texture spawning with Gaia and the blending on Gaia I find really satisfactory too. But performance was a prime concern always since I am targetting 8-16 textures, hence Megasplat.

    So once the texture population is done, I will convert this to a MegaSplat terrain and get the job done, paint in the fine details (detailed noise textures , tessellation etc) .

    @jbooth , @AdamGoodrich : I hope you guys are planning a kickass integration ;) I haven't seen two terrain tools go together so well.
     
  18. wahyuway

    wahyuway

    Joined:
    Oct 7, 2013
    Posts:
    84
    Hi, @AdamGoodrich
    Any suggestion how can i fix this problem as attached?
    All gaia resources, all of it's value become number as attached.
    So if i play the session, of course unity cant find its references.
    I use unity 5.5.2
     

    Attached Files:

    • gaia.jpg
      gaia.jpg
      File size:
      133.2 KB
      Views:
      941
  19. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    This was a real pain and I spotted it on Unity 5.5.3. Simply create a new project and import again. If it doesn't work,lookup on how to do a package uninstall. Reimport the package and see how it goes. It fixed the issue for me.
     
    wahyuway likes this.
  20. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yep this is a major pain.

    You need to go to Edit>Project Settings>Editor, and if you have asset serialization set to "Force Text", set it back to"Mixed".

    The delete and reimport Gaia. You can change your settings back after that I think.

    Unity do something weird with file names in that scenario. Unfortunately not much I can do about that.
     
  21. wahyuway

    wahyuway

    Joined:
    Oct 7, 2013
    Posts:
    84
    Thanks Adam, this fix that problem :)
     
    BackwoodsGaming and AdamGoodrich like this.
  22. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    @AdamGoodrich - Too bad we can't make that a sticky on every page. :)
     
    BackwoodsGaming likes this.
  23. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    @AdamGoodrich Would it be a pain to maintain a Troubleshooting FAQ on the website ?
     
  24. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    BackwoodsGaming and Goodgulf like this.
  25. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gaia 2.0 progress.

    Making good progress. Its a little hard to convey scale, so here is an attempt.

    Doesn't look that big does it... each tile is 2k x 2k. 5 x 3 is 10k x 6k. I used the same stamp, just stamped it twice - rotated and scaled. Took less than a second to stamp.

    Zoomed right out. Red arrow is for the in - game view coming up.

    2017-03-05_18-55-22.jpg

    Zooming in more - unity editor camera chopping off the distance.

    2017-03-05_18-52-07.jpg

    Zooming more again... red arrow depicts where the next shot was taken from. You might just see the trees on the shore where the arrow is pointing.

    2017-03-05_18-52-53.jpg

    In game shot. The trees on the shoreline barely noticeable in the haze.

    2017-03-05_18-48-57.jpg

    And a sense of the trees themselves.

    2017-03-05_18-54-04.jpg
     
    Last edited: Mar 5, 2017
    Mark_01, radimoto, antoripa and 11 others like this.
  26. pixelsteam

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    Great work, very excited for V2 and the optimization routines you will teach us :)
     
  27. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    This was build using GAIA



     
  28. Shadowing

    Shadowing

    Joined:
    Jan 29, 2015
    Posts:
    1,648
    I just bought Gena!
    anyways is there any near plans of adding dirt paths to gena or gaia?
     
  29. GuinUK

    GuinUK

    Joined:
    Feb 27, 2017
    Posts:
    44
    Hi guys,

    Absolutely loving the images other people are displaying using Gaia and decided to get involved myself.
    I would certainly put myself in the 'fresh' category of game designing (I learnt to write in Basic back in 1990 but not sure how much is transferable these days!) and am teaching myself via Youtube.

    Anyway, I was wondering if anyone could help me with a couple of issues I am having.

    1. (See attached picture)I have followed the Gaia quickstart guide and documentation, but early doors I have 4 errors. Will everything still work correctly; even though they are obsolete - ie will it automatically select a suitable alternative?

    2. I have been considering getting a water pack to go with Gaia as the standard 4Water Unity one has too many visual bugs when running. There seems to be 3 decent ones to choose from and I wondered which people thought were the best and why have you gone from Sumono to Aquas?

    A) Aquas (seems to be the current one suggested to download)
    B) PlayWay (looks awesome - wondered if it integrated well with Gaia)
    C) Sumono - the river you made in "Add a river in minutes' vid looked so good compared to Unity's

    3. Now that I am using Gaia is it worth also purchasing RTG to alter textures or does Gaia make RTG redundant?

    4. In very simple terms, what does GeNa add to the party?

    Thanks in advance for any advice, suggestions etc.

    GuinUK
     

    Attached Files:

  30. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Just ignore them - everything is good.

    Yeah Unity water isnt great. All of the options you have selected are very nice. Another nice on is Hyrdoform. The water in the last lot of images above is from there. I haven't profiled it yet however.

    I assume you are talking RTP. Gaia just applies textures to terrain. Other shaders such as RTP, Distingo or Megasplat can really do a bunch more with the start that Gaia provides.

    I grabbed this snippet from the first post in the GeNa forum:

    How is GeNa different to Gaia?

    Gaia and GeNa share the ability to spawn things into your terrain, however, GeNa takes the spawning system to a whole new level and adds in some killer new features like the auto optimization system that can take hours off your bake time while also improve lighting and frame rates.

    Differences between Gaia and GeNa include:

    * Sculpt terrain - Gaia yes, GeNa no
    * Texture terrain - Gaia yes, Gena no
    * Simple scene setup with water, player, wind and lighting - Gaia yes, GeNa no
    * Spawn grass, trees and prefabs on terrain - Gaia yes, GeNa yes
    * Spawn sophisticated collections of prefabs on terrain - Gaia yes, GeNa yes
    * Sophisticated image based masking - Gaia yes, GeNa yes
    * Sophisticated colour-map based masking - Gaia no, GeNa yes
    * Spawns on meshes - Gaia no, GeNa yes
    * Global and local spawning - Gaia no, GeNa yes
    * Click based spawn positioning - Gaia no, GeNa yes
    * Composable spawners - Gaia no, GeNa yes
    * Clickable spawn criteria configuration - Gaia no, GeNa yes
    * Real-time spawn criteria visualization - Gaia partial, GeNa yes
    * Automated prefab performance optimization - Gaia no, GeNa yes
    * Automated light probe placement and optimization - Gaia no, GeNa yes
    * Gravity based spawning system - Gaia no, GeNa yes
    * Fence and wall building system - Gaia no, GeNa yes
    * Fine grained spawn placement tuning - Gaia no, GeNa yes
    * Save and re-use spawners as prefabs - Gaia no, GeNa yes
    * Run-time spawning - Gaia - partial, GeNa yes

    You can think of Gaia as a wide roller brush designed to do entire terrains whereas GeNa is the precision tool to add in the details and optimize them. Your typical workflow would be to use Gaia (or your tool of choice) to sculpt and texture your terrain and then hand over to GeNa to do the rest. Why ? GeNa's spawning system is far more sophisticated, has faster set up and spawn times, and is more intuitive to use.
     
  31. pngu1nsnp

    pngu1nsnp

    Joined:
    Mar 19, 2014
    Posts:
    2
    Just bought and downloaded Gaia tonight!

    Been having some issues at first. I had an error in the Utils.cs script on line 612 saying that mesh.optimize() is now obsolete. I replaced it with MeshUtility.Optimize(mesh); and now the texture spawner seems to be working right by not painting the same texture all over anymore. Now the whole random generation process seems really cumbersome and takes a very long time to process. Any tips?

    BTW i've been using a new project, freshly imported Gaia and was getting these errors.
     
  32. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    Just curious. Dirt paths are a combination of texturing and stamping if you ask me. I think you should use stamp masking to draw out the roads and the terrain and use height/slope based texturing through gaia to draw roads. That's what I kind of do. I find it easier to have the roads laid out first in a mask because I intend to make large terrains. Using gena for roads can be cumbersome for large terrains, at least in my experience it was, but I haven't played around a lot with Gena here than I have with Gaia.
     
    Last edited: Mar 6, 2017
    BackwoodsGaming likes this.
  33. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Please delete and re-import. It will ask to upgrade. Say yes. The obsolete stuff should not cause any issues. I will remove the warnings in the next release. I am reluctant to make an entire release just because of some warnings, but its also been asked about quite a but in the past few months, so maybe I should just knock out an interim release.

    Random generation should be working fine. I will run up a test on the latest Unity.

    Yep - its just masking - applied to both stampers and spawners. It's not a path tool per se - but works relatively well. You can check the videos here to see it in action : http://www.procedural-worlds.com/gaia/tutorials/.
     
  34. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    Hey @AdamGoodrich , Have you used Alt Tree or Critias Tree System before for larger terrains ? With a lot of speedtree clusters I find performance can get especially slow. So looking for alternatives. Who better to get an opinion from other than the man who knows a hell of a lot more about unity Terrains than most do :D
     
  35. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Thanks :)

    Nope - I generally get reasonably good performance out of SpeedTree and have been very busy on the Gaia 2 release so experiments have been fairly limited.

    One thing to be aware of is that you really want your SpeedTree's to be configured properly for instancing - which is supported from Unity 5.5 onwards as this can have a really dramatic impact on performance.

    To get Unity to instance your speed trees:

    * For each LOD on your speed tree that you want instanced, disable Light Probes and wind. Also consider removing shadowing. I generally instance LOD 2 and LOD 3.
    * Tweak your LOD's so that they work well with your environment.
     
  36. pngu1nsnp

    pngu1nsnp

    Joined:
    Mar 19, 2014
    Posts:
    2
    Thanks for taking the time for a quick response. Nice to see fellow developers that have such dedication to what they love doing. :D
     
  37. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    Wow didn't know this. It's a great tip. Thanks a bunch. I will try this out tonight.
     
  38. Zymes

    Zymes

    Joined:
    Feb 8, 2017
    Posts:
    118
    How well does Gaia work with a large terrain such as 10x10 km? In Map Magic for example you can pin and unpin areas so you do not have to load the entire map at once while working on it.

    If you populate that big of a map with custom gameobjects it will be a nightmare to edit I believe.
     
  39. Daniel-Talis

    Daniel-Talis

    Joined:
    Dec 10, 2011
    Posts:
    425
    Nice, good reason to build a house in the hills a bit. All that misty moisture down in the valleys will play havoc with asthma if you get it.
     
  40. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    Just gotta say it, because it's been a few days... can't wait for Gaia 2.0, I'm on the edge of my seat waiting for the multi-tiling and tile streaming to really start my terrain. *throws money at the screen for GPU modules too just because*
     
    kurotatsu and AdamGoodrich like this.
  41. kiknchikn

    kiknchikn

    Joined:
    Mar 3, 2017
    Posts:
    21
    I am getting Gena and a subscription to SpeedTree asap. It wasn't until I started getting back into "The Witcher 3" that I noticed that game uses SpeedTree assets. And I have always complemented on that game when it comes to environments.
     
  42. ladfoo

    ladfoo

    Joined:
    May 6, 2014
    Posts:
    8
    Having issues with Gaia chewing up too much memory for mobile. I've scaled down world size to 256, applied all other suggested optimizations I've found suggested here, downscaled the terrain textures from 2k to 256 and still the app crashes due to memory usage on an iPhone7 about 2 seconds after running it. Any suggestions? Can someone please explain how to remove the gaia generator from the scene properly after creating the terrain?
    Thanks for any help!
     
  43. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    Removing Gaia from the Scene should be little more than removing the entire Gaia folder. You can keep the session replay data stored in the Data folder in case you wish to redo the terrain, but otherwise there is currently nothing in the Gaia folder that's required except for the samples you use from it such as the ground textures, grass textures, and trees/rocks if you used them from the original spawners.

    Chances are you removed the whole Gaia folder and used the original spawners, make sure you move those assets you used somewhere else that it can still find.
     
  44. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    199
    Gaia is stuck on 0.0% stamping when I try to stamp terrain. I did a whole new project and reimported it.
     
  45. ladfoo

    ladfoo

    Joined:
    May 6, 2014
    Posts:
    8
    Thanks! I'll give that a try.
     
  46. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gaia doesn't usually get stuck on stamping. Delete the stamper and add it again to see if that fixes. Also, is your terrain at height 0 i.e. y = 0 ?

    Gaia just creates terrain, and how you choose to ask Gaia to create your terrain will impact its memory consumption.

    To my knowledge, when you make a build, only the assets that are used by your app will included in the build. The only exception to this is code assets but the amount of space this would contribute would be minimal.

    I would swap desktop assets for mobile assets - this ought to help with memory consumption.
     
    BackwoodsGaming likes this.
  47. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    SpeedTree is amazing, and there is more goodness coming to us from Unity in this space! Check out this image from Lumberyard! Can't wait until Unity support the newer features coming from SpeedTree @Dannyoakes

    ^3FABF3927003C9B6256BEC21E8C1B78E9A32137C561293303A^pimgpsh_fullsize_distr.jpg
     
  48. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    Wow is Speedtree finally getting PBR? About time. :D
     
  49. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Who could say ;)
     
  50. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Making great progress on Gaia 2!

    View distance on this camera is 5km!

    Grab 20170307165239 w1920h1029 x-330y195z-15r188.jpg