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

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    It's no biggie now that I know where to rebuild it, took me a while to remember the first few times.
     
  2. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Not sure if I am using it correctly but this forest based tile was created by using the transform height set to a constant 0.5 line and I didn't normalise the stamp. I am still unsure how I would create a set of stamps that not only have the 50 sea level ( easy change to make ) and the beach level ( for coastal regions ) but needs to have a base ground level ( similar to how crowfall did ) to keep the edges of the terrain blocks at a consistent level so that I could place the grasslands terrain I posted earlier next to the forest terrain and it would be seamless due to the same base height.. Or is it really the case of having a massive for loop to set the base height on the outer regions of the terrain to the value I want to use or *shakes head in realisation* is it simply the base level setting on the stamper that needs to be set to a constant value dependant on what height you want that tile based from.

    Anyway, here are some screen shots of the forest scene.

    Grab 20170718001652 w1847h1039 x453y124z186r358.jpg Grab 20170718001654 w1847h1039 x454y124z186r151.jpg Grab 20170718001657 w1847h1039 x453y124z186r266.jpg
     
  3. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Hey @Xrystal. Drop me a PM and I will add you to Skype. You have been such an active user in the forum have been meaning to do this for ages. I would PM you but it seems to be disabled.
     
    turboscalpeur likes this.
  4. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    I'm not a Skype person, I used to use it but found it a bit extraneous with forums, facebook and email perfectly fine for the amount of contacting I do :) I think I have turned PM capability on for you ( Conversations isn't it ? ) but I tend to flit around doing stuff around the house in between computer work rofl so could be quiet for an hour or two at a time rofl.
     
  5. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    An interesting new integration is coming to Gaia soon! David Miranda's Fog Volume 3!

    This is a standard Gaia scene (including samples buildings and props from Village Exteriors Kit, and sample grasses from some of Turboscalpeurs grasses), + CTS and one of the profile presets, + AQUAS + Fog Volume 3!

    The Gaia integration will make getting skies and atmospheres like this a simple 1 click operation!

    Grab 20170718153735 w1822h1084 x130y67z0r116.jpg

    Grab 20170718154310 w1822h1084 x110y65z-132r35.jpg

    Grab 20170718154400 w1822h1084 x332y73z7r31.jpg

    Grab 20170718154552 w1822h1084 x185y65z125r143.jpg
     
  6. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    Hi Adam,

    I see that the 1.6 patch has hit the store and on the patch notes I see these two

    • Configured speedtree for instancing
    • Configured terrain for instancing

    If you don't mind me asking could you please elaborate a bit on what you've done with these two ? Like what settings change or have you done anything programatically to ensure instancing ?

    I've followed your previous articles on the speed tree instancing and it didn't really work for me and I wonder why. I am sure my hardware is capable of handling it. I am running on a 4th gen i5 4590 on a R9 290x GPU with 8 gigs of DDR3 ram.

     
  7. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    Hi Adam,

    This is not a Gaia question per say so I apologize to you in advance for what I am asking you :)
    I've had my eyes on fog volume for the incredible sense of realistic clouds it brings. I have one question though and I am sure you must have tried this out so no better person to ask than the landscape/weather/etc/etc integration guru.

    Does fog volume stack up well with Enviro ? I am using Enviro for weather control but I would prefer to use fog volume for cloud and cloud rendering, but not sure if the two would go well together. I am sure I will have to play around with the enviro events to make sure a certain amount of compatibility is achieved, but was just wondering. Any issues with layers enviro uses and things like that :)

    Regards,
    evilangel89
     
  8. llJIMBOBll

    llJIMBOBll

    Joined:
    Aug 23, 2014
    Posts:
    578
    For speedtree instancing, disable light probes on the speedtree model in each of the materials, disable light probes for trees on the terrain and disable static batching on the prefab if you have one
     
    Mark_01 and AdamGoodrich like this.
  9. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    We have started discussions.
     
    evilangel89 likes this.
  10. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    I can't remember if I disabled light probes. I remember turning off static batching on the prefabs. hmmm. thanks. I'll check it out again.
     
  11. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Well, think I found the right starting stamp to get an almost straight edge and can see I need to work with the visualiser more to see why textures aren't being placed where I expect. This one was a little better due to some visualiser work.

    volcano.png Grab 20170720034015 w1847h1039 x-640y193z-438r40.jpg Grab 20170720034226 w1847h1039 x89y271z-576r200.jpg
     
  12. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Fog Vol 3, Gaia, CTS - this is all procedurally done.. blows me away a little!

    Grab 20170721133731 w1920h1029 x359y76z-43r29.jpg

    And FV3 integration progressing well - the hard bit coming up - clouds!

    FV Wip.jpg
     
    TeagansDad, radimoto, Mark_01 and 5 others like this.
  13. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    And the clouds... playing..

    Grab 20170721181302 w1920h1029 x-91y83z-206r222.jpg

    Grab 20170721181753 w1920h1029 x110y99z-184r240.jpg

    Grab 20170721183211 w1920h1029 x-53y121z-25r226.jpg
     
  14. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    305
    Hello,
    I just installed Gaia 1.6 on Unity 2017 1.0f3 and the buildings do not appear. They are however present in the Hierarchy.
    I followed the tutorial provided (1.5.3)
    Thank you
     
  15. thatsgerman10

    thatsgerman10

    Joined:
    Dec 15, 2015
    Posts:
    16
    Hello,
    Just got Gaia and have watched some tutorials and playing around with it and really loving the tool.
    One question I have is what is your suggestion if I wanted to make a sea-side terrain(3 sides mountain, 1 side ocean)? I've been using mountains with low height on inverse which provides ok results, but would want something that I can use on procedural generation.
    Thanks!
     
  16. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Are there rocks there, or another physical object ? The Game Objects is a random selection ( based on ruleset for placement ) if I remember rightly and can be any prefab in the list, not just the houses. If nothing is there at all perhaps the rules failed for that position, but following the tutorial before I had not noticed anything untoward although I didn't check every object to make sure they appeared.

    Any particular positioned object not working ? If you do the tutorial again does the exact same thing happen ? A similar thing ? Or does it work find this time around ?
     
  17. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    You need to make sure your terrain has flat places for them. If the area is too steep then they wont be selected.

    Yeah - this wasn't a scenario i coded for in the automated scene generator. You could need to place the stamps either manually or via code. The stamp placement code is simple enough and you can look at RuntimeStamper for more an idea of how to do it.

    G1 wasn't really set up to play 'nice' for code based generation, however G2 will be. That said the code is pretty well documented and not difficult to get your head around.
     
    Mark_01 likes this.
  18. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Well still trying to figure out if I can get Gaia to set a base ground height as well as the sea height but no joy yet, despite using the same base tile to create the initial ground level.

    But here's my lake forest habitat terrain.

    Grab 20170722030304 w1847h1039 x0y118z-830r359.jpg Grab 20170722030310 w1847h1039 x0y118z-830r232.jpg Grab 20170722030340 w1847h1039 x77y118z-610r356.jpg Grab 20170722030344 w1847h1039 x77y118z-610r67.jpg Grab 20170722030346 w1847h1039 x77y118z-610r317.jpg
     
  19. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    There are a couple of ways to do it - under Utilities use the terrain height adjuster. Do this first though as it will smash anything you have there already.

    Or use the "For Masked Stencil" stamp in the Adhoc Stamps directory, then in your stamper select Stencil Height and select the appropriate height plus or minus, and it will raise or lower the entire terrain by that amount while preserving anything there.
     
  20. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Ah, will give this a go again. Think I may have tried one or both of these but not 100% sure.


    Edit: The Utilities Terrain Height Adjuster option worked perfect, but the moment I try and add another stamp to add features it either places raised straight edges in the middle of the terrain where the heights are different or it creates raised/lowered edges which I didn't want to have. I tried blend mode, distance mask and area mask. I guess I need to play with the stamps a bit more to get it to work the way I want :)

    Edit 2 : Looks like maybe just the Blackwood Gaming stamps aren't working with my idea .. disappointing as they are great but I guess I will have to reserve those for the smaller landscape scenes and not the planet sized procedural landscape scenes. Or I create versions of the stamps that work for me.

    Edit 3: Note to self, make a note of the value entered in that height adjuster so you can use it on other terrains to make them level.
     
    Last edited: Jul 22, 2017
  21. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
  22. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    So, recommending Fog Vol. 3? It looks great.
     
  23. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    OK, too late, I got Fog Vol. 3. But what version of Unity is everyone working with? I have a project done in 5.4.3f1 that I need to upgrade.
     
  24. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    You might want to see what has changed in Unity since then to make sure nothing else in your project is affected. However, Unity 2017.1 works fine with Gaia 1.6.
     
  25. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    OK, thank you for replying, here goes.
     
  26. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    I got the integration working yesterday and have sent it to the author for review.

    It is still a little rough but will evolve rapidly now that the basic work has been done, and hopefully the author will add his magic as well.

    I will make the preliminary integration available in the next few days - still needs a few tweaks.
     
    Vondox and Xrystal like this.
  27. kerrmedia

    kerrmedia

    Joined:
    Nov 4, 2015
    Posts:
    250
    Great synergy here, thank you!
     
  28. limpbunny

    limpbunny

    Joined:
    Jan 4, 2017
    Posts:
    5
    Hey Adam,

    Great work on Gaia - it's a brilliant tool that's sped up my workflow no end!

    A few people have mentioned Unity 2017.1, and I was wondering if anyone else has had issues with fitness curves? If I try to tweak the Height or Slope Fitness, for eg, the curves don't change. Only the Visualiser seems to be broken; making changes via a Spawner or modifying the associated Resource file works fine.
     
  29. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Yeah, I made a note of this earlier. But didn't realise it was working pre 2017.1 as I didn't really play with it before now.
     
  30. limpbunny

    limpbunny

    Joined:
    Jan 4, 2017
    Posts:
    5
    Glad to hear it's not only me!

    I re-installed Gaia and tried it with a new project (in case other plugins/scripts were messing things up) but it happens regardless.
     
  31. CaptCanada

    CaptCanada

    Joined:
    Feb 3, 2013
    Posts:
    272
    How would I check that?

    Thanks
     
  32. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    I will check this today. Seems weird.
     
    Xrystal likes this.
  33. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    The curve comes up, lets you change it but then when you go back to the editor ( for the visualiser ) it keeps the original one there. It happens repeatedly for us so hopefully it will be easily replicable and the cause figured out :)
     
  34. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    305
    I have plains but the rocks do not appear either. They are also in the hierarchy
     
  35. limpbunny

    limpbunny

    Joined:
    Jan 4, 2017
    Posts:
    5
    I captured an image to illustrate the problem. Usually, any changes you make to a curve are reflected in the corresponding thumbnail, but here the Height Fitness clearly remains unchanged. Again, this only happens when using the Visualiser.

    Capture1.PNG
     
  36. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    305
    I followed the tutorial to the letter. But on page 8 I have a problem:

    8 - The go back to your STANDARD tab in Gaia Manager and click on 2. Create Spawners..then click "Spawn" on the selected Group Spawner....

    There are no "Spawn" or "Group Spawner" !!??
     
  37. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    After you create the spawners and then look at the Gaia Object in your hierarchy you will see the following objects created, these are your Spawners. Selecting them and click Spawn will spawn objects based on the settings.

    gaia spawners.png

    Are you not seeing these objects in your hierarchy anywhere at all ? Are you getting any errors when you click Create Spawners ?
     
  38. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    I removed group spawner in latest release as I found it had issues on some platforms and also disliked the lack of control it gives you. I forgot about the impact on the documentation - and will modify the documentation to reflect the change.

    The spawners are ordered in the way you want to use them... so click through each one and press the spawn button. If you want more buildings or trees etc just hit it multiple times.
     
  39. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    *slaps head* I didn't even notice the group spawner was missing rofl. Tells how much I used that :)
     
  40. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Well thanks to the Terrain Height Adjuster suggestion by Adam earlier in the week, after playing with 2km terrains I thought I would try with small terrains to see if things looked right.

    The following is made up of 9 64m terrain blocks individually created and able to placed together in any layout ( that makes sense ) :)

    Grab 20170724232210 w1847h1039 x88y53z-27r42.jpg Grab 20170724232156 w1847h1039 x29y53z38r135.jpg Grab 20170724232152 w1847h1039 x23y53z54r277.jpg Grab 20170724232133 w1847h1039 x77y55z60r319.jpg Grab 20170724232118 w1847h1039 x120y54z103r29.jpg
     
    Olander likes this.
  41. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    And this is the screenshot showing what each terrain block has been set up like.

    9x9x64m.png
     
    Mark_01 and Olander like this.
  42. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Nice. The texturing is a little too much the same for my taste. If you add a slight variation in height within your tiles then this will make it more visually interesting. Also, consider using perlin to add a little more variation.

    Argh! More Unity version madness - I tested and replicated issue on unity 2017.1.. and then tested in 5.6.2p2... and it works fine there. Happening just for the curves.

    So now to find out what is causing the issue. The real time update in the visualiser is a very powerful feature.. hope to have a fix very shortly.

    This fix will also help you @Xrystal to get some more variation.
     
    Xrystal likes this.
  43. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Woohoo.

    Yeah, I am still figuring out how to get the texures in the right places based on height and slope and it is awkward to variant the heights within the tiles and keep the edges at the same base height to line up the terrain.

    I haven't mastered the art of creating my own stamps ( if I could make stamps that look good I'd be able to make terrain by hand better than I can :) ). At the moment I have been using a few of the tiles ( that come with Gaia and what I bought from Backwoods Gaming ) that allow the ability to affect small areas at once without leaving an open gap that I then have to try and close without messing up all the existing landscape ( this has happened several times ) .

    The plan is to avoid the need to stitch edges by having the edges match. I could make patches of terrain with higher base height but then I would have the problem of trying to connect the lower height terrain to the higher ones. In a similar vein I am wary of making rivers and other features reach the end of the tiles as it would then have to connect the other end, something I am awaiting Gaia 2 for. But not rushing you as I am still just playing and testing theories and slowly learning how Gaia works.

    The idea is to be able to mix and match the tiles without the need to see if they line up exactly and correct them if they don't. Build up a collection of terrains with certain features on and then when creating a procedural terrain map it would select a tile based on the type of terrain and features to spawn there. So a set of tree covered tiles, building scattered tiles, hills, mountains, lakes, rivers etc. Then for the sea edged tiles to denote a beach on an island / continent a special group of terrain tiles would be noted as working together in a certain way to work ( will only be able to create these in Gaia 2 as it would be easier to see the tiles side by side at the same time ). And all working together in an algorithm, et voila near infinite landscape using Gaia and built at run time ( in theory ).
     
    AdamGoodrich likes this.
  44. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Got distracted - Gaia + CTS + the free integration thats coming with Fog Volume 3 - loving it. Back to work!!

    Grab 20170725094919 w1920h1029 x280y121z-373r51.jpg

    Grab 20170725091331 w1920h1029 x255y143z-934r45.jpg
     
    TeagansDad, Mark_01, John-G and 4 others like this.
  45. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    This turns out not to be a trivial fix.

    I use a particular editor technique in the visualiser to handle this, and the Unity 2017.1 AnimationCurve implementation is not detecting changes on animation curves - in fact its not even keeping them.

    Even though the curve is being changed, unity is completely discarding it!
     
  46. limpbunny

    limpbunny

    Joined:
    Jan 4, 2017
    Posts:
    5
    Erg; that doesn't sound like a simple fix. You have to wonder at why they'd change something at such a low level, especially when it has the potential to impact many third-party tools. If only you could invoice Unity for your time ... ;)
     
  47. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Oh, wonder if it has something to do with the new timeline changes, I think the animation stuff is used by that and I think the fact we've been using animationcurves for something other than animations is unimportant. Yes, lots of I thinks there.
     
  48. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    Sounds like a similar problem reported here but apparently fixed in 5.6

    https://issuetracker.unity3d.com/is...6.1740198808.1500988921-1800257848.1477977061


    Aha, someone reported it in 2017.1 and they are not going to fix it but instead posted work arounds.

    https://issuetracker.unity3d.com/is...d-as-serialized-propertys-animationcurvevalue

    And just in case the link stops working down the line and someone comes across this problem in the future.

    ANIMATIONCURVE VALUE CANNOT BE CHANGED IN CUSTOM INSPECTOR WHEN IT IS ACCESSED AS SERIALIZED PROPERTY'S ANIMATIONCURVEVALUE
    IMGUI

    -

    Jul 12, 2017

    -

    Priority: 2Necessary for shipping a final release

    -

    Severity: 3Workaround is possible

    To reproduce:

    1. Open the project, attached by the tester (curveInspector.zip)
    2. Open the "scene" scene
    3. Select "GameObject" in the Hierarchy
    4. In the Inspector, change the animation curve
    5. (Optional) Review the TestEditor.cs script

    Expected: changes for the animation curve are saved when it is accessed as a serialized property's animationCurveValue and drawn in the Editor via EditorGUILayout.CurveField

    Reproduced in 2017.1.0a6, 2017.1.0f1, 2017.1.0f3, 2017.2.0b3
    Did not reproduce in 5.6.2p3, 2017.1.0a5

    Workaround:
    - draw AnimationCurve serialized property via EditorGUILayout.PropertyField
    - get the script via target property and then change the value directly with EditorGUILayout.CurveField

    Won't fix: This has been introduced by fix for another case and there is no way to fix this unless we revert that
     
    Vondox likes this.
  49. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Nooooooo!

    Anyways i have a work around underway - but it requires a complete rewrite of a bunch of stuff and I would rather be spending that time on Gaia 2 as it will probably change. Today will see if I can find some sort of shortcut.

    In the meantime you can still edit in the resource manually and switch back and forth between the visualiser and the resource... but its tedious!!
     
  50. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,780
    Ok, so here is a work around that will make it usable:

    Go into ResourceVisualiser.cs in Gaia \ Scripts \ ResourcesSystem and change line 350 from

    Code (CSharp):
    1. void OnDrawGizmosSelected()
    to
    Code (CSharp):
    1. void OnDrawGizmos()
    Position the visualiser wherever you want it, then select your resources file and tweak that resource. It will keep showing the visualiser and changes will be made in real time as before.

    To select other resources to visualise and see it update in real time select them in your spawner and click visualise as before. Then go back to the resources file and repeat.

    You only need to do this if you are changing the curves. Everything else works as it should.