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

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    Excellent--thank you! My work process involves using DEM data from an old freeware program in order to give me a good starting point for building my terrain. I then export from that program to World Machine and after some erosion / gaussian blur and a few other bits, I end up with .r16 which I can then bring into Unity via Gaia's Scanner utility. This works almost flawlessly.

    Cheers! :)
     
  2. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Out of curiosity, why are you converting it to .r16, bringing it into Gaia to get into Unity. Can't WM just export straight to Unity and then you just use Gaia to populate it with spawners? I think maybe you are adding a couple extra steps there you might not need. I'm not a WM user but I think there remembering a direct way to pull into Unity before Gaia came along. :)
     
  3. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Sometimes it is nice to bring it through the scanner. You can then make a stamp and scale and smooth it nicely. :)
     
    BackwoodsGaming likes this.
  4. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Scanning R16 from WM to create a stamp is best way to do this. You could import direct as a windows raw - but then you lose a lot of the power of GAIA.
     
    Last edited: Nov 11, 2015
    Pequisto and BackwoodsGaming like this.
  5. Pequisto

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    I thought I could actually skip the WM step completely but the issue comes down to the meters-to-pixel issue when I grab the DEM data. For whatever reason, importing directly to Unity does not give me a smooth enough heightmap regardless of the resolution. It appears extremely block-like and smoothing the terrain in Unity seems to take too much of the "natural" look and feel out of it. I have yet to find a better workflow than DEM data --> WM --> Unity (via Gaia Scanner).

    World Machine also allows me to add other effects to the terrain (ie. erosion, thermal weathering, glacial scraping) that I otherwise wouldn't be able to or know how to within Unity.

    I know that TerrainComposer / WorldComposer is capable of being a one-stop-shop for all of that but for me, personally, it's all about sticking to what you know. ;)
     
  6. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Exactly why I use World Machine. I love the weathering and erosion features. :) I think it is fine to use the tools that work for you. One does not always fit all. I almost always make my terrains in WM, play around with them in Gaia and then back into WM for some weathering. :)
     
    Pequisto and BackwoodsGaming like this.
  7. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Yup.. I understand the benefits of using WM.. What I wasn't understanding was why you were using to Gaia scanner to bring it into Unity since you could just pull directly from WM into Unity. I know Adam created a lot (if not all) of the stamps with WM. But those are mostly small features and not complete, pre-built terrains. Just didn't understand the benefit there. But Adam and Teila explained it.

    I love the output I'm seeing from WM between the stamps Adam has made and some of the terrains I've seen from Teila. I just wish I could wrap my head around it enough to use it. Thankfully I have Gaia now and can utilize stamps folks make and share from WM. Hopefully that will be enough for now... heheh
     
    Pequisto likes this.
  8. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    The idea IMHO is to use the best tool for the job at hand. Most tradesmen have more than one tool in their kit and this is no different - there is such a multitude of different needs, ideas and work styles out there.

    Gaia will never be TC nor WM and is not trying to be, but will happily work with them. It is also the baby in the group - and I have a lot of ideas and plans for it, which are heavily influenced by the feedback here.

    The key drivers behind Gaia are ease of use, gorgeous output, flexibility and extensibility. We have a good starting point and the next release - due soon will address some of the recurring themes I have seen here.
     
    S4G4N, Pequisto, Teila and 1 other person like this.
  9. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    I stole @kurotatsu's dungeon generator idea but instead of a dungeon layout I drew a simple race track in photoshop like this:
    race-track.png

    An asset I own just got a racing game template. My plan is to use Gaia to make my tracks and the things in the background and then throw 'em in the template.

    After I added the initial track I used that same image as a mask to add more terrain features everywhere there was no road. Only a minor problem in that the road itself is a bit bumpy, I may smooth it out by hand but I'll bet there's a less tedious way to flatten it more. Anyone have any ideas on that?

    Here's what the track looks like:
    race track simple.PNG

    From the car's perspective (I'm just using the Car from the Vehicles Std Assets and the Multipurpose Camera Rig from the Cameras Std Assets):
    in game.PNG

    The walls are a little too high for my tastes (can't see outside the track, really) but I don't want it too low so the car flies out easily, I'll have to tweak it more I think.

    This idea took about 20 minutes on the subway this evening to bang out. This tool rocks.
     
    Pequisto, Mr-Logan, S4G4N and 2 others like this.
  10. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    I'm a little embarrassed to show that off given all the amazing shots I'm seeing in the thread :)
     
    Mr-Logan and S4G4N like this.
  11. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Hey, it is a unique way to use Gaia. I think it is very cool!
     
    Mr-Logan likes this.
  12. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Loving the creativity :)
     
  13. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Don't be.. It is awesome to see different ways folks are coming up with to use the tool. Sharing those ideas help others think outside the box.. Love your idea!
     
  14. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Well done, just keep refining the idea, I think you are on the right track....yeah, bad pun,but fit.
     
    closetgeekshow likes this.
  15. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    I seem to be having an issue.
    What I wanted to do was to have a go at redoing the spawning of details and trees. If I clear the details or trees and then try to spawn again nothing is spawned, so the details and trees are all just gone.
    If I try to look at the Visualiser I get this error.
    Does this mean I can't respawn on this landscape? I wanted to avoid having to try and recreate it again from scratch if possible. I mean it is still working in the scene.


    NullReferenceException: Object reference not set to an instance of an object
    Gaia.ResourceVisualiserEditor.OnSceneGUI () (at Assets/Gaia/Scripts/Editor/ResourceVisualiserEditor.cs:221)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    UnityEditor.SceneView.CallOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2001)
    UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:1359)
    UnityEditor.SceneView.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:1192)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
     
  16. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Usually what that means is you don't have your Resources file selected in your spawners. Did you follow the docs and videos for setting things up? Make sure that the Resources field up at the top of your spawners are pointing to your resources file in your project.

    Also, there are actually two steps required to clear trees and details. You have the clear buttons which clear them from the terrain, but you also have the reset buttons on the spawners themselves. If you clear trees without resetting too, Gaia still keeps the old counts and may not spawn anything else. Unlike Game Objects, Gaia doesn't have total control over the trees and grasses. For those it partners with the Unity terrain object and the clearing is actually sending a command to the Unity terrain. The reset then clears the trees from Gaia. With the GameObject spawner, you'll notice children under the spawner after you run your spawn. These are the actual game objects which were spawned. So when you reset Game Objects, it actually clears AND resets them. For the most part all of the spawners have very similar functionality. This being probably the only major difference. So always remember if you are clearing trees and grasses to both Clear and then go to the Tree and Detail spawners and click Reset.

    Without seeing screenshots of your spawners, that is my best guess tho as far as the missing resources.

    EDIT: Actually if you have a visualizer object in your scene, click on it and make sure IT has a Resources object selected. (second field from the top)
     
  17. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I have done some work in next release to stop these issues from happening - you do have to select resources - but at least now when you don't it will let you know what you have done wrong. There will be lots of little usability fixes like that in next release.
     
    Mr-Logan and BackwoodsGaming like this.
  18. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    Taking a look at it now, but somewhat confused. I actually did not change anything from the default spawners. The resource file reference is still there. The only thing I did was to change a texture here or there on the actual terrain object, but I am happy for these to be cleared by the clear and respawn process as I can just swap them again after.

    Does this look wrong?
     

    Attached Files:

  19. blockimperium

    blockimperium

    Joined:
    Jan 21, 2008
    Posts:
    452

    I'm going back and forth between this and Unistorm. Both look excellent. Sky Master has volumetric clouds - which I love, but don't believe will work well on mobile :) I spent a lot of time looking at Time of Day, but I need something that handles a bit more on the weather front. Time of Day looks great - but feels incomplete in a lot of ways because of the lack of a weather system.
     
  20. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Looks good to me from what i can see - the image underneath seems to show a successful spawn - was that prior to making your changes ?

    The other thing that would explain not getting anything spawned is your layer selector. You need to make sure that the layer the terrain is on is also selected in the Collision Layers field.
     
  21. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    In your click on the resources object up in the spawner. It should highlight the file it is using. Go click on that file and look at it in the inspector. If you changed the stuff on the terrain, resources is still trying to spawn the old ones and can't find them. You have to click the Get from Terrain button in order to sync the changes you made on the terrain object.

    Also, there is a setting you can make in your Project Settings that will get rid of those screwy numbers that show up in place of names... Let me dig and find it and I'll post the fix for that here too...
     
    AdamGoodrich likes this.
  22. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    Bam! Thanks Adam. That was it indeed. I had changed the collision layer to suit the application when I first created the landscape.. So long ago.. ahem at least a week.. So I was able to hit spawn a few times on the detail spawner and more grasses appeared, so I would say working now. Thanks.

    Thanks Shawn67.. Appreciate the assistance.
     
    BackwoodsGaming and AdamGoodrich like this.
  23. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yep - one of then is a valid warning - the other two are bogus - eoither
    One is valid - fixed - the other two are bogus - the values are set in the editor - either way in next release all warnings are squashed :)
     
  24. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Cool - this is a relatively common issue - so i will be including code to compare your selection to the terrain in the next release and show a warning in order to stop the next person from having the same issue.

    The reason for this is to allow complete customisation of how and what you want Gaia to respond to. in 98% of cases you will never need to change it.
     
  25. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Awesome! I had similar issues with renaming the terrain layer during beta but I was having problems with just spawning. At that point I don't think the visualizer had been born yet. lol

    For the weird names thing with it showing numbers instead of the names, I've had this problem in several assets in addition to Gaia including Suimono and Environment Gator. The way I fixed it was to go into Edit -> Project Settings -> Editor and then look at your inspector under Asset Serialization. If I change that Mode to Mixed, the numbers go away. It may take saving your project, exiting Unity, and reloading to see the change. But that has worked for me every time.
     
    AdamGoodrich likes this.
  26. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Lovely!!

    How did you put the animation together ? I want to so one of those 'great scene sped up' type videos :)
     
  27. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Fixed :)
     
    Mr-Logan likes this.
  28. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Texturing works via a layering approach...

    In the default configuration that I supply, the base texture wipes the entire terrain..

    Then each texture is painted over the top of it... in the order they are defined via the spawn rules.

    It seems likely that you don't have a rule that paints over the base at that location. Check the documentation on this. I will also provide a video just for this soon. Also check the default resources that I supply for an example of how to do this.
     
    Mr-Logan likes this.
  29. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gaia can plant any object - from textures to details to trees (unity and speed tree) and game objects.

    This is all done largely the same way via the spawning system. Once you get your head around it for one, you pretty much have it for all.

    I can't comment on TC - there are however a bunch of other TC users in this forum.
     
  30. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    I need the serialization settings set to force text to make backup easier as you only need Library and Assets folder.

    I do have another question though. I seem to always get a lot a pretty much just plain black grasses produced. I'm not really seeing these in images posted. I wonder what I am doing that might be causing this. Any ideas?
    upload_2015-11-11_14-45-26.png
     
  31. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    I have similar issues with trees, grasses, and the included houses if I just run after spawning without baking my lighting. It could be that your lighting is still baking (if you left auto on in your lighting) or you haven't baked manually after doing your spawn (if you turned it off).. Could also be shader issues depending on grasses/objects you are using. But for me it was the need to bake my lighting.
     
  32. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    Was it on Discount ? for it is not indicating any discounted pricing or any kind :)
     
  33. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    I am not using pre-baked GI as it conflicts with TOD dynamic control I believe. I am not sure that is my problem anyway as even a light shone directly at it will show it as black still. So may be a shader thing I guess, but these are just standard Unity ones for grass, right?
     
  34. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    The sales pages says this
    **************************************
    Discounted price until v3.0 release !!! (normal price $90).
    **************************************
     
    S4G4N likes this.
  35. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    thanks for the reply, must have missed that :)
     
  36. MarcusWatson

    MarcusWatson

    Joined:
    Dec 9, 2014
    Posts:
    53
    If you PM nasos_333 he's got some mobile packages available so you can try out the version 3 beta functionality.
     
  37. Deleted User

    Deleted User

    Guest

    Thank you :)

    i simply make screenshots from my progress with a fixed camera angle and put it together in Photoshop as a GIF. (frame animation)

    Basic Terrain -> Screenshot -> Stamp -> Screenshot -> Adding Fog -> Screenshot.. you get the point :)
     
    BackwoodsGaming, S4G4N and Mr-Logan like this.
  38. Pequisto

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    Gorgeous.
     
    S4G4N likes this.
  39. ZenMicro

    ZenMicro

    Joined:
    Aug 9, 2015
    Posts:
    206
    I have a question and suggestion and some feedback. Seems making changes to the terrain height after GAIA has done it's thing can bring up some errors (Not matching height though i tried to set things to match what it said but i think GAIA was not updating those changes - and I got an error when trying to spawn detail that caused me to have to restart Unity to carry on and be able to run my game to do other things - sorry I didn't record the message)

    As i am needing to now carve rivers and later maybe do some Terrain Holes with RTP which may be straight downwards - although probably straight down can be handled by Height maps (terrain holes is probably most useful horizontal due to the nature of height maps) but my terrain was created at zero base height i think.

    Could there be a default setting to make a terrain at say 50 high or 1/2 or something flexible to allow change later? Seems ground zero is the lowest you can go (not negative) I've moved the terrain up but it caused a number of issues with the existing spawners and objects not updating. So perhaps a setting in GAIA to adjust base height later with it updating all it's own settings and spawners is worth a thought?

    In general my thought is that with the Resources and Defaults files not maintaining their status after restarting Unity that this is causing a lot of the issues. I think i ended up having a few different Resource files attached to different spawners from the default to a couple i had made as i simply did not check these things when starting it up.. so not sure what resource file has what in it.

    I just want to open GAIA and work with one set of files... it's only natural i think. I know you are aware some of us have tripped over this part so look forward to that being sorted.

    Testing by starting a new project and creating a new set is one thing but when you get down into it and mess around with everything as you do when tweaking.. that's where the problems arise.

    So to Summarize:

    1. Resource/Defaults files stay the same (Auto)Save/Load so we don't have to consider them again until we desire and expand to multi-terrains (when that is supported) and want to use a different set of textures or so for that (Set and Forget)

    2. Auto Refresh or a refresh button that when clicked will update any changes to the underlying Unity terrain etc and take care of itself and the spawners etc (maybe even offer to re-ground objects or suggest a respawn)

    3. Base height.. not too sure the best way or limitations, I just know i need to raise my terrain manually now to allow going underground and it's cause a number of issues or me.


    Food for thought, I hope this is seen as constructive feedback. The scene I have created is getting there and i'm focusing on making game stuff happen... will redo the terrain again i'm sure when i get a chance.

    A note on RTP... It can change a lot of things about the terrain that can confuse things if you are not fully familiar with it all (The tessellation of the terrain (DX11) is an awesome feature but be aware if you use the GAIA smooth tool, you won't see a change until you update the Tessellation Height & Normal Maps in RTP - I noticed the terrain looked the same (jagged) but the collider was smoothed out and not matching what I was seeing.. ie. the height map until i updated it).o_O

    EDIT: Now With Easy Reading Formatting!
     
    Last edited: Nov 11, 2015
    Pequisto and Mr-Logan like this.
  40. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Hehe. I think you should also end the post with a tl;dr as I think your summary was almost as long :) Some good points raised
     
    Mr-Logan likes this.
  41. ZenMicro

    ZenMicro

    Joined:
    Aug 9, 2015
    Posts:
    206
    Sorry end it with a what? tl;dr what is? But yeah i had to stop myself as I could have shared more... :p
     
  42. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
  43. ZenMicro

    ZenMicro

    Joined:
    Aug 9, 2015
    Posts:
    206
    Story of my life... nobodies listening lol... That's why i go and do everything myself (but not enough time haha) I'll go back and try BOLD some points, will that help those with a short attention span?
     
    Daniel-Talis likes this.
  44. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    You didn't have to as I'm sure Adam reads all comments in this thread and is willing to consider suggestions for improvements and/or new features :D
     
  45. ZenMicro

    ZenMicro

    Joined:
    Aug 9, 2015
    Posts:
    206
    Well i hope i'm not boring anyone... too much detail or not enough.. there is a line i know but trying to be helpful. better than "Can't get to work" lol.
     
    Daniel-Talis likes this.
  46. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    It is kind of a catch 22, Zen... Finding just the right amount to post is a game in itself... heheh

    Some good points there. As you get to working more with Gaia, you can better plan things out to avoid what you ran into. That is one of the great things about sea level. Raise it high enough then raise your terrain accordingly and you should have enough height to burrow rivers, canyons, or whatever. Caves are a bit tricky because all the solutions seem to use special shaders. This is an area I need to look into more. I used Terrain Hole System during beta. Think it was back in August. I got it working but it had some issues of its own and since then there have been several posts regarding it not working with recent Unity updates, most likely shader errors. Would love to see some examples when you get it working with the RTP hole method. But at any rate, to be able to do that takes pre-planning and knowing you will need/want the ability to do that from the beginning. I know the spawners work off of sea level which is calculated from the bottom of the actual terrain object, not the base level. So if you raise your terrain 50 units higher within your terrain object, maybe try increasing your sea level setting in your resources object by 50. That should correct the spawners so they are operating off the right height level. Basically if you sea level is 10 and you raise your terrain 50 units, your spawners are still seeing your sea level at 10 and are trying to spawn below your terrain. Hope this makes sense. :)
     
  47. runningbird

    runningbird

    Joined:
    Sep 3, 2009
    Posts:
    382

    Good idea and use of Gaia.

    The more ideas that are shared the more creativity it will spark in others to create great things.
    Sometimes the best things come from one simple idea.
     
    S4G4N likes this.
  48. Pequisto

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    I know the visualiser is CPU-intensive but is there some way to move that slider beyond 50?
     
  49. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I will all this to be bigger in next release. You can make area smaller as well to reduce load.

    What are you running on - its generally not that cpu intensive :)
     
  50. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Looks like my game world is going to be stuck in permanent autumn now that I've got some of the Speedtree variants for the seasons :D

    screenshot104.jpg

    screenshot105.jpg

    screenshot106.jpg

    screenshot107.jpg
     
    Rick-, tapticc, Fenris2 and 6 others like this.