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

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I don't believe Gaia works with multi-terrains yet. You have to wait for it to be released.
     
    BackwoodsGaming likes this.
  2. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,021
    I don't know what your aiming for but from the pics and description it is making me think of 'No One Lives Forever' and that is still one of the best games ever! If that's the case you can't go far wrong.
     
  3. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Hi Teila, thanks for confirming. Perhaps I can ask a different question, or the same question a different way.

    If I position a terrain piece at 0,0,0 and use the texture spawner's Fit to Terrain, it isn't painting all the way to the corner. I can manually paint on the problem areas though. Is there anything I can do?
     
  4. MicDE

    MicDE

    Joined:
    Dec 15, 2015
    Posts:
    16
    Hi Adam,
    I bought Gaia today, but hat some problems regarding spawning of GameObjects. When spawning a reasonable number of objects are just empty GameObjects. So the "Small Village 2" rule produces an empty GameObject.Same also with other Objects like Rock Pile or Small Farm.
    Interesting is that some objects are generated and some not. So I have Rock Piles and Small Farms, but not all generated contain GameObjects.
    Any hints, what I am doing wrong?

    Unity3d: 5.2.3f1 Personal
    Best
    Mic
     
    S4G4N likes this.
  5. maxaud

    maxaud

    Joined:
    Feb 12, 2016
    Posts:
    177
    @AdamGoodrich, Is there a writeup anywhere that talks about improving performance or making changes to increase performance? I did a basic scene going through the quick start and I got 1.5FPS. After removing ground details it jumped up to a respectable amount but was still lower than I would like.
     
    S4G4N likes this.
  6. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Yep, read the Unity manual. Also, Packt has a great book on optimizing in Unity. Google it and you will get a nice list. Worth the money.

    Gaia is not an optimizing tool but you can find many on the asset store.

    Also, lots of hints on this forum thread with regard to using Speedtrees and grasses.
     
    Tinjaw and S4G4N like this.
  7. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    You have very bad problems. Run the profiler. I am not sure anything is going to help you if only a terrain is that low. How big is your terrain? If it is HUGE than that is the problem. Otherwise, check your hardware.
     
    AdamGoodrich and S4G4N like this.
  8. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    Hey,

    What needs to be understood is that Gaia uses normal standard Unity terrain.
    It takes it and does what would take hours/weeks/months in several minutes.
    That is it.
    Everything that Gaia does can be done by hand, if you have the skill and the time.

    There are many good assets that assist with optimization of all aspects of Unity.

    The name says what it does.

    " Gaia - AAA terrain generator, procedural texturing, planting and scene creation "

    It is not like @AdamGoodrich can now take it upon himself to assist each and every unity user how to optimize there project.

    Unity 5.4 is looking promising concerning features that assist with better performance for SpeedTree for instance.
    So Unity also knows it's own shortcomings and they keep pushing the margin.

    @AdamGoodrich task and what people are buying from him is Gaia, not the rest of the engine, and that is rather what I think everyone wants him to build and improve on.

    Cheers
    Cobus
     
    Tinjaw likes this.
  9. maxaud

    maxaud

    Joined:
    Feb 12, 2016
    Posts:
    177
    I wasn't blaming Gaia for the low performance. I was just asking if there was any writeups where someone may have specifically addressed performance optimization after using Gaia. I'll keep looking around at Unity optimizations. Thanks.
     
    magique and S4G4N like this.
  10. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    Howdy,
    Not saying that at all, just suggesting that the AS must be looked at as a whole to try find solutions
    @Teila has some good suggestions regarding the profiler and such that could assist with a process of elimination pinpoint maybe what is actually culprit.
    You see if you have a more clear question with more specifics then many users here can give advice for they might all have had the same stumbling blocks :);)
     
  11. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    A lot depends on your terrain.. If you have a hilly terrain with a lot of slopes, you wont get as many (if any of the spawns for the POI spawners (village, farm, rock piles, etc) because they take up more space and require a smaller slope. There was something Adam suggested a page or two back about spawn distance, maybe cutting in half or something like that. Can't remember the exact field, but someone else was having the same issue in the last couple of days.

    Another thing you can do, which I always did in the past, is increase the slope in the fitness settings. Oh and one last thing, when you stamp your terrain, set the height in the stamper to 5 or below. You may not get hills as high as you did previously, but more of the terrain will be fit for spawning and more stuff should spawn.

    I ran into the same thing when I was testing the Mountain and Volcano Stamp Pack that I just submitted to the asset store. I ran the spawners, but very few farms and villages spawned because of the slopes. But if I would have taken the same stamps and lowered the height more, then I would more than likely get more of them to spawn.
     
  12. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    I think what they were trying to say is Gaia doesn't really have anything to do with your performance. It is all in how much you spawn. And that is really no different than if you had spawned it manually, with Terrain Composer, or with any other tool to deal with your terrain.

    At this point, nobody has written any kind of guides. But even if they did, someone who didn't use Gaia at all could use the same guide and take advantage of whatever is instructed in their terrain as well.

    I think right now Adam had his hands pretty full just trying to support the things that Gaia does do which makes it a little bit difficult to field some of the non-Gaia stuff and with the thread getting huge, probably good to keep things as close to Gaia related as possible.

    With that being said, I would be happy to host any tutorials that anyone wants to put together on doing different things to get the most out of your Gaia experience at BackwoodsGaming.com or even a page of useful links if you find something that would be useful to the Gaia community. Just send me a private message and I'll check out whatever you want me to share there. It might be something Adam may want to do as well once he can get some time to dedicate to the Procedural Worlds site.

    At any rate, good luck with the optimization search. I think a lot of us can relate that to a Neverending Story.. Just tell me where I can pick up a dream dragon to speed through the journey! rofl
     
    Tinjaw likes this.
  13. ateanna

    ateanna

    Joined:
    Jan 3, 2016
    Posts:
    4
    I'm currently doing an app for Android phones (with google cardboard) using the Gaia terrain creator. I tried it on the phone with the randomly generated terrain. My current project's content's is very minimal. When testing it out without the terrain, it's not as laggy. But when I try it out with the terrain, it lags so much. Any suggestions on how I can optimize it? Thanks!

    I am new to Unity and to Gaia so apologies if this is kind of a stupid question. :)
     
  14. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Some things I learned while trying to optimize my game are as follows:

    • Lots of grass is a killer. Reduce detail density and detail distance to improve this
    • Shadows are a killer. Reduce shadow distance, shadow quality, and other shadow settings. This can give a huge boost
    • If your terrain doesn't have to be super high-resolution, you can gain some performance by dropping terrain resolution down to 513. Warning: You will have to re-generate your terrain though as this wipes it out.
    • If you have your terrain hemmed in by mountains at the extremes be sure to reduce your spawning distance otherwise you will get thousands of things spawning on the other sides of those mountains that you'll never see.
    • Extra SpeedTree colliders can be removed and LODs can be tweaked for better performance. You can also tell SpeedTree not to cast/receive shadows on higher LODs.
    • Lots of high-resolution textures could be a performance hit as well. The rock samples in the Gaia package are 4096x4096, which to me is major overkill for a rock.
    • Unity Player resolution is a factor as well. 1080p is often not that big of a deal compared to 720p so reducing to 720p can help
    • Also, your camera field of view and camera clipping distance is also a factor and can affect performance. Lowering FOV and clipping range will improve things.

    Another thing I learned is that the current terrain tree system is flawed, especially with SpeedTree. I can get better performance with more SpeedTrees in my scene if I manually place them as game objects rather than spawn them as terrain trees. Hope these suggestions help. If I remember anything else, I'll update this post.
     
    Goodgulf, S4G4N, DarkXess and 8 others like this.
  15. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Hmmm... Most unusual. Are you sure they aren't just getting culled ? Try zooming up close to them.

    Which version of Gaia are you using ? There are some upload issues with 1.5.2. I am wondering if this is somehow related.
     
  16. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    This is very unusual. Even my mid 2012 retina mac does 20-30fps+ on the default setups provided by Gaia.

    Its indicative that something else is wrong - duplicated cameras - multiple waters or something else. It could also be that you are just developing on really low end hardware.

    Please try the quick start guide on a fresh project. Let me know how you go. Am happy to dig deeper with you if necessary.
     
    Last edited: Mar 3, 2016
    maxaud likes this.
  17. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    It is not a stupid question but it is in the wrong place. If the terrain is laggy, it is not due to Gaia, it is due to your mobile device not being able to handle such a complex terrain. Remember, terrain made with Gaia is going to have a lot of vertices, lots of bumps. If you put grass on there and trees, then even worse.

    I suggest you read the Unity manual about optimizing for mobile, and ask in a forum category more applicable. Your question is about general optimization on a mobile phone, not with Gaia.

    I don't make mobile phone games but the only suggestion I can give you is to use a simple terrain. Gaia might not be right for mobile phones unless you are extremely careful about what you create.

    Reducing terrain resolution is a fabulous idea. My guess is you are using way too much for an android phone.
     
    Tinjaw likes this.
  18. maxaud

    maxaud

    Joined:
    Feb 12, 2016
    Posts:
    177
    This is a lot of great info. I appreciate you taking the time to outline this. Exactly the type of feedback I was looking for.
     
    S4G4N and magique like this.
  19. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    There is a lot more further up in the forum as well.
     
    S4G4N and maxaud like this.
  20. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    When doing VR you are doing double the work, and mobile phones can already tend to struggle.

    Hints:

    * Make the terrain smaller
    * Make it flatter and run a smooth on it - this will reduce the number of polys
    * Shrink the textures provided by Gaia (this is a simple config change on your textures) - perhaps 256k - they are currently 2mb
    * No grass or very minimal grass
    * No water
    * No camera post FX
    * Not sure about which lighting is best
    * Use mobile oriented assets - the assets provided with Gaia are desktop oriented assets

    Start with something bare - just a terrain with light weight textures and then build it up from there.

    Most semi modern mobiles are more than capable of running a Unity terrain - but you really need to think about how to optimise it.

    As others have said - also read up and mobile optimisation.

    Gaia doesn't care what type of assets you throw at it - whether they are mobile oriented or desktop oriented - it place them regardless.
     
    ateanna, S4G4N and GameTechnix like this.
  21. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    I will look into this today - looks like its not texturing all way to edge for some reason.
     
    S4G4N and tapticc like this.
  22. Pandur1982

    Pandur1982

    Joined:
    Jun 16, 2015
    Posts:
    275
    Hello ,today i have buy Gaia and install it on a new Project i have create a littel TestIsland.I must say that is a very nice asset and save me a lot Time.But i have a Problem,i have create via Spawner the Island with the normal 4 ground Textures they are included.So i have add 2 new Ground textures on the Terrain and on the GaiaResource,so when i will painting manual my Unity crash.Have any one a Idea?
     
  23. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Here is the video tutorial on resource management in Gaia :



    That and the documentation should be a good starting point.

    I will be doing more video tutorials in the coming days and weeks.
     
    turboscalpeur and S4G4N like this.
  24. Pandur1982

    Pandur1982

    Joined:
    Jun 16, 2015
    Posts:
    275
    Thx for your fast answer i will take a look on it :D
     
  25. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
  26. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    I asked the Prism author about the fog ranges.. turns out there was a bug and he suggested a patch.. just lovely :)

    Grab 20160303174312 w1900h1200 x0y56z-156r148.jpg

    Grab 20160303175427 w1900h1200 x21y53z-360r149.jpg
     
  27. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Just found a bug in game object scaling. It allows you control the minimum and maximum scale a game object instance can be scaled at :(

    1.5.3 will have the fix - in the mean time if its bothering you

    Replace this on line 771 in SpawnRule.cs

    Code (CSharp):
    1. localScale = gpi.m_minScale + (gpi.m_scaleByDistance.Evaluate(localDist / boundsRadius) * (gpi.m_maxScale - gpi.m_minScale));
    with this:

    Code (CSharp):
    1. localScale = gpi.m_minScale + (gpi.m_scaleByDistance.Evaluate(localDist / boundsRadius) * spawnInfo.m_spawner.GetRandomFloat(0f, gpi.m_maxScale - gpi.m_minScale));
    2016-03-03_20-27-03 - Game Objects.jpg
     
    Last edited: Mar 3, 2016
    kerrmedia and S4G4N like this.
  28. broesby

    broesby

    Joined:
    Oct 14, 2012
    Posts:
    118
    Here is a link with advice from someone who seems to know about mobile optimization:

    http://forum.unity3d.com/threads/the-secret-to-great-terrain-on-mobile.305899/

    Jesper.
     
    AdamGoodrich and S4G4N like this.
  29. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    At least you've caught it :)
     
    runningbird and S4G4N like this.
  30. Cottage_Pi

    Cottage_Pi

    Joined:
    Dec 21, 2014
    Posts:
    55
    Hey. I just bought Gaia after watching your Youtube videos. Trying to get a basic terrain working. For some reason, the progress bar is always stuck on 0.0%. Any clue why this would happen?
     
  31. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Have you tried removing the existing spawners and recreating them through the Gaia Manager?
     
  32. Cottage_Pi

    Cottage_Pi

    Joined:
    Dec 21, 2014
    Posts:
    55
    No I haven't. I created a new project though and it worked (blown away by how cool this tool is). Now I need to figure out why it doesn't work for my older project.

    Update: I re-imported Gaia into my project and now it is working!
     
    Last edited: Mar 3, 2016
  33. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    @AdamGoodrich

    Hello,

    Is it possible to turn off Bounds_ColliderCache spawing for GameObject spawner?

    I'm spawning a lot of objects like leaves, rocks, small branches, debris etc. on the ground.
    I can't use terrain detail for that (which is super fast when it comes to spawning) because it can't (as far as I know) use standard shader/custom shader.

    Spawning a lot of standard GameObjects takes time (while terrain detail spawning is super fast) and I'm wondering if collider spawning makes this process longer. Is it possible to turn it off? I can change the script but I need to know what to change inside it. Would it make the spawn process faster?

    Is it even possible to spawn/keep few milions of GameObjects in a single scene? GPU instancing and LOD would help with rendering but I'm wondering about general scene and editor performance with that numbers.

    I hope that Unity will add a pipeline for handling large numbers of standard objects on terrain/other surfaces soon (maybe some arrays instead of keeping them in the hierarhy as standard GameObjects?). AFAIK They are working on something already. A solution to have milions of different objects placed on terrain/other meshes" and instancing them (management, culling, lod).
    Here is the video where Joachim Ante is talking about that at 57:37 :
     
    Last edited: Mar 3, 2016
  34. sarum

    sarum

    Joined:
    Mar 2, 2014
    Posts:
    212
    playing with Gaia and Distingo :)

    2e.jpg

    2f.jpg

    2g.jpg
     
  35. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    AdamGoodrich likes this.
  36. Twoonebe

    Twoonebe

    Joined:
    Mar 30, 2013
    Posts:
    174
    Hello everybody,

    I find Gaia is a great tool , every day I learn more. anyone of you know this project ?

    http://madewith.unity.com/games/eastshade

    I wonder if such a really beautiful landscapes with Gaia and other programs are also possible what do you think ?
    I see many beautiful and good screenshots but I think that should be an incentive for all
     
  37. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Yeah i have seen it - its really beautiful - and possible for us all - its just about getting the skills to do it :)
     
    S4G4N likes this.
  38. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    Hi There,

    First off, wow! What an awesome asset! Thank you for your time an effort.

    Second, I saw you mentioned a release coming up where Gaia will be handling multiple terrains. I am wondering what that will look like. Right now I am trying to do multiple terrains with Gaia as it is and I'd like to stick as close as possible to the workflow I will have once you release. So far, I am attempting to do a new session for each terrain (still getting there). Is there a best practices way to go? Is there a way I can work now without having to duplicate my work too much?

    Again, thanks for such a wonderful product. While using it I feel like I have a whole design team working for me.

    Boysenberry Payne
     
    AdamGoodrich and S4G4N like this.
  39. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
  40. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Thanks - the reward is truly in the community and the amazing things I see being done with it :)

    The next major feature release of Gaia will support multi tiles. If you peak closely under the covers you will see that some of it is there and implemented already.

    I am open to suggestions here - as have not started in earnest yet - still need to get tutorials for current release done - plus there is GDC in a few weeks.

    Two approaches I think - one is create from scratch and also create all the tiles - and the other is to ingest existing multi tiled terrains - I already have the code for that - so should be no issues there. Someone suggested yesterday that I also create an ability to take larger terrain tiles and split them into smaller tiles.

    So from a work flow perspective - if I add support for all that then you should be good.

    I don't anticipate that any of the other flows would change much - spawners are and have always been area based - will just allow them to support larger areas.
     
    boysenberry likes this.
  41. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Not currently - that was my cunning and elegantly simple way of detecting collisions between things. You can delete them after spawning.

    I will look at re-homing where are parented when they spawn - this is definately slowing spawning down.

    Not really - don't believe unity is going to handle this at all well. The issue here is unity. The next issue is performance - each one will make a draw call i think - and this will slow your performance down to a crawl. There are tools that allow you to combine meshes etc to improve this.
     
  42. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    That's great insight, thank you.
    Good luck at the GDC, I hope you get tons of recognition.
    I am excited about the tutorials as well, you do a great job with them.

    I will be using the SECTR suite to break up the terrains and stream them runtime. I also use Terrain Stitcher for matching the terrains to each other. For me being able to automate the process of building and saving the session info for each terrain would be nice, e.g. a way to keep track of different terrains in a session or to keep track different sessions that are related together.
    Right now I am using naming, etc to keep track, which is fine for 4 tiles, but when you starting talking a 19x19 grid it gets a little much.

    Thanks again, truly great work!

    Boysenberry Payne
     
    S4G4N likes this.
  43. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    Maybe in the near term, but if they stick to their plan, as stated in the Unite video, they'll eventually separate tree/detail/object instancing from the terrain. They want everything from spawning and storing instances, to LOD, culling, and rendering, to be handled independently from the terrain engine, and off the main processing thread, decreasing the impact of massive numbers of spawned terrain objects, and allowing you to use the same workflows on mesh terrains for instance. It sounds like they're going for something like World Streamer as well, where assets get loaded and unloaded on demand, rather than all at once. Of course how well they'll accomplish this and when is anyone's guess, but I'm betting it won't happen until the Unity 6 release cycle at the earliest.
     
    ZenMicro and S4G4N like this.
  44. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    Kia ora

    Has anybody gotten away with using Ceto and Aqua in the same project, Ceto is great for open oceans but not so for lakes and rivers nor does it have a visible plane to see the correct height for lakes above sea level that form the source for waterfalls, or a way to use more than one instance at different heights
     
    Last edited: Mar 4, 2016
  45. sarum

    sarum

    Joined:
    Mar 2, 2014
    Posts:
    212
  46. sarum

    sarum

    Joined:
    Mar 2, 2014
    Posts:
    212
  47. Revelation_Jeff

    Revelation_Jeff

    Joined:
    Jul 17, 2012
    Posts:
    141
    Having fun with Gaia as well. It's come along nicely Adam =) Keep up the great work!



     
  48. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
  49. 99thmonkey

    99thmonkey

    Joined:
    Aug 10, 2012
    Posts:
    525
    S4G4N likes this.
  50. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215