Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. 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. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    Here is a massive new feature for Gaia - completely procedural terrain and environmental generation. I also show off how to set Tenkoku up in the scene to get lovely lighting!

     
  2. Kiwi-Hawk

    Kiwi-Hawk

    Joined:
    Jul 17, 2015
    Posts:
    288
    Kia ora

    Woow, jus wooow that is somit else mate really, so would this deal with a substract in with all them add's, eg dump a crater in with those mountains or volcanos?
     
    AdamGoodrich and Whippets like this.
  3. Deleted User

    Deleted User

    Guest

    Thats really awesome.
    Is it possible to make the map with the current version of GAIA, and if the new version is out, with the Tile system, to take the previous made level and tile it?
     
  4. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    That video is showing what is getting ready to come out.. Multi-tile wont be until the next version. He is still wrapping up this version and hasn't started digging into that yet.

    I think it just does additive but I haven't had a chance to test it out yet. He just got it in the hands of testers last night before he made video.
     
    AdamGoodrich likes this.
  5. Deleted User

    Deleted User

    Guest

    I know, but he mentioned in his facebook post, that he will implement an tileing system with the next upcoming update, after he released this new update.
     
  6. art_craft_vlad

    art_craft_vlad

    Joined:
    May 26, 2015
    Posts:
    8
    The multi-tiling is on top of our list.
    We are currently consider various terrain generation/creation packages and Gaia is one of the favorites for sure, but the lack of multi-tiling support makes it really not usable for us at the moment.

    As with all software engineering, the future planning is a challenge, but is that possible to get at least a time frame when this feature will be available? Also, we would be interested to participate in any beta program for that feature if there would be one.
     
  7. sanuvin

    sanuvin

    Joined:
    Feb 11, 2014
    Posts:
    61
    Love the random addition getting closer to a procedural world creator. In the future to make the world generator would love to see an option in the spawner for perhaps "forest- where you would add a tree and perhaps ground texture and it would create a random forest area on the map (size perhaps via a slider) same options for other biomes such as a desert , swamp etc...

    So for example in the spawner there would be an option to create biome(s): you would name the biome: for children you would add your spawm items such as ground textures, bushes, trees, rocks, prefabs such as houses etc with all the current options you have for spawning.

    This way after I randomly create a map I could select specific biomes to spawn on the map.
    for example on a 2k map I could say spawn a desert 400 by 400 with this sand as a texture and a couple of cactuses
    also spawn a pine forest and somewhere else on a map a fir tree forest, a swamp with a certain texture for the ground and some swamp buhses and trees. Of course the issue is if I create a mostly mountainous terrain would be tough for gia to spawn a lot of flat type biomes.

    From an earlier post if you can do something like this https://donjon.bin.sh/fantasy/world/ then you have a true procedural game world creator. Don't consider that link as a planet creater but an example of a world creator where each hex would represent something like 10m then you see what I am getting at.

    Would be cool on a singlle map to do this but I think it would be better suited for the multi tiles addition in the future.For example using your new random feature saying on this tile I want to be more mountains with perhaps a forest biome, on this tile more flatness with a swamp and desert biome etc...
     
    AdamGoodrich likes this.
  8. markfrancombe

    markfrancombe

    Joined:
    May 26, 2009
    Posts:
    155
    I just tried a web Player build and got this:
    Assets/Gaia/Scripts/Utils/Utils.cs(406,18): error CS0117: `System.IO.File' does not contain a definition for `WriteAllBytes'

    Its a show stopper...

    Im guessingI could remove Gaia before building but as Im not done yet I dont want to...
     
  9. art_craft_vlad

    art_craft_vlad

    Joined:
    May 26, 2015
    Posts:
    8
    There is a mention of "work around" the absence of native support for multi-tiling. Could you please save me time and point to where this work around is described?
     
  10. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Alas, you will have to remove Gaia before creating a webplayer build. It's not Gaia's fault but the NET library not having access to the relevant code (apparently for security purposes according to MS)
     
  11. markfrancombe

    markfrancombe

    Joined:
    May 26, 2009
    Posts:
    155
    Ok... but tell me, if I move The terrain object out of The Gaia directory, (all My Assets textures etc Are already outside..) and delete The folder... is that it? and can i chuck it back In when i want to work more on it?
    I just need to do a quickie web build to test some other S***...
     
  12. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Taking the terrain object itself, and any spawned game objects out of the Gaia parent object and then removing all occurrences of Gaia would work.
     
  13. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    There was talk some time back about making large cutouts for craters, or cave systems, or cellars, and even the possibility of preserving the shape of the land before the cutout and saving it as a mesh "lid" which can be modified in a 3d package to have cave entrances, etc and used with a splat shader to give the impression of actual terrain. I don't know how far this got, but it was an idea historically.
     
  14. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    Pm me. Its fixed in next release.
     
  15. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    I haven't added that - but will play - I have this concept of declarative procedural - and that's my first bite at it. In a declarative procedural environment you tell the system what you want - and then it generates variations on that. I will refine this more before release - although as you can see its quite workable now :)

    There are other assets that do this. Next release of Gaia already does a bunch of non terrain things such as screen shotting, lighting and camera fx - I added these really just to help newcomers create and share their work. Need to also keep focus on what core asset is all about.

    Hard to say - not invented yet - I would say yes - but it may be round about - you could make stamp of your terrain - and apply that stamp in new tiled terrain - and the rest is easy as its just running the spawners.

    Yep - thats the once after this one - thats why I am taking a little time add a bunch of features to this one - and also taking the time to make sure it is solid - the multi tile release is a lot of work - many things will change internally - so it may take some time to get right - not sure as havent dug in yet.. one of the biggest things - the tiling support in terrain itself is already done - you just cant see it yet.

    Yeah - I made a really dumb design decision early on - wish I had just bit the bullet - but was so excited and wanted to get it out. Eta is mid to late feb - maybe earlier if it goes better than expected.

    This is all doable now - you just need to set it up. By default I make the spawners the same size as the terrain tile.. but there is nothing to stop you moving them and making them areas based - i really need to do a video demo of this because its very powerful. Spawners by nature are area based - the implication of this is that you can reduce their range and move them around. The workflow I typically demonstrate is the simple and quick one - but you can add as many spawners as you like - and I often do exactly that with a single resource just to get the placement and effect I want. Am adding some more powerful new features to spawner today - when done will demonstate biomes.

    I think that's enough for this post :)
     
  16. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    I agree, the last thing we need now is for you to come down with a severe case of RSI :)

    The random generation feature is a very welcome addition. Can or does it create an actual jpeg stamp that can be saved and added to the user's stamp library?

    I thought the spawner was 1024 and the terrain size is 2km x 2km? Now, I know I only did first year Maths and Statistics at University, and therefore my Maths ability is somewhat diminished when compared with others:) But I have a lot of trouble with altering the dimensions, and I've concluded I must be doing something wrong; because if I increase the terrain size to 2048 for a 4km x 4km, or 4096 for 8km x 8km, the spawners never spawn the entire terrain?

    Help me Obi Wan, you're my only hope!
     
  17. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    On your spawners you will need to increase the max instances the spawner can spawn of each item. On a larger terrain, there is more area to spawn thus it will require a higher number of spawns to fill it..

    EDIT: btw.. I think this is something almost all of us in beta encountered at some point and had to ask.. lol
     
    TheSeawolf likes this.
  18. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    Yeah - it takes it off the defaults - i followed a particular work flow when I was developing - the new release now looks to active terrain first and then defaults next.

    If a major issue pm me and i can help you out.
     
  19. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    Here is sample video on how to visualise and customise perlin masking for texture, grass, tree and object spawning - a little taste of whats to come in the next release.

     
  20. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    @turboscalpeur

    You should put a link in your bio so people know how to get to your assets on the store, quick and easy bro.

    The quality of your work, and support of Gaia should be recognized and will hopefully help fund you for my excellent foilage solutions.

    I want to say thanks.
     
    twobob, AdamGoodrich and S4G4N like this.
  21. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    302
    Thanks kurotatsu!

    I'll take care about this, then!
     
    S4G4N likes this.
  22. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    I think you get what I meant(in your signature, under posts), but I mean so it will show up under every post you make like some of us do, it's great for directing traffic, when people are interested in what you say, and/or to realize, hey that's the guy that made that.
     
  23. impactit

    impactit

    Joined:
    Jan 28, 2015
    Posts:
    41
    Sory for lack of answers, work work work, first :) Im really "noobe" in graphic and design so please forgive me fuzzy and simple answers.

    Our goal is create real world terrains with real distances kind of AAA quality sth betwen Black Desert and Witcher 3. Gaia is really good helper tool to fast create base terrain, and save a lot of tedious work. Now we are in "research" phase. We take close look on many tools and assets. We will see whats happend in the future. :)

    Many people ask question how we do it this scene, and its really simple.
    0. Use Gaia to make terrain :)
    1. Rendering Path: Deferred and Linear Color Space and (!!!) HDR on cammera - I like how this works :)
    2. Terrain, textures on terrain (btw broken by me if u look close), grass etc is all Gaia (!!) plus a liitle !!! of Speed Tree (performance reasons)
    3. Trees is all amazing Speed Tree with really agresive LOD :)
    4. Skybox :) Viking village (HDR version) + color of the sun is takend from skybox. I belive is ambient light is unnatural, so value is dropped to 0.2 - 0.4, we use only for "light correction".
    5. Lots of filters :p
    - SSAO Pro - absolutly amazing
    - SE Natural Bloom And Dirty Lens - 'must have' bloom solution
    - SSR Effect - disabled in scene without reason :)
    - Antyaliasing - because of the HDR
    - Tonemapping - must have because of HDR - in our case simple Photographic 1.6 value
    - Vignette And Chromatic Aberration - (first disable CA is a "bleee" effect :p) and Vignetting valuer 0.25,0.25, 0.75

    Thats all the secrets. I belive its works only for this scene but is "good start" for us. BTW scene is 40 fps with max quality. Quality settings totally standard without VSync and Antyaliasing.

    TX !

    Skybox :) Viking village (HDR version)


    Yep, look up and Birds flock by Unlock. Now we prepare to use (AMAZING MUST HAVE) Substances :), and Alloy maby RTP but ... still have some strange problems.

    Yep ... look up

    Feel free to ask question :)
     
    AdamGoodrich likes this.
  24. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    302
    I'm just back so i just did it now and you are right about this, then i will improve the "communication" there in Unity hopefully the most sooner as possible! i'm thinking of this since long time but before i was always hesitating or being busy on my work (even if its a part of my work!!)...to me now to find the right way for doing it ;)
    Cya!
     
    kurotatsu, S4G4N and twobob like this.
  25. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    Playing with character setups so that i can refine scale and spawning and just for fun :)

    Grab 20160107145745 w1900h1200 x-6y81z23r14.jpg

    Grab 20160107145020 w1900h1200 x-2y79z9r52.jpg

    You ever get the feeling someone is watching - new camera FX setup in Gaia.

    Btw. A massive thanks to both @Olander and @TerrainBuilder for their very practical guidance and input on this. Also had some great feedback from @tango9jeff today and some awesome guidance on 3rd person character setup from @kurotatsu. Next release will be much better thanks to their collective input and it is very much appreciated!
     
    Last edited: Jan 7, 2016
  26. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Awesome!!!
     
    AdamGoodrich likes this.
  27. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    770
    Just to add to this a bit, I recently decided an existing 1000x1000 terrain needed to be expanded to make room for some new things, but didn't want to toss out all the work that had already gone into it. I exported it to Raw, made a stamp from the Raw file, created a new 2048x2048 Gaia terrain, scaled and positioned the old terrain stamp where I wanted it on the new terrain, and stamped it. The only apparent difference now is that my terrain extends out farther. :)
     
  28. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    A simpler work flow is simply to create a scanner and drag the terrain object onto it. Will do the same thing with less steps :)
     
  29. RonnyDance

    RonnyDance

    Joined:
    Aug 17, 2015
    Posts:
    557
    But you will have to populate the terrain again isn't it? With grass, details and so one because the stamper only gets the old heightmap of your small terrain. Everything that was spawned on it needs to be spawned again.

    @AdamGoodrich
    Thanks for the Perlin Video this makes the perlin function really clear to me. Are you also planning to add a "RTP Button" like the 3rd Party Asset Button that you are adding to the current new version now like Tenkoku etc? Pretty sure a one button adding function also for RTP like for the assets you are working on would be pretty great. But I dont know if it's that simple like with Water, Time / Day Cicles etc.

    What I am also wondering as a terrain noob. Where can I change the density of the grass? If I see the nice screenshots of everyone here I see so many nice grass together. But for example using the GaiaDefaultRessource is not planting so much grass together so you see a lot of ground textures instead of grass fields.

    Another thing. Is it possible to download the documentation from a link? I never saw a link for the docu and right now I can only find it in the Gaia asset itself. But sometimes it's getting boring on my work and I would like to read the documentation without having unity and the asset if you know what I mean ;)

    Cheers and thanks!
    Ronny
     
  30. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    770
    Ya, I noticed a comment here about doing it that way after I'd done it the other way unfortunately. :oops:

    I'm still very happy with the results, and am now using Gaia to polish the whole thing while waiting for some of the other goodies in the next release. I've added a nice volcano, taken from a DEM of mount Mayon in the Philippines, and used stamps to improve some of the outlying islands and seabed around my main island. I want to apply better erosion effects everywhere that won't affect existing paths and mesh placements, but I'm not sure of the best way to do that yet. I'm thinking I need to make a mask of areas I want to leave alone, and then do something height and slope based to the rest, but that's about as far as my current understanding of Gaia has taken me so far. Any workflow suggestions would be welcome though. ;)
    Right, but my old texturing and vegetation was crap compared to what Gaia can do, so I won't miss it. That's why I'm waiting for the next release before finalizing the details, so I can take advantage of some of the new resources that will be included. :)
     
    Last edited: Jan 7, 2016
    AdamGoodrich likes this.
  31. CWolf

    CWolf

    Joined:
    Oct 24, 2011
    Posts:
    106
    This asset looks very good. Seems it's very high quality.

    Just a quick question, @AdamGoodrich. Is it possible to use Gaia purely at runtime? Does it have all the suitable scripting hooks and does it only use UnityEngine code (and not UnityEngine code)?

    Thanks!
     
    S4G4N likes this.
  32. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    That's getting to be my bugbear at the moment :) I'm considering various options on the asset store and finding it hard to pick from those offered by Opsive, Invector or ootil.

    (Currently using the 3rd person controller that comes with Unity5)
     
  33. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Just 5 words "Motion Controller & Adveture Camera" you will not be disappointed.
     
    Adrad, TheSeawolf and AdamGoodrich like this.
  34. UltraTM

    UltraTM

    Joined:
    Dec 8, 2013
    Posts:
    221
    is an update allready submited to the Asset Store?
    would love to test it out.
    maybe could get it also via contact with invoice number hopefully.
    Asset Store takes sometimes so long
     
    Last edited: Jan 7, 2016
  35. Daniel-Talis

    Daniel-Talis

    Joined:
    Dec 10, 2011
    Posts:
    425
    We live on a sphere. Has anyone successfully wrapped a terrain seamlessly around a sphere?
     
  36. Hans

    Hans

    Joined:
    Feb 20, 2007
    Posts:
    422
  37. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    Have always been curious as to how well this worked... a ringworld style terrain would be very cool :)

    I set this up yesty with @kurotatsu help. Was surprised and delighted. Great set of assets from ootii.

    I am working on it... it may or may not make this release - the challenge is the location of the assets (which need to be in resources directory to be accessible at run time) and the many different ways to get access to them. Ideally you will just pass a session and it will just run.... I have made stamper load and run at runtime - but getting all the pieces to play together nicely is a fair bit of work. Really wish Unity had been more consistent to their approach to asset management.
     
    CWolf, turboscalpeur and kurotatsu like this.
  38. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    My approach to this is aim for a certain feature set and then push to hit it. However, I will not intentionally push out releases that I know are broken, would rather delay and deliver quality. So I am hoping in the next few weeks.

    I am very excited about the new release. It really does take it all to another level, and I appreciate everyone patience.
     
  39. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    As I said with the original release and I think most will agree that I was right about it, the update is definitely worth the wait. Adam has done an awesome job with the new features and definitely like he said, the update takes things to a whole new level.

    Keep up the awesome work Adam!
     
  40. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    It may be nice but I'm a little dubious to need two pieces of software, unless the camera asset is an improved version of the one that comes with MC. As long as the camera in MC doesn't clip into terrain/meshes that come between it and the player then I'd be happy
     
    Last edited: Jan 8, 2016
  41. Licarell

    Licarell

    Joined:
    Sep 5, 2012
    Posts:
    434
    @AdamGoodrich So looking at this at a distance... are you also adding other 3rd party elements to your spawners like emerald AI for animals and birds NPC's etc?
     
    AdamGoodrich likes this.
  42. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    You can drop any prefab into your spawner that you want - so if you happen to own Emerald AI and the right animal assets, then Gaia will happily spawn them.

    Here is a video I did some time ago - it uses a range of different asset packs. The animals were controlled by Emerald AI, but spawned into the scene by Gaia.

     
  43. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    The orbit camera that comes with MC, is solid. It just doesn't have the targeting function, and zoom.

    Tim built his assets to play together nicely, but each one is dedicated to it's task, and is the best at what it does, if that makes sense.

    You might not need targeting, but I did for shooting my bow and grapple.
     
    Last edited: Jan 8, 2016
    mwituni and AdamGoodrich like this.
  44. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    So... I was playing with Curved World which is on sale on the asset store today.. been looking at it for ages and wondering what would happen if you combined it and Gaia. Here's what the new Gaia Random Terrain feature plus about 30 mins of playing (mostly spent learning Curved World) can do. Pretty cool!

    Grab 20160108112413 w1900h1200 x19y45z-54r337.jpg Grab 20160108112508 w1900h1200 x-106y34z17r116.jpg Grab 20160108112841 w1900h1200 x-179y93z114r2.jpg Grab 20160108113129 w1900h1200 x-20y42z500r338.jpg
     
  45. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Only problem with shades like that is they have to go in everything. really complicates things, but anyway - looks nice
     
  46. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    770
    Actually, for the classic Niven Ringworld, flat probably works better. The thing is huge: 1.6 million km wide, with a radius of over 150 million km. A puny little 2kx2k or even 4kx4k terrain would appear essentially flat. I did one myself by making a cubemap image of a 3d scaled ringworld model from "ground" level, and using it as a skybox. Of course for smaller space habitats, there could easily be a visible horizon curve, so a curved world would work there.

    Incidentally, now that you have Motion Controller, walking on a physically curved world is now possible as well. :)
    ...but it does still clip into terrains and objects. To get the anti-clipping feature, you still need the premium Adventure Cam Rig.
     
    Last edited: Jan 8, 2016
    kurotatsu and AdamGoodrich like this.
  47. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Yup.. Motion Controller not really a camera asset. The cameras have some basic functionality beyond standard camera but Adventure Camera is a full blown camera asset that ties in well with the rest of the framework. MC + ACR is the solution I'm currently using and I have yet to have the adventure camera rig clip.
     
  48. Daniel-Talis

    Daniel-Talis

    Joined:
    Dec 10, 2011
    Posts:
    425
    This is nothing short of amazing. Apart from the cool visuals, how much of a curve is it on, is it a sphere?
     
    Last edited: Jan 8, 2016
  49. CastleIsGreat

    CastleIsGreat

    Joined:
    Nov 10, 2014
    Posts:
    176
    Hi Adam,

    I am currently super pleased with Gaia, however I'm still not sold on gaia's stamp system as it does not really support tiling, and I am not very good at using it. Additionally because I'm bad at using gaia's stamper its just simply easier for me to plan out a seamless pretty world of terrains using world machine...

    HOWEVER I am a major fan of the spawner system in gaia, I believe it could seriously save me some time adjusting in game texture spawning criteria and then the grass and rocks and what not on top of that... I was wondering if you could help give me ideas on the process I plan on using and if something wont exactly work to point out why:

    Take a pre-existing terrain (one that I created using world machine's tiling feature for example) and set up the spawners to change textures and resources on that terrain.

    The current way I intend to do it, would be to import the height maps, into the scanner, and make a stamp from them. Then for 16 separate tiles apply the spawner criteria I've set using a resource file, spawn in everything get it all set up... and finally I'd save the terrain data, and repeat all over again with the next tile.

    If anyone else has ideas also feel free to chime in.

    - Castle
     
  50. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,777
    I did a bunch of things - Curved World makes it easy to try out all sorts of settings.

    Yep - Gaia is pretty flexible - imho we should all be using the tools that we are most comfortable with.

    Yeap - Just disable all but one tile - hit fit to terrain on the spawner - reset and then spawn. Then select the next, enable it, and so on. Its sort of inconvenient - but then again its way more convenient than doing it manually :)

    No need to make stamps out of them - just get in and to it to what TC creates for you.
     
    BackwoodsGaming likes this.